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

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

body {
  line-height: 1; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

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

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

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

* {
  box-sizing: border-box; }

html {
  font-size: 8px; }
  html ::-webkit-scrollbar {
    width: 0.4rem;
    height: 0.4rem; }
  html ::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background: rgba(51, 51, 51, 0.8); }

body {
  color: #242424;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: normal;
  overflow: hidden auto;
  background-color: #f6f6f6;
  font-family: var(--font-pri); }
  body.admin-bar .header {
    top: 3.2rem; }
    @media screen and (max-width: 782px) {
      body.admin-bar .header {
        top: 4.6rem; } }
  body .mona-empty {
    color: #333;
    font-weight: 600; }

a {
  color: inherit;
  text-decoration: none; }

button,
select {
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none; }

button {
  padding: 0;
  cursor: pointer;
  background-color: transparent; }

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.container {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 1.6rem;
  max-width: 153.6rem; }

iframe {
  vertical-align: middle; }

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

.tabBtn {
  cursor: pointer; }

.gItem {
  cursor: pointer; }

.hide-sitename {
  width: 0;
  height: 0;
  opacity: 0;
  visibility: visible; }

.no-scroll,
.no-scroll-cart,
.no-scroll-popup {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: none; }

.overlay,
.overlay-cart,
.overlay-menu {
  inset: 0;
  opacity: 0;
  width: 100%;
  position: fixed;
  visibility: hidden;
  transition: 0.4s ease-in-out;
  pointer-events: none;
  z-index: 100 !important;
  display: block !important;
  height: calc(100dvh + 3.3rem);
  background-color: rgba(36, 36, 36, 0.8); }
  .overlay.is-active,
  .overlay-cart.is-active,
  .overlay-menu.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

.row {
  --rg: 3.2rem;
  --cg: 3.2rem;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--cg) / 2 * -1) calc(var(--rg) * -1); }
  @media screen and (max-width: 1200px) {
    .row {
      --rg: 2.4rem;
      --cg: 2.4rem; } }

.col {
  width: 100%;
  margin-bottom: var(--rg);
  padding: 0 calc(var(--cg) / 2); }
  .col-12 {
    width: 100%; }
  .col-11 {
    width: calc(11 / 12 * 100%); }
  .col-10 {
    width: calc(10 / 12 * 100%); }
  .col-9 {
    width: calc(9 / 12 * 100%); }
  .col-8 {
    width: calc(8 / 12 * 100%); }
  .col-7 {
    width: calc(7 / 12 * 100%); }
  .col-6 {
    width: 50%; }
  .col-5 {
    width: calc(5 / 12 * 100%); }
  .col-4 {
    width: calc(4 / 12 * 100%); }
  .col-3 {
    width: calc(3 / 12 * 100%); }
  .col-2 {
    width: calc(2 / 12 * 100%); }
  .col-1 {
    width: calc(1 / 12 * 100%); }

.flex {
  display: flex;
  flex-direction: column; }
  .flex-8 {
    gap: 0.8rem; }
  .flex-16 {
    gap: 1.6rem; }
  .flex-20 {
    gap: 2rem; }
  .flex-24 {
    gap: 2.4rem; }
  .flex-32 {
    gap: 3.2rem; }
  .flex-40 {
    gap: 4rem; }
  .flex-48 {
    gap: 4.8rem; }
  .flex-50 {
    gap: 5rem; }
  .flex-56 {
    gap: 5.6rem; }
  .flex-60 {
    gap: 6rem; }
  .flex-68 {
    gap: 6.8rem; }
  .flex-80 {
    gap: 8rem; }
  .flex-100 {
    gap: 10rem; }
  .flex-120 {
    gap: 12rem; }
  @media screen and (max-width: 992px) {
    .flex-60 {
      gap: 4rem; }
    .flex-68 {
      gap: 4rem; }
    .flex-80 {
      gap: 4rem; }
    .flex-100 {
      gap: 4rem; }
    .flex-120 {
      gap: 4rem; } }
  @media screen and (max-width: 576px) {
    .flex-8 {
      gap: 2.4rem; }
    .flex-16 {
      gap: 2.4rem; }
    .flex-20 {
      gap: 2.4rem; }
    .flex-24 {
      gap: 2.4rem; }
    .flex-32 {
      gap: 2.4rem; }
    .flex-40 {
      gap: 2.4rem; }
    .flex-48 {
      gap: 2.4rem; }
    .flex-50 {
      gap: 2.4rem; }
    .flex-56 {
      gap: 2.4rem; }
    .flex-60 {
      gap: 2.4rem; }
    .flex-68 {
      gap: 2.4rem; }
    .flex-80 {
      gap: 2.4rem; }
    .flex-100 {
      gap: 2.4rem; }
    .flex-120 {
      gap: 2.4rem; } }

.mona-content {
  line-height: 1.5;
  color: #242424; }
  .mona-content b,
  .mona-content strong {
    font-weight: 700; }
  .mona-content em,
  .mona-content i {
    font-style: italic; }
  .mona-content h1,
  .mona-content h2,
  .mona-content h3,
  .mona-content h4,
  .mona-content h5,
  .mona-content h6 {
    font-weight: 700;
    margin-bottom: 2.4rem; }
  .mona-content h1 {
    font-size: 2.8rem; }
    @media only screen and (max-width: 1200px) {
      .mona-content h1 {
        font-size: 2.4rem; } }
    @media only screen and (max-width: 800px) {
      .mona-content h1 {
        font-size: 2.1rem; } }
  .mona-content h2 {
    font-size: 2.4rem; }
    @media only screen and (max-width: 1200px) {
      .mona-content h2 {
        font-size: 2rem; } }
    @media only screen and (max-width: 800px) {
      .mona-content h2 {
        font-size: 1.7rem; } }
  .mona-content h3 {
    font-size: 2rem; }
    @media only screen and (max-width: 1200px) {
      .mona-content h3 {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .mona-content h3 {
        font-size: 1.6rem; } }
  .mona-content h4 {
    font-size: 2rem; }
    @media only screen and (max-width: 1200px) {
      .mona-content h4 {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .mona-content h4 {
        font-size: 1.6rem; } }
  .mona-content h5 {
    font-size: 1.4rem; }
  .mona-content h6 {
    font-size: 1.2rem; }
  .mona-content p {
    font-size: 2rem;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 1200px) {
      .mona-content p {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .mona-content p {
        font-size: 1.6rem; } }
    @media screen and (max-width: 767px) {
      .mona-content p {
        margin-bottom: 2.4rem; } }
  .mona-content ul,
  .mona-content ol {
    margin: 1em 0;
    list-style-position: inside; }
  .mona-content ul ul,
  .mona-content ul ol,
  .mona-content ol ul,
  .mona-content ol ol {
    margin-left: 1em; }
  .mona-content ul {
    list-style-type: disc; }
  .mona-content ol {
    list-style-type: decimal; }
  .mona-content ul ul,
  .mona-content ol ul {
    list-style-type: circle; }
  .mona-content ol ol,
  .mona-content ul ol {
    list-style-type: lower-latin; }
  .mona-content img,
  .mona-content iframe {
    height: auto;
    margin: 4rem 0;
    user-select: none;
    max-width: 100% !important; }
    @media screen and (max-width: 1200px) {
      .mona-content img,
      .mona-content iframe {
        margin: 2.4rem 0; } }
  .mona-content blockquote {
    background: #f9f9f9;
    border-left: 1rem solid #ccc;
    margin: 1em 0;
    padding: 1em;
    quotes: "\201C" "\201D" "\2018" "\2019"; }
    .mona-content blockquote::before {
      color: #ccc;
      content: open-quote;
      font-size: 4em;
      line-height: 0.1em;
      margin-right: 0.25em;
      vertical-align: -0.4em; }
    .mona-content blockquote p {
      display: inline; }
  .mona-content table {
    max-width: 100%;
    margin: 3.2rem 0;
    border-collapse: collapse; }
    @media screen and (max-width: 1200px) {
      .mona-content table {
        margin: 2.4rem 0; } }
    .mona-content table th,
    .mona-content table td {
      padding: 1.2rem 0;
      vertical-align: middle;
      border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1); }
  .mona-content .mona-youtube-wrap {
    position: relative;
    height: 0;
    padding-top: 56.25%; }
    .mona-content .mona-youtube-wrap iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .mona-content .mona-table-wrap {
    overflow: auto; }
  .mona-content .wp-caption-text {
    font-size: 1.4rem;
    text-align: center; }
    @media screen and (max-width: 576px) {
      .mona-content .wp-caption-text {
        font-size: 1.2rem; } }
  .mona-content .wp-caption {
    border: 0;
    padding: 0;
    max-width: 100%;
    margin-bottom: 3.2rem; }
    @media screen and (max-width: 1200px) {
      .mona-content .wp-caption {
        margin-bottom: 2.4rem; } }
    .mona-content .wp-caption-text {
      padding: 1rem 0;
      line-height: 1.5;
      font-size: 1.4rem;
      text-align: center;
      font-style: italic;
      margin: 0 !important; }
      @media screen and (max-width: 576px) {
        .mona-content .wp-caption-text {
          font-size: 1.2rem; } }
    .mona-content .wp-caption.alignnone {
      margin: 3.2rem 0; }
      @media screen and (max-width: 576px) {
        .mona-content .wp-caption.alignnone {
          margin: 2.4rem 0; } }
    .mona-content .wp-caption.alignright {
      float: right;
      display: inline;
      margin-bottom: 0;
      margin-left: 1.5rem; }
    .mona-content .wp-caption.aligncenter {
      margin: 2.4rem auto; }
    .mona-content .wp-caption.alignleft {
      float: left;
      display: inline;
      margin-bottom: 0;
      margin-right: 1.5rem; }
    .mona-content .wp-caption img {
      margin: 0;
      width: 100%;
      max-width: 100%;
      overflow: hidden; }
  .mona-content a {
    font-weight: 700;
    color: #00a523;
    transition: all 0.5s ease; }
    .mona-content a:hover {
      text-decoration: underline;
      color: #db1f26; }
  .mona-content li {
    margin: 1rem 0;
    font-size: 2rem; }
  .mona-content figure {
    width: fit-content;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-right: auto;
    margin-left: auto; }
    .mona-content figure img {
      margin: 0; }
  .mona-content figcaption {
    font-style: italic;
    font-size: 0.8em;
    text-align: center; }
  .mona-content .img-full img {
    width: 100%; }
  .mona-content table {
    width: 100%; }
    .mona-content table td {
      text-align: left;
      vertical-align: middle; }
    .mona-content table th,
    .mona-content table td {
      padding: 1.2rem 0; }
    .mona-content table td {
      background-color: transparent; }
    .mona-content table tbody {
      background-color: #fff; }
    .mona-content table th {
      color: #111;
      font-weight: 600;
      text-align: left; }
  .mona-content .table-resp {
    overflow-x: auto;
    margin-bottom: 3rem; }
  .mona-content img.size-full {
    width: 100%; }
  .mona-content img.alignnone {
    margin: 3.2rem 0; }
    @media screen and (max-width: 576px) {
      .mona-content img.alignnone {
        margin: 2.4rem 0; } }
  .mona-content img.aligncenter {
    margin: 3.2rem auto; }
    @media screen and (max-width: 576px) {
      .mona-content img.aligncenter {
        margin: 2.4rem auto; } }
  .mona-content img.alignright {
    margin-left: auto; }
  .mona-content img.alignleft {
    margin-right: auto; }
  .mona-content .gallery-columns-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin: 3.2rem 0; }
    @media screen and (max-width: 576px) {
      .mona-content .gallery-columns-2 {
        margin: 2.4rem 0; } }
    .mona-content .gallery-columns-2 img {
      margin: 0; }
    .mona-content .gallery-columns-2 .gallery-item {
      width: calc(50% - 0.8rem) !important; }
    .mona-content .gallery-columns-2 .gallery-icon {
      width: 100%;
      height: 100%; }
      .mona-content .gallery-columns-2 .gallery-icon a img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%); }
  .mona-content .list_parameters {
    margin: 0;
    flex-wrap: wrap;
    gap: 1.6rem 4.8rem;
    display: flex;
    align-items: center;
    padding-bottom: 2.4rem; }
    .mona-content .list_parameters li {
      margin: 0;
      gap: 0.4rem;
      font-size: 2rem;
      display: flex;
      align-items: center;
      padding-bottom: 1.2rem;
      width: calc(100% / 2 - 2.4rem);
      border-bottom: 0.1rem solid rgba(36, 36, 36, 0.2); }
      @media only screen and (max-width: 1200px) {
        .mona-content .list_parameters li {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .mona-content .list_parameters li {
          font-size: 1.6rem; } }
      @media screen and (max-width: 1200px) {
        .mona-content .list_parameters li {
          width: calc(100% / 2 - 2.5rem); } }
      @media screen and (max-width: 576px) {
        .mona-content .list_parameters li {
          width: 100%; } }
      .mona-content .list_parameters li span:first-child {
        flex-shrink: 0; }
      .mona-content .list_parameters li span:last-child {
        margin-left: auto;
        text-align: right;
        word-break: break-word; }
  .mona-content .view-more-params {
    text-align: center; }
    .mona-content .view-more-params button {
      color: white;
      margin: 0 auto;
      cursor: pointer;
      font-size: 2rem;
      width: fit-content;
      text-align: center;
      transition: 0.4s ease-in-out;
      border-radius: 0.8rem;
      padding: 1.2rem 3.2rem;
      font-family: var(--font-pri);
      background-color: #00a523;
      border: 0.1rem solid transparent; }
      @media screen and (min-width: 1201px) {
        .mona-content .view-more-params button:hover {
          border-color: #db1f26;
          background-color: #db1f26; } }

.post-detail-toc #ez-toc-container {
  border: 0;
  padding: 0;
  width: 100%;
  display: flex;
  row-gap: 2.4rem;
  border-radius: 0.8rem;
  background: #e4e7ec;
  flex-direction: column; }
  @media screen and (max-width: 1727.99px) {
    .post-detail-toc #ez-toc-container {
      row-gap: 1.6rem; } }
  .post-detail-toc #ez-toc-container a:visited {
    color: #db1f26; }
  .post-detail-toc #ez-toc-container .ez-toc-title {
    display: block;
    font-weight: 700;
    font-size: 3.2rem;
    padding: 1.6rem 1.6rem 2.4rem;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.2); }
    @media screen and (max-width: 1727.99px) {
      .post-detail-toc #ez-toc-container .ez-toc-title {
        padding: 1.6rem;
        font-size: 2.4rem; } }
  .post-detail-toc #ez-toc-container .ez-toc-title-toggle {
    display: none; }
  .post-detail-toc #ez-toc-container > nav {
    padding: 0 1.6rem 1.6rem; }
  .post-detail-toc #ez-toc-container .ez-toc-list-level-1 {
    display: flex;
    row-gap: 2.4rem;
    flex-direction: column; }
    @media screen and (max-width: 1727.99px) {
      .post-detail-toc #ez-toc-container .ez-toc-list-level-1 {
        row-gap: 1.6rem; } }
    .post-detail-toc #ez-toc-container .ez-toc-list-level-1 .ez-toc-link {
      font-size: 2rem; }
      @media only screen and (max-width: 1200px) {
        .post-detail-toc #ez-toc-container .ez-toc-list-level-1 .ez-toc-link {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .post-detail-toc #ez-toc-container .ez-toc-list-level-1 .ez-toc-link {
          font-size: 1.6rem; } }

.custom-logo-link {
  display: block;
  user-select: none; }
  .custom-logo-link img {
    width: 100%;
    object-fit: cover; }

.social {
  gap: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  user-select: none; }
  @media screen and (max-width: 576px) {
    .social {
      gap: 1.2rem; } }
  .social-img,
  .social a {
    display: block;
    transition: 0.4s ease-in-out;
    width: 3.2rem;
    height: 3.2rem; }
    @media screen and (min-width: 1201px) {
      .social-img:hover,
      .social a:hover {
        transform: translateY(-0.5rem); } }
    @media screen and (max-width: 576px) {
      .social-img,
      .social a {
        width: 2.4rem;
        height: 2.4rem; } }
    .social-img img,
    .social a img {
      width: 100%;
      object-fit: cover; }

.carts-counter {
  user-select: none;
  column-gap: 1.2rem;
  display: flex;
  align-items: center;
  border-radius: 0.8rem;
  padding: 0.6rem 0.8rem;
  border: 0.1rem solid #bfbfbf; }
  .carts-counter input {
    border: 0;
    outline: 0;
    padding: 0;
    height: auto;
    font-size: 1.6rem;
    text-align: center;
    width: 3.8rem !important;
    font-family: var(--font-pri);
    background-color: transparent; }
  .carts-counter button {
    padding: 0;
    flex-shrink: 0;
    font-size: 2rem;
    width: 2rem;
    height: 2rem;
    background: transparent; }
  .carts-counter .quantity:has(.screen-reader-text) {
    height: auto; }

.icon-play {
  color: white;
  font-size: 2rem;
  width: fit-content;
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  column-gap: 1.6rem;
  line-height: normal;
  transition: 0.4s ease-in-out;
  border-radius: 10rem;
  display: flex;
  align-items: center;
  padding: 1.4rem 2.4rem;
  background-color: #c8c8c8; }
  @media only screen and (max-width: 1200px) {
    .icon-play {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .icon-play {
      font-size: 1.6rem; } }
  @media screen and (min-width: 1201px) {
    .icon-play:hover {
      background-color: #db1f26; } }
  .icon-play img {
    height: 2rem;
    width: 1.2rem;
    flex-shrink: 0;
    object-fit: cover; }

.star {
  gap: 0.4rem;
  user-select: none;
  display: flex;
  align-items: center; }
  .star-list {
    position: relative; }
  .star-flex {
    display: flex;
    column-gap: 0.4rem; }
    .star-flex img {
      object-fit: cover;
      width: 1.6rem;
      height: 1.6rem; }
  .star-info {
    flex-wrap: wrap;
    display: flex;
    align-items: center; }
    .star-info .text-16 {
      color: rgba(36, 36, 36, 0.5); }
      .star-info .text-16:last-child::before {
        content: "|";
        margin: 0 0.4rem; }
  .star-filter {
    left: 0;
    width: 0;
    top: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    transform: translateY(-50%); }

.price {
  gap: 0.8rem;
  font-size: 2rem;
  flex-wrap: wrap;
  font-weight: 700;
  display: flex;
  align-items: center;
  color: #db1f26 !important; }
  @media only screen and (max-width: 1200px) {
    .price {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .price {
      font-size: 1.6rem; } }
  .price ins {
    font-size: 2rem;
    font-weight: 700;
    color: #db1f26;
    text-decoration: unset; }
    @media only screen and (max-width: 1200px) {
      .price ins {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .price ins {
        font-size: 1.6rem; } }
  .price del {
    font-size: 1.6rem;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.3); }
    @media screen and (max-width: 576px) {
      .price del {
        font-size: 1.4rem; } }
  .price > .title-24 {
    margin-top: 1.2rem;
    color: #242424; }

.no-price {
  font-size: 4.8rem;
  font-weight: 700;
  color: #db1f26; }
  @media only screen and (max-width: 1200px) {
    .no-price {
      font-size: 4.3rem; } }
  @media only screen and (max-width: 800px) {
    .no-price {
      font-size: 3.3rem; } }

.form-cf {
  gap: 1rem;
  justify-content: space-between;
  display: flex;
  align-items: center; }
  .form-cf .checkbox {
    padding-left: 2.4rem; }

.text-s,
.forget-txt {
  line-height: 150%;
  color: #242424;
  font-size: 1.6rem;
  font-weight: 400; }

.reg-btn {
  margin: 0 auto;
  margin-top: 2.4rem; }

.checkbox {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0; }
    .checkbox input:checked ~ .checkmark {
      background-color: #2e2b24; }
      .checkbox input:checked ~ .checkmark::after {
        display: block; }

.checkmark {
  position: absolute;
  top: 0.2rem;
  left: 0;
  height: 1.6rem;
  border: 1px solid #000;
  width: 1.6rem;
  background-color: transparent;
  border-radius: 0.2rem;
  overflow: hidden; }
  .checkmark::after {
    content: "";
    position: absolute;
    display: none;
    left: 0.4rem;
    top: 0.1rem;
    width: 0.4rem;
    height: 0.8rem;
    border: solid #fff;
    border-width: 0 0.28rem 0.28rem 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

@media screen and (min-width: 1201px) {
  .p-brand-detail .m-contact-content > .btn,
  .p-service .m-contact-content > .btn,
  .p-home .m-contact-content > .btn {
    margin-left: auto; } }

.mn-cart {
  top: 0;
  right: 0;
  z-index: 101;
  width: 64rem;
  height: 100dvh;
  position: fixed;
  transition: 0.4s ease-in-out;
  background-color: white;
  transform: translateX(100%); }
  @media screen and (min-width: 1201px) {
    .mn-cart {
      box-shadow: 0 0.8rem 2rem 0 rgba(0, 0, 0, 0.45); } }
  @media screen and (max-width: 576px) {
    .mn-cart {
      width: 100%; } }
  .mn-cart-nav {
    height: 100dvh; }
  .mn-cart-heading {
    gap: 1.6rem;
    padding: 2.4rem;
    display: flex;
    align-items: center;
    border-bottom: 0.1rem solid rgba(152, 162, 179, 0.4); }
    @media screen and (max-width: 576px) {
      .mn-cart-heading {
        padding: 1.6rem 1.2rem; } }
  .mn-cart-title > img {
    width: 2.7rem;
    user-select: none;
    object-fit: cover; }
  .mn-cart-title_desc span {
    color: white;
    user-select: none;
    line-height: 150%;
    border-radius: 50%;
    width: 2.8rem;
    height: 2.8rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: #006bce; }
  .mn-cart-title, .mn-cart-title_desc {
    column-gap: 0.8rem;
    display: flex;
    align-items: center; }
  .mn-cart-close {
    cursor: pointer;
    user-select: none;
    width: 2rem;
    height: 2rem; }
    .mn-cart-close img {
      width: 100%;
      object-fit: cover; }
  .mn-cart-action {
    gap: 2.4rem;
    padding: 2.4rem;
    margin-top: auto;
    display: flex;
    align-items: center;
    border-top: 0.1rem solid #006bce;
    box-shadow: 0 -0.2rem 0.6rem 0 rgba(0, 0, 0, 0.3); }
    @media screen and (max-width: 576px) {
      .mn-cart-action {
        gap: 1.2rem;
        padding: 1.2rem; } }
  .mn-cart-product {
    row-gap: 0.6rem;
    min-width: 15.8rem; }
    @media screen and (max-width: 1200px) {
      .mn-cart-product {
        row-gap: 0.8rem; } }
    .mn-cart-product .text-14 {
      line-height: 120%; }
    .mn-cart-product .amount {
      line-height: 150%;
      color: #006bce; }
  .mn-cart-button {
    gap: 1.6rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .mn-cart-button .btn {
      font-size: 1.6rem !important;
      width: calc(100% / 2 - 0.8rem);
      padding: 1.2rem 1.6rem !important;
      box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25); }
      @media screen and (max-width: 576px) {
        .mn-cart-button .btn {
          padding: 0.8rem !important; } }
  .mn-cart-delete {
    margin-left: auto; }
    .mn-cart-delete .btn {
      font-size: 1.8rem; }
  .mn-cart-list {
    width: 100%;
    display: flex;
    overflow: hidden auto;
    flex-direction: column; }
    .mn-cart-list:has(.mn-cart-item > p) {
      height: 100%; }
  .mn-cart-item {
    height: inherit;
    padding: 0 !important; }
    .mn-cart-item > p {
      height: 100%;
      font-size: 2rem;
      font-weight: 700;
      text-align: center;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 1200px) {
        .mn-cart-item > p {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .mn-cart-item > p {
          font-size: 1.6rem; } }
  .mn-cart-box {
    gap: 2.4rem;
    padding: 2.4rem;
    position: relative;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1200px) {
      .mn-cart-box {
        gap: 1.6rem; } }
    .mn-cart-box .inner-close {
      top: 0.8rem;
      right: 0.8rem;
      width: 2rem;
      height: 2rem;
      position: absolute;
      border-radius: 50%;
      transition: 0.4s ease-in-out; }
      @media screen and (min-width: 1201px) {
        .mn-cart-box .inner-close:hover {
          background-color: #a00; }
          .mn-cart-box .inner-close:hover img {
            filter: brightness(0) invert(1); } }
      @media screen and (max-width: 767px) {
        .mn-cart-box .inner-close {
          top: 0.8rem;
          right: 0.8rem; } }
  .mn-cart-img {
    flex-shrink: 0;
    overflow: hidden;
    user-select: none;
    width: 10rem;
    height: 10rem;
    border-radius: 0.8rem; }
    @media screen and (min-width: 1201px) {
      .mn-cart-img:hover img {
        transform: scale(1.05); } }
    .mn-cart-img img {
      object-fit: cover;
      transition: 0.4s ease-in-out;
      margin: 0 !important;
      width: 100% !important;
      height: 100% !important; }
  .mn-cart-content {
    width: 100%;
    row-gap: 1.6rem; }
    .mn-cart-content .text-16 {
      transition: 0.4s ease-in-out;
      line-height: normal; }
      @media screen and (min-width: 1201px) {
        .mn-cart-content .text-16:hover {
          color: #006bce; } }
    .mn-cart-content .text-14 {
      line-height: 140%; }
  .mn-cart-value {
    column-gap: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .mn-cart-price .price {
    display: flex;
    text-align: right;
    flex-direction: column; }
    .mn-cart-price .price ins {
      font-weight: 700;
      line-height: 150%;
      text-decoration: unset; }
    .mn-cart-price .price del {
      font-size: 1.4rem; }

.cartmn {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 7.7rem); }
  .cartmn .cart-empty {
    font-size: 2rem;
    height: inherit;
    font-weight: 600;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 1200px) {
      .cartmn .cart-empty {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .cartmn .cart-empty {
        font-size: 1.6rem; } }
  .cartmn ul.product_list_widget li a.remove {
    transition: 0.4s ease-in-out; }
    .cartmn ul.product_list_widget li a.remove:hover img {
      filter: brightness(0) invert(1); }
  .cartmn ul.product_list_widget li img {
    margin: 0;
    background-color: transparent !important; }

.cart-box .mn-cart {
  height: auto;
  width: 100%;
  box-shadow: unset;
  transform: unset;
  position: relative;
  background: transparent;
  z-index: 1; }
  .cart-box .mn-cart input[type="number"]::-webkit-inner-spin-button,
  .cart-box .mn-cart input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .cart-box .mn-cart input[type="number"] {
    -moz-appearance: textfield; }

.cart-box .mn-cart-nav {
  height: auto; }
  .cart-box .mn-cart-nav .mn-cart-list {
    height: auto; }

.cart-box .mn-cart-action {
  display: none; }

.cart-box .mn-cart-heading {
  display: none; }

.cart-box .mn-cart-list {
  margin-bottom: 2.4rem; }

.pop-success .popup-main {
  max-width: 152rem;
  width: 90%; }

.menu-search-box {
  width: 100%;
  row-gap: 0;
  padding: 2.4rem;
  box-shadow: 0 0.8rem 1.2rem 0 rgba(48, 48, 48, 0.1);
  -webkit-box-shadow: 0 0.8rem 1.2rem 0 rgba(48, 48, 48, 0.1);
  margin-left: auto;
  background: white;
  border-radius: 0 0 1.2rem 1.2rem; }
  .menu-search-box .form {
    margin-bottom: 0; }
    .menu-search-box .form > .form-group {
      padding: 0 calc(var(--cg) / 2); }

.popup-search .menu-search-list {
  max-height: 45rem;
  overflow: hidden auto; }
  .popup-search .menu-search-list:has(.menu-search-item) {
    margin-top: 2.4rem; }

.menu-search-item:not(:last-child) {
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 0.1rem solid #f0f0f0; }

.menu-search-block {
  column-gap: 1.2rem;
  display: flex;
  align-items: center; }

.menu-search-img {
  flex-shrink: 0;
  overflow: hidden;
  width: 8rem;
  height: 8rem;
  border-radius: 0.4rem;
  background-color: white; }

.menu-search-content {
  row-gap: 1.6rem; }
  .menu-search-content .tt {
    color: #232323;
    transition: 0.4s ease-in-out; }
  .menu-search-content > * {
    font-size: 1.8rem !important; }

.title-64 {
  font-size: 6.4rem; }
  @media only screen and (max-width: 1200px) {
    .title-64 {
      font-size: 3.9rem; } }
  @media only screen and (max-width: 800px) {
    .title-64 {
      font-size: 2.9rem; } }

.title-48 {
  font-size: 4.8rem; }
  @media only screen and (max-width: 1200px) {
    .title-48 {
      font-size: 4.3rem; } }
  @media only screen and (max-width: 800px) {
    .title-48 {
      font-size: 3.3rem; } }

.title-40 {
  font-size: 4rem; }
  @media only screen and (max-width: 1200px) {
    .title-40 {
      font-size: 3.5rem; } }
  @media only screen and (max-width: 800px) {
    .title-40 {
      font-size: 2.7rem; } }

.title-36 {
  font-size: 3.6rem; }
  @media only screen and (max-width: 1200px) {
    .title-36 {
      font-size: 3.1rem; } }
  @media only screen and (max-width: 800px) {
    .title-36 {
      font-size: 2.6rem; } }

.title-32 {
  font-size: 3.2rem; }
  @media only screen and (max-width: 1200px) {
    .title-32 {
      font-size: 2.7rem; } }
  @media only screen and (max-width: 800px) {
    .title-32 {
      font-size: 2.2rem; } }

.title-28 {
  font-size: 2.8rem; }
  @media only screen and (max-width: 1200px) {
    .title-28 {
      font-size: 2.4rem; } }
  @media only screen and (max-width: 800px) {
    .title-28 {
      font-size: 2.1rem; } }

.title-26 {
  font-size: 2.6rem; }
  @media only screen and (max-width: 1200px) {
    .title-26 {
      font-size: 2.2rem; } }
  @media only screen and (max-width: 800px) {
    .title-26 {
      font-size: 1.9rem; } }

.title-24 {
  font-size: 2.4rem; }
  @media only screen and (max-width: 1200px) {
    .title-24 {
      font-size: 2rem; } }
  @media only screen and (max-width: 800px) {
    .title-24 {
      font-size: 1.7rem; } }

.text-20 {
  font-size: 2rem; }
  @media only screen and (max-width: 1200px) {
    .text-20 {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .text-20 {
      font-size: 1.6rem; } }

.text-18 {
  font-size: 1.8rem; }
  @media only screen and (max-width: 1200px) {
    .text-18 {
      font-size: 1.6rem; } }
  @media only screen and (max-width: 800px) {
    .text-18 {
      font-size: 1.5rem; } }

.text-16 {
  font-size: 2rem; }
  @media only screen and (max-width: 1200px) {
    .text-16 {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .text-16 {
      font-size: 1.6rem; } }

.text-14 {
  font-size: 1.6rem; }

.f-pri {
  font-family: var(--font-pri); }

.f-tt {
  font-family: var(--font-title); }

.f-desc {
  font-family: var(--font-desc); }

.fs-i {
  font-style: italic; }

.t-cap {
  text-transform: capitalize; }

.t-up {
  text-transform: uppercase; }

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

.fw-900 {
  font-weight: 900; }

.fw-b {
  font-weight: bold; }

.fw-sb {
  font-weight: 600; }

.fw-m {
  font-weight: 500; }

.fw-n {
  font-weight: 400; }

.fw-t {
  font-weight: 300; }

.cl-white {
  color: white; }

.cl-text {
  color: #242424; }

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

.swiper-pagination {
  margin: 3.2rem auto 0;
  transform: unset !important;
  position: static !important; }
  .swiper-pagination-bullet-active {
    background-color: #00a523; }

.swiper-button {
  user-select: none; }
  .swiper-button-prev {
    left: -6.8rem;
    transform: translateY(-50%) rotate(90deg); }
    @media screen and (max-width: 1650px) {
      .swiper-button-prev {
        left: -1.2rem; } }
  .swiper-button-next {
    right: -6.8rem;
    transform: translateY(-50%) rotate(-90deg); }
    @media screen and (max-width: 1650px) {
      .swiper-button-next {
        right: -1.2rem; } }
  .swiper-button-prev, .swiper-button-next {
    margin-top: 0;
    border-radius: 50%;
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    background-color: white; }
    @media screen and (max-width: 1200px) {
      .swiper-button-prev, .swiper-button-next {
        display: none; } }
    .swiper-button-prev:after, .swiper-button-next:after {
      content: "";
      width: 1.2rem;
      height: 0.6rem;
      display: inline-block;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: top;
      background-image: url("../../assets/img/icons/icon-chevron.svg"); }

.c-compare {
  bottom: 0;
  left: 50%;
  width: 100%;
  z-index: 105;
  position: fixed;
  transition: 0.4s ease-in-out;
  transform: translate(-50%, 100%); }
  .c-compare.is-active {
    transform: translate(-50%, 0); }
  .c-compare-wrap {
    filter: drop-shadow(0 0.8rem 2.4rem rgba(0, 0, 0, 0.05)); }
  .c-compare-row {
    margin: 0;
    overflow: hidden;
    background-color: white;
    border: 0.1rem solid #00a523; }
  .c-compare-col:first-child {
    padding: 2.4rem; }
  @media screen and (min-width: 577px) {
    .c-compare-col:has(.c-compare-img)#item-1 {
      padding: 0 1.2rem 0 2.4rem; }
    .c-compare-col:has(.c-compare-img)#item-2 {
      padding: 0 1.2rem; }
    .c-compare-col:has(.c-compare-img)#item-3 {
      padding: 0 2.4rem 0 1.2rem; } }
  .c-compare-col:last-child {
    margin-top: 2.4rem; }
    @media screen and (max-width: 767px) {
      .c-compare-col:last-child {
        margin-top: 1.2rem; } }
  .c-compare-box {
    position: relative;
    gap: 0.8rem 1.2rem;
    display: flex;
    align-items: center;
    border-radius: 0.5rem;
    justify-content: center; }
    @media screen and (max-width: 1024px) {
      .c-compare-box {
        text-align: center;
        flex-direction: column; } }
    @media screen and (min-width: 577px) {
      .c-compare-box:has(.c-compare-img) {
        border: 0.1rem solid #dadada; } }
  .c-compare-img {
    display: block;
    max-width: 20rem;
    user-select: none; }
    .c-compare-img img {
      width: 100%;
      object-fit: cover; }
  .c-compare-content .text-20 {
    transition: 0.4s ease-in-out; }
    @media screen and (min-width: 1201px) {
      .c-compare-content .text-20:hover {
        color: #db1f26; } }
    @media screen and (max-width: 576px) {
      .c-compare-content .text-20 {
        font-size: 1.2rem; } }
  .c-compare-empty {
    cursor: pointer; }
    @media screen and (max-width: 576px) {
      .c-compare-empty {
        row-gap: 0.8rem; } }
    .c-compare-empty .inner {
      margin: 0 auto;
      width: 8rem;
      height: 8rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      border-radius: 0.8rem;
      border: 0.2rem dashed #7b7b7b; }
      @media screen and (max-width: 1024px) {
        .c-compare-empty .inner {
          width: 4.8rem;
          height: 4.8rem; } }
    .c-compare-empty .plusminus {
      flex-shrink: 0;
      display: block;
      user-select: none;
      position: relative;
      width: 3.2rem;
      height: 3.2rem; }
      @media screen and (max-width: 1200px) {
        .c-compare-empty .plusminus {
          width: 2rem;
          height: 2rem; } }
      .c-compare-empty .plusminus:before, .c-compare-empty .plusminus:after {
        content: "";
        top: 50%;
        left: 0;
        width: 100%;
        height: 0.3rem;
        display: block;
        position: absolute;
        border-radius: 1rem;
        transition: 0.4s ease-in-out;
        background-color: #131313; }
      .c-compare-empty .plusminus::before {
        transform: translateY(-50%); }
      .c-compare-empty .plusminus::after {
        transform: translateY(-50%) rotate(90deg); }
    .c-compare-empty .text-16 {
      color: #7b7b7b; }
      @media screen and (max-width: 576px) {
        .c-compare-empty .text-16 {
          font-size: 1.2rem; } }
  .c-compare-close {
    top: 0;
    right: 0;
    z-index: 3;
    cursor: pointer;
    position: absolute;
    width: 4rem;
    height: 4rem; }
    @media screen and (max-width: 576px) {
      .c-compare-close {
        width: 3.2rem;
        height: 3.2rem; } }
    .c-compare-close img {
      width: 100%;
      object-fit: cover; }
  .c-compare-action {
    width: 100%;
    gap: 1.2rem 2.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-top: 0.1rem solid #dadada; }
    @media screen and (max-width: 1200px) {
      .c-compare-action {
        gap: 1.2rem; } }
    @media screen and (max-width: 576px) {
      .c-compare-action > * {
        width: calc(100% / 2 - 0.6rem) !important; } }
    .c-compare-action .link {
      text-align: center;
      transition: 0.4s ease-in-out; }
      @media screen and (min-width: 1201px) {
        .c-compare-action .link:hover {
          color: #db1f26; } }
  .c-compare-box, .c-compare-action {
    height: 100%;
    padding: 2.4rem; }
    @media screen and (max-width: 1200px) {
      .c-compare-box, .c-compare-action {
        padding: 1.6rem; } }
    @media screen and (max-width: 576px) {
      .c-compare-box, .c-compare-action {
        padding: 0.8rem; } }
  .c-compare .icon-less {
    font-size: 1.8rem;
    padding: 1.2rem;
    cursor: pointer;
    color: #01752f;
    font-weight: 700;
    margin-left: auto;
    user-select: none;
    column-gap: 0.8rem;
    width: fit-content;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center;
    background-color: white;
    border-radius: 0.8rem 0.8rem 0 0; }
    @media only screen and (max-width: 1200px) {
      .c-compare .icon-less {
        font-size: 1.6rem; } }
    @media only screen and (max-width: 800px) {
      .c-compare .icon-less {
        font-size: 1.5rem; } }
    @media screen and (min-width: 1201px) {
      .c-compare .icon-less:hover {
        color: #db1f26; } }
    @media screen and (max-width: 576px) {
      .c-compare .icon-less {
        padding: 0.8rem; } }

.p-compare .menu-search-box .form {
  margin: 0;
  row-gap: 1.6rem;
  flex-direction: column; }
  .p-compare .menu-search-box .form > .form-group {
    padding: 0;
    width: 100%; }

@keyframes opacityAni {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes spin {
  100% {
    transform: translate(-50%, -50%) rotate(360deg); } }

ul.page-numbers {
  gap: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  ul.page-numbers li {
    border-radius: 50%;
    transition: 0.4s ease-in-out;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem; }
    ul.page-numbers li:not(:has(.prev)):not(:has(.next)) {
      border: 0.1rem solid rgba(36, 36, 36, 0.2); }
      @media screen and (min-width: 1201px) {
        ul.page-numbers li:not(:has(.prev)):not(:has(.next)):hover {
          background-color: #00a523; }
          ul.page-numbers li:not(:has(.prev)):not(:has(.next)):hover a {
            color: white; } }
    ul.page-numbers li:has(.current) {
      background-color: #00a523; }
      ul.page-numbers li:has(.current) span {
        color: white; }
    ul.page-numbers li a,
    ul.page-numbers li span {
      width: 100%;
      height: 100%;
      user-select: none;
      font-size: 1.4rem;
      transition: 0.4s ease-in-out;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center; }
  ul.page-numbers .prev {
    transform: rotate(90deg); }
  ul.page-numbers .next {
    transform: rotate(-90deg); }
  ul.page-numbers .prev,
  ul.page-numbers .next {
    user-select: none; }
    ul.page-numbers .prev img,
    ul.page-numbers .next img {
      width: 1.6rem;
      height: 0.8rem; }

.breadcrumb {
  padding: 4rem 0;
  background-color: white; }
  @media screen and (max-width: 1200px) {
    .breadcrumb {
      padding: 2.4rem 0; } }
  .breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
  .breadcrumb-item {
    font-size: 2rem; }
    @media only screen and (max-width: 1200px) {
      .breadcrumb-item {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .breadcrumb-item {
        font-size: 1.6rem; } }
    .breadcrumb-item:not(:last-child)::after {
      content: ">";
      margin: 0 0.4rem;
      user-select: none;
      color: #242424; }
    @media screen and (min-width: 1201px) {
      .breadcrumb-item a:hover {
        color: #db1f26; } }
    .breadcrumb-item .text-14 {
      transition: 0.4s ease-in-out; }

.menu-aside {
  top: 0;
  bottom: 0;
  z-index: 101;
  display: flex;
  height: 100dvh;
  position: fixed;
  transition: 0.4s ease-in-out;
  flex-direction: column;
  background-color: white;
  border-right: 0.1rem solid rgba(118, 118, 118, 0.12); }
  @media screen and (min-width: 1201px) {
    .menu-aside {
      left: 0;
      width: 8rem;
      box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15); } }
  @media screen and (max-width: 1365.98px) {
    .menu-aside {
      transform: translateX(-100%); }
      .menu-aside.is-active {
        width: 33rem;
        transform: translateX(0); } }
  @media screen and (max-width: 1200px) {
    .menu-aside {
      right: 0;
      transform: translateX(100%); } }
  .menu-aside.is-active, .menu-aside:hover {
    width: 33rem; }
    .menu-aside.is-active .menu-aside-item > img, .menu-aside:hover .menu-aside-item > img {
      opacity: 1; }
    .menu-aside.is-active .menu-aside-cate, .menu-aside:hover .menu-aside-cate {
      border-radius: 0.5rem; }
      .menu-aside.is-active .menu-aside-cate span, .menu-aside:hover .menu-aside-cate span {
        opacity: 1;
        width: auto;
        max-width: unset;
        max-height: 3rem; }
        @media screen and (min-width: 1201px) {
          .menu-aside.is-active .menu-aside-cate span, .menu-aside:hover .menu-aside-cate span {
            transition: 0.4s ease-in-out 0.4s; } }
    .menu-aside.is-active .menu-aside-link span, .menu-aside:hover .menu-aside-link span {
      opacity: 1;
      width: auto;
      max-width: unset;
      max-height: 5rem; }
      @media screen and (min-width: 1201px) {
        .menu-aside.is-active .menu-aside-link span, .menu-aside:hover .menu-aside-link span {
          transition: 0.4s ease-in-out 0.4s; } }
    @media screen and (min-width: 1201px) {
      .menu-aside.is-active .menu-aside-info, .menu-aside:hover .menu-aside-info {
        padding: 1.6rem; } }
    @media screen and (min-width: 1201px) {
      .menu-aside.is-active .menu-aside-info_phone .desc, .menu-aside:hover .menu-aside-info_phone .desc {
        opacity: 1;
        width: auto;
        max-width: unset;
        max-height: 6.4rem;
        pointer-events: auto;
        transition: 0.4s ease-in-out 0.4s; } }
    .menu-aside.is-active .menu-aside-info_chat, .menu-aside:hover .menu-aside-info_chat {
      width: 100%;
      margin-left: 0;
      padding: 1.6rem;
      border-radius: 1.6rem; }
      .menu-aside.is-active .menu-aside-info_chat .box, .menu-aside:hover .menu-aside-info_chat .box {
        margin-left: 0;
        pointer-events: auto; }
        .menu-aside.is-active .menu-aside-info_chat .box .text-20, .menu-aside:hover .menu-aside-info_chat .box .text-20 {
          opacity: 1;
          width: auto;
          max-width: unset;
          max-height: 4rem; }
          @media screen and (min-width: 1201px) {
            .menu-aside.is-active .menu-aside-info_chat .box .text-20, .menu-aside:hover .menu-aside-info_chat .box .text-20 {
              transition: 0.4s ease-in-out 0.4s; } }
        .menu-aside.is-active .menu-aside-info_chat .box img, .menu-aside:hover .menu-aside-info_chat .box img {
          margin: 0;
          width: 5.8rem; }
      .menu-aside.is-active .menu-aside-info_chat .list, .menu-aside:hover .menu-aside-info_chat .list {
        width: auto;
        opacity: 1;
        max-width: unset;
        position: static;
        max-height: 30rem; }
        @media screen and (min-width: 1201px) {
          .menu-aside.is-active .menu-aside-info_chat .list, .menu-aside:hover .menu-aside-info_chat .list {
            pointer-events: auto;
            transition: 0.4s ease-in-out 0.4s; } }
  .menu-aside-icon {
    padding: 1rem 1.6rem 0; }
  .menu-aside-cate {
    height: 4.8rem;
    color: white;
    font-size: 2rem;
    margin: 0 auto;
    cursor: pointer;
    font-weight: 600;
    user-select: none;
    border-radius: 50%;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center;
    padding: 0.8rem 1.6rem;
    text-transform: uppercase;
    background-color: #006bce; }
    @media only screen and (max-width: 1200px) {
      .menu-aside-cate {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .menu-aside-cate {
        font-size: 1.6rem; } }
    .menu-aside-cate img {
      width: 2.4rem;
      flex-shrink: 0;
      height: 1.6rem;
      user-select: none; }
    .menu-aside-cate span {
      width: 0;
      opacity: 0;
      max-width: 0;
      max-height: 2.4rem;
      margin-left: 0.8rem; }
  .menu-aside-list {
    height: 100%;
    display: flex;
    row-gap: 2.4rem;
    margin-top: 2.4rem;
    flex-direction: column; }
  .menu-aside-item {
    padding: 0 2.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (min-width: 1201px) {
      .menu-aside-item:hover > img {
        transform: rotate(-90deg); }
      .menu-aside-item:hover > .child {
        opacity: 1;
        transform: unset;
        pointer-events: auto; } }
    .menu-aside-item > img {
      transition: 0.4s ease-in-out; }
    .menu-aside-item.is-active > .child {
      opacity: 1;
      transform: unset;
      left: 0 !important;
      pointer-events: auto; }
  .menu-aside-back {
    column-gap: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    justify-content: stretch;
    padding: 1.2rem !important;
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1); }
    @media screen and (min-width: 1201px) {
      .menu-aside-back {
        display: none; } }
    .menu-aside-back span {
      font-weight: 700;
      font-size: 1.6rem; }
  .menu-aside-bg {
    padding: 1.2rem; }
    .menu-aside-bg .img {
      display: block;
      position: relative;
      padding-top: calc(172 / 264 * 100%); }
      .menu-aside-bg .img img {
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translate(-50%, -50%); }
  @media screen and (min-width: 1201px) {
    .menu-aside-back {
      display: none; } }
  .menu-aside-link {
    font-size: 2rem;
    font-weight: 600;
    column-gap: 1.6rem;
    line-height: normal;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 1200px) {
      .menu-aside-link {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .menu-aside-link {
        font-size: 1.6rem; } }
    @media screen and (min-width: 1201px) {
      .menu-aside-link:hover {
        color: #db1f26; } }
    @media screen and (min-width: 1201px) {
      .menu-aside-link span {
        width: 0;
        opacity: 0;
        max-width: 0;
        max-height: 2.4rem; } }
    .menu-aside-link img {
      flex-shrink: 0;
      user-select: none;
      width: 2rem;
      height: 2rem; }
  .menu-aside-info {
    margin-top: auto; }
    @media screen and (min-width: 1201px) {
      .menu-aside-info {
        padding: 0.4rem;
        transition: 0.4s ease-in-out; } }
    @media screen and (max-width: 1200px) {
      .menu-aside-info {
        padding: 1.6rem; } }
    .menu-aside-info_phone {
      display: flex;
      align-items: center; }
      .menu-aside-info_phone img {
        z-index: 1;
        width: 7.2rem;
        height: 6.4rem;
        user-select: none;
        object-fit: cover;
        position: relative; }
      .menu-aside-info_phone .desc {
        margin-left: -2.4rem; }
        @media screen and (min-width: 1201px) {
          .menu-aside-info_phone .desc {
            width: 0;
            opacity: 0;
            max-width: 0;
            max-height: 4.8rem;
            pointer-events: none; } }
        @media screen and (max-width: 1200px) {
          .menu-aside-info_phone .desc {
            opacity: 1;
            width: auto;
            max-width: unset;
            max-height: 6.4rem; } }
        .menu-aside-info_phone .desc > * {
          position: relative; }
        .menu-aside-info_phone .desc .text-14 {
          padding: 0.4rem 1rem 0.4rem 2.4rem; }
          .menu-aside-info_phone .desc .text-14::before {
            content: "";
            top: 0;
            left: 0;
            z-index: -1;
            width: 100%;
            height: 100%;
            position: absolute; }
          .menu-aside-info_phone .desc .text-14:first-child {
            color: #db1f26;
            transition: 0.4s ease-in-out; }
            @media screen and (min-width: 1201px) {
              .menu-aside-info_phone .desc .text-14:first-child:hover {
                color: #006bce; } }
            .menu-aside-info_phone .desc .text-14:first-child::before {
              transform: skew(20deg);
              border: 0.1rem solid #db1f26; }
          .menu-aside-info_phone .desc .text-14:last-child {
            color: white;
            width: fit-content; }
            .menu-aside-info_phone .desc .text-14:last-child::before {
              transform: skew(-20deg);
              background-color: #db1f26; }
    .menu-aside-info_chat {
      display: flex;
      margin: 0 auto;
      row-gap: 1.6rem;
      flex-direction: column;
      border: 0.1rem solid #006bce; }
      @media screen and (min-width: 1201px) {
        .menu-aside-info_chat {
          width: 6.2rem;
          border-radius: 50%;
          transition: 0.4s ease-in-out;
          padding: 1.8rem 0.4rem; } }
      @media screen and (max-width: 1200px) {
        .menu-aside-info_chat {
          width: 100%;
          margin-left: 0;
          padding: 1.6rem;
          border-radius: 1.6rem; } }
      .menu-aside-info_chat .box {
        column-gap: 2.4rem;
        margin-left: 0.6rem;
        pointer-events: none;
        display: flex;
        align-items: center; }
        .menu-aside-info_chat .box img {
          width: 4.2rem;
          flex-shrink: 0;
          margin: 0 auto;
          object-fit: cover;
          user-select: none;
          transition: 0.4s ease-in-out; }
        @media screen and (min-width: 1201px) {
          .menu-aside-info_chat .box .text-20 {
            width: 0;
            opacity: 0;
            max-width: 0;
            max-height: 2.4rem; } }
      .menu-aside-info_chat .list {
        display: flex;
        row-gap: 1.6rem;
        flex-direction: column; }
        @media screen and (min-width: 1201px) {
          .menu-aside-info_chat .list {
            width: 0;
            opacity: 0;
            max-width: 0;
            max-height: 0;
            position: absolute;
            pointer-events: none; } }
        .menu-aside-info_chat .list-box {
          column-gap: 2.4rem;
          display: flex;
          align-items: center; }
        .menu-aside-info_chat .list-img {
          min-width: 5.8rem; }
          .menu-aside-info_chat .list-img img {
            margin: 0 auto;
            user-select: none;
            object-fit: cover;
            width: 3.2rem;
            height: 3.2rem; }
        @media screen and (min-width: 1201px) {
          .menu-aside-info_chat .list .text-20 {
            transition: 0.4s ease-in-out; }
            .menu-aside-info_chat .list .text-20:hover {
              color: #db1f26; } }
  .menu-aside .menu-aside-item > img {
    opacity: 0; }
  .menu-aside .child {
    top: 0;
    opacity: 0;
    z-index: 5;
    display: flex;
    height: 100dvh;
    row-gap: 2.4rem;
    max-width: 33rem;
    min-width: 33rem;
    width: max-content;
    position: absolute;
    transition: 0.4s ease-in-out;
    flex-direction: column;
    background-color: white;
    left: calc(100% + 0.1rem);
    border-right: 0.1rem solid rgba(118, 118, 118, 0.12); }
    @media screen and (min-width: 1201px) {
      .menu-aside .child {
        padding: 3.2rem 0;
        pointer-events: none;
        transform: translateX(-1rem); }
        .menu-aside .child .child-1 {
          left: calc(100% + 0.2rem); } }
    @media screen and (max-width: 1200px) {
      .menu-aside .child .menu-aside-item {
        padding: 0 1.2rem; } }
    .menu-aside .child .menu-aside-item:not(.menu-aside-back) > img {
      transform: rotate(-90deg); }

@media screen and (min-width: 1201px) {
  .overlay-menu:has(+ .menu-aside:hover) {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; } }

.header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  height: auto;
  position: fixed;
  transition: 0.4s ease-in-out;
  background-color: white; }
  @media screen and (min-width: 1201px) {
    .header.is-fixed {
      box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15);
      transform: translateY(-10rem); }
      .header.is-fixed .header-main {
        padding: 1.1rem 0; } }
  @media screen and (min-width: 1201px) {
    .header.is-fixed .mn-cart,
    .header.is-fixed .overlay,
    .header.is-fixed .overlay-cart,
    .header.is-fixed .header-nav {
      top: calc(var(--height-hd) - 8rem); } }
  .header-top {
    gap: 6.4rem;
    padding: 2rem 0;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1200px) {
      .header-top {
        gap: 1.2rem;
        padding: 2.133rem 0;
        justify-content: space-between; } }
    @media screen and (max-width: 767px) {
      .header-top {
        gap: 0.8rem; } }
    .header-top-action {
      gap: 1.6rem;
      user-select: none;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .header-top-action {
          gap: 1.2rem; } }
      @media screen and (min-width: 1201px) {
        .header-top-action .header-main-compare,
        .header-top-action .header-main-doc,
        .header-top-action .header-main-cart {
          display: none; } }
      .header-top-action .header-main-compare .menu-item,
      .header-top-action .header-main-doc .menu-item,
      .header-top-action .header-main-cart .menu-item {
        display: block;
        width: 2rem;
        height: 2rem;
        position: relative; }
        @media screen and (max-width: 1200px) {
          .header-top-action .header-main-compare .menu-item,
          .header-top-action .header-main-doc .menu-item,
          .header-top-action .header-main-cart .menu-item {
            width: 2.4rem;
            height: 2.4rem; } }
    .header-top-phone {
      max-width: 6.3rem; }
      @media screen and (max-width: 1200px) {
        .header-top-phone {
          display: none; } }
    .header-top-sign {
      position: relative;
      width: 4.5rem;
      height: 4.5rem; }
      @media screen and (max-width: 1200px) {
        .header-top-sign {
          width: 2.4rem;
          height: 2.4rem; } }
      .header-top-sign:hover .user-info {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0); }
      .header-top-sign .user {
        cursor: pointer; }
        .header-top-sign .user-info {
          top: 100%;
          left: 50%;
          opacity: 0;
          z-index: 10;
          width: 28rem;
          padding: 1.2rem;
          visibility: hidden;
          position: absolute;
          transition: 0.4s ease-in-out;
          pointer-events: none;
          border-radius: 0.5rem;
          background-color: white;
          transform: translate(-50%, 2rem);
          box-shadow: 0 0.8rem 2.4rem 0 rgba(149, 157, 165, 0.2); }
        .header-top-sign .user-action {
          display: flex;
          row-gap: 1.2rem;
          flex-direction: column; }
          .header-top-sign .user-action .text-m {
            font-size: 1.8rem;
            transition: 0.4s ease-in-out; }
            @media only screen and (max-width: 1200px) {
              .header-top-sign .user-action .text-m {
                font-size: 1.6rem; } }
            @media only screen and (max-width: 800px) {
              .header-top-sign .user-action .text-m {
                font-size: 1.5rem; } }
            @media screen and (min-width: 1201px) {
              .header-top-sign .user-action .text-m:hover {
                color: #db1f26; } }
    .header-top-search {
      width: 100%; }
      @media screen and (max-width: 1200px) {
        .header-top-search {
          display: none; } }
      .header-top-search form .form-label {
        padding: 0.9rem;
        column-gap: 1rem;
        transition: 0.4s ease-in-out;
        border-radius: 10rem;
        display: flex;
        align-items: center;
        flex-direction: unset;
        background-color: white;
        border: 0.1rem solid rgba(0, 0, 0, 0.2); }
        .header-top-search form .form-label:has(input:hover), .header-top-search form .form-label:has(input:focus) {
          border-color: #00a523; }
      .header-top-search form input {
        border: 0;
        padding: 0;
        height: 4rem;
        border-radius: 0;
        background-color: transparent; }
      .header-top-search form button {
        flex-shrink: 0;
        user-select: none;
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        transition: 0.4s ease-in-out;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background-color: #006bce; }
        @media screen and (min-width: 1201px) {
          .header-top-search form button:hover {
            background-color: #00a523; } }
        .header-top-search form button img {
          object-fit: cover;
          width: 1.6rem;
          height: 1.6rem; }
    .header-top-fixed {
      left: 0;
      bottom: 0;
      gap: 2.4rem;
      width: 100%;
      z-index: 101;
      position: fixed;
      box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15);
      padding: 1.926rem;
      display: flex;
      align-items: center;
      background-color: white; }
      @media screen and (min-width: 1201px) {
        .header-top-fixed {
          display: none; } }
      .header-top-fixed > * {
        flex: 1; }
        .header-top-fixed > * .menu-item {
          margin: 0 auto; }
    .header-top-logo, .header-top-action {
      flex-shrink: 0; }
    .header-top-phone img, .header-top-sign img {
      width: 100%;
      object-fit: cover; }
  .header-main {
    position: relative;
    transition: 0.4s ease-in-out;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 1201px) {
      .header-main {
        gap: 6.4rem;
        padding: 1.6rem 0; } }
  @media screen and (min-width: 1201px) and (max-width: 1550px) {
    .header-main {
      gap: 2.4rem; } }
    @media screen and (min-width: 1201px) {
        .header-main::before {
          content: "";
          top: 0;
          left: 50%;
          z-index: -1;
          height: 100%;
          position: absolute;
          width: calc(100vw + 3rem);
          transform: translateX(-50%);
          background-color: #006bce; } }
    @media screen and (max-width: 1200px) {
      .header-main {
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 101;
        width: 32rem;
        height: 100dvh;
        position: fixed;
        flex-direction: column;
        background-color: white;
        transition: 0.6s ease-in-out;
        transform: translateX(100%); }
        .header-main.is-active {
          transform: translateX(0); } }
    @media screen and (max-width: 1200px) {
      .header-main-cate {
        width: 100%;
        padding: 1.5rem;
        border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1); } }
    .header-main-cate .cate-btn {
      cursor: pointer;
      user-select: none;
      column-gap: 1.6rem;
      display: flex;
      align-items: center;
      border-radius: 0.8rem;
      padding: 0.8rem 1.6rem;
      background-color: white; }
      @media screen and (max-width: 1200px) {
        .header-main-cate .cate-btn {
          background-color: #006bce; } }
      .header-main-cate .cate-btn-bar {
        flex-shrink: 0;
        border-radius: 50%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        width: 3.2rem;
        height: 3.2rem;
        background-color: #006bce; }
        @media screen and (max-width: 1200px) {
          .header-main-cate .cate-btn-bar {
            background-color: white; } }
        .header-main-cate .cate-btn-bar img {
          width: 1.6rem;
          height: 1.1rem;
          object-fit: cover; }
          @media screen and (max-width: 1200px) {
            .header-main-cate .cate-btn-bar img {
              filter: brightness(0) saturate(100%) invert(17%) sepia(64%) saturate(6726%) hue-rotate(199deg) brightness(102%) contrast(100%); } }
      .header-main-cate .cate-btn span {
        font-size: 2rem;
        font-weight: 600;
        text-transform: uppercase; }
        @media screen and (max-width: 1550px) {
          .header-main-cate .cate-btn span {
            font-size: 1.6rem; } }
        @media screen and (max-width: 1200px) {
          .header-main-cate .cate-btn span {
            color: white; } }
    .header-main-btn {
      width: 100%;
      padding: 1.2rem;
      column-gap: 1.2rem;
      display: flex;
      align-items: center;
      border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1); }
      @media screen and (min-width: 1201px) {
        .header-main-btn {
          display: none; } }
      .header-main-btn .btn {
        width: calc(100% / 2 - 0.6rem); }
    .header-main-action {
      gap: 1.6rem;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 1200px) {
        .header-main-action {
          display: none; } }
      .header-main-action .menu-item {
        cursor: pointer;
        user-select: none;
        border-radius: 50%;
        width: 4.5rem;
        height: 4.5rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background-color: white; }
        @media screen and (min-width: 1201px) {
          .header-main-action .menu-item:hover img {
            transform: scale(1.2); } }
        .header-main-action .menu-item img {
          width: 2.5rem;
          flex-shrink: 0;
          object-fit: cover;
          transition: 0.4s ease-in-out; }
    .header-main-doc .mn-cart-button {
      width: 100%; }
      .header-main-doc .mn-cart-button .btn {
        width: 100%; }
    .header-main-doc .carts-counter {
      column-gap: 0.71rem; }
      .header-main-doc .carts-counter input {
        width: 1.8rem !important; }
    .header-main-doc.is-active .mn-cart, .header-main-cart.is-active .mn-cart {
      transform: translateX(0); }
  @media screen and (min-width: 1201px) {
    .header-nav {
      margin: 0 auto; } }
  @media screen and (max-width: 1200px) {
    .header-nav {
      width: 100%; } }
  .header-nav .menu {
    display: flex;
    align-items: center; }
    @media screen and (min-width: 1201px) {
      .header-nav .menu {
        margin: 0 -1.2rem; } }
    @media screen and (max-width: 1200px) {
      .header-nav .menu {
        width: 100%;
        flex-direction: column; } }
    .header-nav .menu-item {
      padding: 0 1.2rem; }
      @media screen and (max-width: 1200px) {
        .header-nav .menu-item {
          width: 100%;
          padding: 1.5rem;
          border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1); } }
      .header-nav .menu-item.current-menu-item .menu-link::before {
        width: 100%; }
    .header-nav .menu-link {
      font-size: 2rem;
      font-weight: 600;
      line-height: normal;
      transition: 0.4s ease-in-out;
      position: relative;
      text-transform: uppercase; }
      @media screen and (min-width: 1201px) {
        .header-nav .menu-link {
          color: white; }
          .header-nav .menu-link:hover::before {
            left: 0;
            width: 100%; } }
      @media screen and (max-width: 1366px) {
        .header-nav .menu-link {
          font-size: 1.6rem; } }
      .header-nav .menu-link::before {
        content: "";
        right: 0;
        width: 0;
        height: 0.2rem;
        bottom: -0.5rem;
        position: absolute;
        border-radius: 1rem;
        transition: 0.4s ease-in-out;
        background-color: white; }
  .header .custom-logo-link {
    max-width: 41.8rem; }
    @media screen and (max-width: 1200px) {
      .header .custom-logo-link {
        max-width: 30rem; } }
    @media screen and (max-width: 767px) {
      .header .custom-logo-link {
        max-width: 24rem; } }
    @media screen and (max-width: 576px) {
      .header .custom-logo-link {
        max-width: 20rem; } }

.header-main-doc,
.header-main-cart {
  position: relative; }

.header-cart_number,
.header-quote_number {
  top: -1rem;
  right: -1rem;
  color: white;
  font-weight: 700;
  border-radius: 50%;
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-color: #db1f26; }
  @media screen and (max-width: 1200px) {
    .header-cart_number,
    .header-quote_number {
      top: -1.2rem;
      right: -1.2rem;
      font-size: 1.4rem;
      width: 2rem;
      height: 2rem; } }

.lang {
  cursor: pointer;
  user-select: none;
  position: relative; }
  .lang:hover .lang-head > img {
    transform: rotate(180deg); }
  .lang:hover .lang-child {
    opacity: 1;
    pointer-events: auto; }
  @media screen and (min-width: 1201px) {
    .lang-head {
      border-radius: 10rem;
      padding: 0.8rem 1.2rem;
      background-color: rgba(9, 37, 62, 0.1); } }
  .lang-head-icon > img {
    width: 2.4rem;
    height: 2.4rem; }
    @media screen and (max-width: 767px) {
      .lang-head-icon > img {
        width: 2rem;
        height: 2rem; } }
  .lang-head-icon > * {
    font-weight: 600;
    font-size: 1.4rem; }
  .lang-head > img {
    width: 0.8rem;
    height: 0.4rem; }
  .lang-head img {
    object-fit: cover;
    transition: 0.4s ease-in-out; }
  .lang-head, .lang-head-icon {
    column-gap: 0.4rem;
    display: flex;
    align-items: center; }
  .lang-child {
    left: 0;
    top: 100%;
    opacity: 0;
    z-index: 3;
    box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15);
    overflow: hidden;
    width: max-content;
    position: absolute;
    transition: 0.4s ease-in-out;
    pointer-events: none;
    border-radius: 0.5rem;
    background-color: white; }
    .lang-child-item {
      gap: 0.4rem;
      padding: 0.8rem;
      transition: 0.4s ease-in-out;
      display: flex;
      align-items: center; }
      @media screen and (min-width: 1201px) {
        .lang-child-item:hover {
          background-color: rgba(9, 37, 62, 0.1); } }
    .lang-child-link {
      font-weight: 600;
      font-size: 1.4rem; }

@media screen and (min-width: 1201px) {
  .menu-bar {
    display: none; } }

.menu-bar .menu-span span {
  width: 2.4rem;
  height: 0.2rem;
  display: block;
  user-select: none;
  margin-top: 0.4rem;
  transition: 0.4s ease-in-out;
  border-radius: 0.5rem;
  background-color: #242424; }
  .menu-bar .menu-span span:nth-child(1) {
    margin-top: 0; }

.menu-close-icon {
  width: 100%;
  padding: 1.2rem;
  border-bottom: 0.1rem solid #f0f0f0; }
  @media screen and (min-width: 1201px) {
    .menu-close-icon {
      display: none; } }
  .menu-close-icon img {
    margin-left: auto;
    width: 3.2rem;
    height: 3.2rem;
    filter: brightness(0) saturate(100%) invert(9%) sepia(3%) saturate(0%) hue-rotate(240deg) brightness(96%) contrast(99%); }

.footer {
  padding: 8rem 0;
  overflow: hidden;
  position: relative;
  background: linear-gradient(180deg, #009c3e 0%, #01752f 100%); }
  @media screen and (min-width: 1025px) {
    .footer-row {
      --rg: 15rem;
      --cg: 15rem; } }
  @media screen and (min-width: 1025px) and (max-width: 1366px) {
    .footer-row {
      --rg: 10rem;
      --cg: 10rem; } }
  @media screen and (max-width: 1024px) {
    .footer-col {
      width: 100%; } }
  .footer-left {
    max-width: 61.4rem; }
    @media screen and (max-width: 1024px) {
      .footer-left {
        max-width: 100%; } }
    @media screen and (max-width: 1200px) {
      .footer-left-block {
        row-gap: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .footer-left-block {
        row-gap: 2.4rem; } }
    .footer-left-list {
      max-width: 42.5rem; }
      @media screen and (max-width: 1024px) {
        .footer-left-list {
          max-width: 100%; } }
      @media screen and (max-width: 576px) {
        .footer-left-list {
          row-gap: 1.6rem; } }
    @media screen and (max-width: 767px) {
      .footer-left-box {
        row-gap: 2.4rem; } }
    .footer-left-box:not(:last-child) {
      padding-bottom: 4rem;
      border-bottom: 0.1rem solid rgba(255, 255, 255, 0.4); }
      @media screen and (max-width: 1200px) {
        .footer-left-box:not(:last-child) {
          padding-bottom: 3.2rem; } }
      @media screen and (max-width: 767px) {
        .footer-left-box:not(:last-child) {
          padding-bottom: 2.4rem; } }
    .footer-left-box .title-24 {
      line-height: normal; }
    .footer-left-box .desc {
      line-height: 150%; }
      @media screen and (max-width: 576px) {
        .footer-left-box .desc {
          font-size: 1.4rem; } }
    .footer-left-info {
      gap: 1.6rem;
      display: flex; }
      @media screen and (max-width: 576px) {
        .footer-left-info {
          gap: 0.8rem; } }
      .footer-left-info .text-16 {
        width: 100%;
        line-height: 200%; }
        @media screen and (max-width: 576px) {
          .footer-left-info .text-16 {
            line-height: 150%;
            font-size: 1.4rem; } }
        .footer-left-info .text-16 a {
          transition: 0.4s ease-in-out; }
          @media screen and (min-width: 1201px) {
            .footer-left-info .text-16 a:hover {
              color: #fae803; } }
      .footer-left-info img {
        flex-shrink: 0;
        user-select: none;
        width: 2.4rem;
        height: 2.4rem; }
        @media screen and (min-width: 577px) {
          .footer-left-info img {
            margin-top: 0.4rem; } }
    .footer-left form {
      width: 100%; }
      .footer-left form .form-wrap {
        gap: 2.4rem;
        flex-direction: unset;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 576px) {
          .footer-left form .form-wrap {
            gap: 1.2rem; } }
      .footer-left form .form-group {
        width: 100%; }
      .footer-left form .form-action {
        flex-shrink: 0; }
        @media screen and (min-width: 1201px) {
          .footer-left form .form-action .btn {
            min-width: 16.8rem; } }
  @media screen and (max-width: 1200px) {
    .footer-right-box {
      row-gap: 3.2rem; } }
  @media screen and (max-width: 767px) {
    .footer-right-box {
      row-gap: 2.4rem;
      width: calc(100% / 2); } }
  .footer-right-box .text-20 {
    line-height: normal; }
    @media screen and (max-width: 576px) {
      .footer-right-box .text-20 {
        font-size: 1.4rem; } }
  .footer-right-img .img {
    display: block;
    user-select: none;
    max-width: 21.2rem; }
    .footer-right-img .img img {
      width: 100%;
      object-fit: cover; }
  .footer .menu {
    display: flex;
    row-gap: 4rem;
    flex-direction: column; }
    @media screen and (max-width: 1200px) {
      .footer .menu {
        row-gap: 3.2rem; } }
    @media screen and (max-width: 767px) {
      .footer .menu {
        row-gap: 2.4rem; } }
    @media screen and (max-width: 576px) {
      .footer .menu {
        row-gap: 1.6rem; } }
    .footer .menu-link {
      color: white;
      font-size: 2rem;
      transition: 0.4s ease-in-out;
      line-height: normal; }
      @media only screen and (max-width: 1200px) {
        .footer .menu-link {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .footer .menu-link {
          font-size: 1.6rem; } }
      @media screen and (min-width: 1201px) {
        .footer .menu-link:hover {
          color: #fae803; } }
      @media screen and (max-width: 576px) {
        .footer .menu-link {
          font-size: 1.4rem; } }
  .footer .custom-logo-link {
    max-width: 61.4rem; }
    @media screen and (max-width: 767px) {
      .footer .custom-logo-link {
        max-width: 40rem; } }
    @media screen and (max-width: 576px) {
      .footer .custom-logo-link {
        max-width: 28rem; } }

.btn {
  z-index: 3;
  display: flex;
  color: white;
  cursor: pointer;
  font-weight: 600;
  line-height: 1.2;
  column-gap: 1rem;
  user-select: none;
  text-align: center;
  position: relative;
  width: fit-content;
  align-items: center;
  transition: 0.4s ease-in-out;
  justify-content: center;
  font-size: 2rem !important;
  overflow: hidden !important;
  font-family: var(--font-pri);
  background-color: #00a523;
  border-radius: 0.8rem !important;
  border: 0.1rem solid transparent;
  padding: 1.2rem 3.2rem !important; }
  @media screen and (min-width: 1201px) {
    .btn:hover {
      color: white;
      border-color: #db1f26; }
      .btn:hover::before {
        left: 0;
        width: 100%; } }
  @media screen and (max-width: 1200px) {
    .btn {
      font-size: 1.6rem !important;
      padding: 1.3rem 2.4rem !important; } }
  .btn::before {
    content: "";
    top: 0;
    right: 0;
    width: 0;
    z-index: -1;
    height: 100%;
    position: absolute;
    transition: 0.4s ease-in-out;
    background-color: #db1f26; }
  .btn:after {
    top: 50% !important;
    left: 50% !important;
    right: unset !important;
    transform: translate(-50%, -50%); }
  .btn.loading:after {
    animation: spin 2s linear infinite; }
  .btn-center {
    margin: 0 auto; }
  .btn-pri {
    background-color: #006bce !important; }
  .btn-sec {
    color: #006bce;
    background-color: white;
    border-color: #006bce; }
  .btn-third {
    color: #00a523;
    border-radius: 0.4rem;
    border-color: #00a523;
    background-color: transparent; }
    @media screen and (min-width: 1201px) {
      .btn-third:hover {
        color: white; } }
  .btn-delete {
    color: #242424;
    padding: 0.8rem !important;
    font-size: 1.8rem !important;
    border: 0.1rem solid #bfbfbf; }
    @media screen and (min-width: 1201px) {
      .btn-delete:hover img {
        filter: brightness(0) invert(1); } }
  .btn span {
    line-height: normal; }
  .btn img {
    flex-shrink: 0;
    transition: 0.4s ease-in-out;
    width: 2.4rem;
    height: 2.4rem; }
  .btn .wpcf7-spinner {
    top: 50%;
    left: 50%;
    margin: 0 auto;
    position: absolute;
    transform: translate(-50%, -50%); }

.processing::before {
  margin: 0 !important; }

form .form-wrap {
  row-gap: 2.4rem; }

form .form-label {
  row-gap: 0.8rem; }

form .form-text {
  font-size: 2rem;
  font-weight: 600;
  line-height: 150%; }
  @media only screen and (max-width: 1200px) {
    form .form-text {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    form .form-text {
      font-size: 1.6rem; } }
  form .form-text sup {
    color: #ef4444; }

form .form-group:has(.custom-input-file) {
  display: flex;
  row-gap: 1.2rem;
  flex-direction: column; }

form .form-wrap,
form .form-label {
  display: flex;
  flex-direction: column; }

@media screen and (min-width: 1201px) {
  form .form-action .btn {
    min-width: 25rem; } }

form input {
  height: 5rem;
  padding: 0.8rem 1.6rem; }
  @media screen and (max-width: 576px) {
    form input {
      height: 4.5rem; } }

form textarea {
  resize: none;
  height: 20rem;
  padding: 1.6rem; }

form input,
form textarea {
  border: 0;
  outline: 0;
  width: 100%;
  font-size: 2rem;
  font-weight: 400;
  color: #242424;
  transition: 0.4s ease-in-out;
  border-radius: 0.8rem;
  background-color: #f9fafb;
  font-family: var(--font-pri);
  border: 0.1rem solid #e5e5e5; }
  form input:hover, form input:focus,
  form textarea:hover,
  form textarea:focus {
    border-color: #242424; }
  form input::placeholder,
  form textarea::placeholder {
    color: #a3a3a3; }

.custom-input-file {
  height: 10rem;
  cursor: pointer;
  user-select: none;
  border-radius: 0.8rem;
  padding: 0.8rem 1.6rem;
  background-color: #f9fafb;
  border: 0.2rem dashed #e5e5e5; }
  .custom-input-file input {
    display: none; }
  .custom-input-file label {
    height: 100%;
    font-size: 2rem;
    display: block;
    cursor: pointer;
    font-weight: 600;
    text-align: center;
    align-content: center;
    text-transform: uppercase; }
    @media only screen and (max-width: 1200px) {
      .custom-input-file label {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .custom-input-file label {
        font-size: 1.6rem; } }

.g-recaptcha-wrap {
  padding: 0 !important; }

.wpcf7-form-control-wrap {
  width: 100%;
  display: block; }

.wpcf7-not-valid-tip {
  right: 0;
  z-index: 4;
  color: white;
  bottom: -2.2rem;
  padding: 0.4rem;
  font-size: 1.2rem;
  width: fit-content;
  position: absolute;
  border-radius: 0.5rem;
  background-color: red; }
  .wpcf7-not-valid-tip::before {
    content: "";
    width: 0;
    height: 0;
    bottom: 100%;
    right: 1.6rem;
    position: absolute;
    border-left: 0.5rem solid transparent;
    border-right: 0.5rem solid transparent;
    border-bottom: 0.5rem solid #ec1f26; }

.wpcf7-response-output {
  text-align: center;
  margin: 2rem 0 0 0 !important; }
  @media screen and (max-width: 1200px) {
    .wpcf7-response-output {
      font-size: 1.4rem !important;
      margin: 1.2rem 0 0 0 !important; } }

.select2-results {
  box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15);
  overflow: hidden;
  background-color: white;
  border-radius: 0 !important;
  border: 0.1rem solid white; }

.select2-container .select2-dropdown {
  border: 0;
  background-color: transparent; }

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #db1f26; }

.form-group select {
  width: 100% !important;
  border-radius: 0.6rem;
  border: 0.1rem solid #d9d9d9;
  outline: none;
  background-color: #f9fafb;
  text-align: left;
  overflow: hidden;
  transition: 0.5s ease;
  font-size: 1.6rem;
  color: #2e2b24;
  font-weight: 400;
  line-height: 150%;
  cursor: pointer;
  height: 5rem;
  padding: 0.8rem 2.8rem 0.8rem 1.6rem; }
  .form-group select:focus {
    border-color: #2e2b24; }

.form-box {
  position: relative; }
  .form-box:has(select)::before {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    position: absolute;
    top: 70%;
    right: 2.4rem;
    transform: translateY(-50%);
    background: url(../img/icons/ic-down.svg);
    background-size: contain;
    background-repeat: no-repeat; }

.carts {
  padding: 8rem 0; }
  @media screen and (max-width: 768px) {
    .carts {
      padding: 4rem 0; } }
  .carts .title-w-desc {
    text-align: center; }
  .carts .carts-box {
    position: relative;
    gap: 0.8rem 1.6rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 1200px) {
      .carts .carts-box {
        column-gap: 1rem; } }
    @media screen and (max-width: 850px) {
      .carts .carts-box {
        align-items: baseline;
        flex-direction: column; } }
  .carts .carts-img {
    flex-shrink: 0;
    max-width: 9rem;
    user-select: none;
    border-radius: 0.4rem;
    background-color: white; }
    @media screen and (max-width: 850px) {
      .carts .carts-img {
        margin-left: auto; } }
  .carts .carts-content {
    display: flex;
    row-gap: 1.2rem;
    flex-direction: column-reverse; }
  .carts .quantity {
    display: flex;
    margin: 0 auto;
    user-select: none;
    width: fit-content;
    border-radius: 0.4rem; }
  .carts .carts-quantity_minus,
  .carts .carts-quantity_plus {
    padding: 0;
    cursor: pointer;
    border-radius: 0.4rem;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
  .carts .screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  .carts .carts-action {
    display: flex;
    gap: 2.4rem;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 0.8rem; }
    @media screen and (max-width: 480px) {
      .carts .carts-action {
        flex-direction: column; }
        .carts .carts-action .btn {
          width: 100%; } }
  .carts .total-cart {
    padding: 0.8rem 0;
    gap: 0.8rem 2.4rem;
    justify-content: flex-end;
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
  .carts .count-total {
    font-size: 2rem;
    font-weight: 600;
    column-gap: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: end; }
    .carts .count-total:first-child {
      min-width: 16rem; }
    .carts .count-total span {
      font-weight: 700;
      font-size: 2.4rem;
      color: #f23322; }
    .carts .count-total.total span {
      color: #1a7514; }

.carts-block {
  width: 100%;
  padding: 2.4rem;
  border-radius: 1.2rem;
  background-color: white;
  box-shadow: 0 0.8rem 1.2rem 0 rgba(48, 48, 48, 0.1);
  -webkit-box-shadow: 0 0.8rem 1.2rem 0 rgba(48, 48, 48, 0.1); }
  .carts-block .remove {
    transition: 0.3s;
    margin-left: auto; }
    .carts-block .remove > img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  .carts-block .carts-content {
    text-align: left;
    flex-direction: column; }
    @media screen and (max-width: 850px) {
      .carts-block .carts-content {
        gap: 2.4rem;
        flex-direction: row-reverse; } }
  .carts-block table {
    width: 100%; }
    .carts-block table td:not(:last-child) {
      padding-right: 2.4rem; }
      @media screen and (max-width: 1200px) {
        .carts-block table td:not(:last-child) {
          padding-right: 1.2rem; } }
    .carts-block table td {
      line-height: 1.5;
      vertical-align: middle; }
    @media screen and (max-width: 850px) {
      .carts-block table thead tr {
        display: none; } }
    .carts-block table thead tr td {
      font-size: 2rem;
      font-weight: 700;
      color: #242424;
      text-align: center; }
    @media screen and (max-width: 850px) {
      .carts-block table tbody tr {
        border-bottom: 0.1rem solid #d9d9d9; } }
    .carts-block table tbody tr td {
      color: #303030;
      padding: 1.2rem 0;
      text-align: center;
      border-bottom: 0.1rem solid #f0f0f0; }
      @media screen and (max-width: 850px) {
        .carts-block table tbody tr td {
          width: 100%;
          padding: 1.2rem;
          border-bottom: 0;
          column-gap: 1.6rem;
          align-items: center;
          display: flex !important;
          background-color: white;
          justify-content: space-between; }
          .carts-block table tbody tr td::before {
            content: attr(data-text) !important;
            text-align: left;
            font-size: 1.4rem;
            width: fit-content;
            white-space: nowrap;
            font-weight: 600 !important; }
          .carts-block table tbody tr td:nth-child(even) {
            background-color: #fafafa; } }
      .carts-block table tbody tr td:not(:first-child) {
        font-weight: 700; }

.mona_checkout_form {
  padding: 8rem 0; }
  .mona_checkout_form .cart-title {
    color: #242424;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    margin-bottom: 4rem;
    text-transform: uppercase; }
    @media only screen and (max-width: 1200px) {
      .mona_checkout_form .cart-title {
        font-size: 3.5rem; } }
    @media only screen and (max-width: 800px) {
      .mona_checkout_form .cart-title {
        font-size: 2.7rem; } }
  .mona_checkout_form .woocommerce-checkout .blockOverlay::before {
    content: unset; }
  .mona_checkout_form .order-total th,
  .mona_checkout_form .order-total td {
    font-size: 2.4rem; }
    @media only screen and (max-width: 1200px) {
      .mona_checkout_form .order-total th,
      .mona_checkout_form .order-total td {
        font-size: 2rem; } }
    @media only screen and (max-width: 800px) {
      .mona_checkout_form .order-total th,
      .mona_checkout_form .order-total td {
        font-size: 1.7rem; } }
    @media screen and (max-width: 800px) {
      .mona_checkout_form .order-total th,
      .mona_checkout_form .order-total td {
        font-size: 1.8rem; } }
  .mona_checkout_form .verify > h3 {
    color: #242424;
    font-size: 3.2rem;
    font-weight: 600; }
    @media only screen and (max-width: 1200px) {
      .mona_checkout_form .verify > h3 {
        font-size: 2.7rem; } }
    @media only screen and (max-width: 800px) {
      .mona_checkout_form .verify > h3 {
        font-size: 2.2rem; } }
  .mona_checkout_form .result {
    background: #fff;
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem; }
    .mona_checkout_form .result p {
      display: flex;
      gap: 2.4rem;
      justify-content: space-between;
      color: #242424;
      font-size: 1.6rem;
      font-style: normal;
      font-weight: 600; }
      @media screen and (max-width: 480px) {
        .mona_checkout_form .result p {
          flex-direction: column;
          gap: 0.8rem; } }
      .mona_checkout_form .result p span:last-child {
        max-width: 50rem;
        text-align: right; }
        @media screen and (max-width: 768px) {
          .mona_checkout_form .result p span:last-child {
            max-width: 45.6rem; } }
        @media screen and (max-width: 480px) {
          .mona_checkout_form .result p span:last-child {
            max-width: 100%;
            text-align: left; } }
  .mona_checkout_form .information_same {
    margin: 2.4rem 0; }
    .mona_checkout_form .information_same .billing_info > p {
      padding: 2.4rem;
      background: #e4e7ec;
      display: block;
      width: 100%;
      color: #242424;
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.3;
      border-radius: 0.8rem 0.8rem 0 0; }
  .mona_checkout_form .mona_actions {
    display: flex;
    flex-direction: column;
    gap: 1.6rem; }
    .mona_checkout_form .mona_actions button {
      cursor: pointer;
      width: 100%;
      color: #fff;
      text-align: center;
      font-size: 2rem;
      font-weight: 600;
      padding: 2rem;
      border-radius: 0.4rem;
      background: #006bce;
      box-shadow: 0rem 0.4rem 0.4rem 0rem rgba(0, 0, 0, 0.25);
      border: 0.1rem solid #006bce;
      transition: 0.3s; }
      @media only screen and (max-width: 1200px) {
        .mona_checkout_form .mona_actions button {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .mona_checkout_form .mona_actions button {
          font-size: 1.6rem; } }
      .mona_checkout_form .mona_actions button:hover {
        background: #fff;
        color: #006bce;
        border-color: #006bce; }
      .mona_checkout_form .mona_actions button:last-child {
        background: #fff;
        border-color: #006bce;
        color: #006bce; }
        .mona_checkout_form .mona_actions button:last-child:hover {
          background: #006bce;
          color: #fff; }
  @media screen and (max-width: 768px) {
    .mona_checkout_form .mn-cart-img {
      width: 6rem;
      height: 6rem; } }
  .mona_checkout_form .remove:hover {
    background: transparent !important; }
  .mona_checkout_form .col2-set {
    display: flex;
    gap: 2.4rem; }
    @media screen and (max-width: 980px) {
      .mona_checkout_form .col2-set {
        flex-direction: column; } }
    .mona_checkout_form .col2-set::before, .mona_checkout_form .col2-set::after {
      display: none; }
  .mona_checkout_form .col-1,
  .mona_checkout_form .col-2 {
    width: calc(50% - 1.2rem) !important;
    float: unset !important; }
    @media screen and (max-width: 980px) {
      .mona_checkout_form .col-1,
      .mona_checkout_form .col-2 {
        width: 100% !important; } }
    .mona_checkout_form .col-1 > .title,
    .mona_checkout_form .col-2 > .title {
      color: #242424;
      font-size: 3.2rem;
      font-weight: 600;
      margin-bottom: 4rem; }
      @media only screen and (max-width: 1200px) {
        .mona_checkout_form .col-1 > .title,
        .mona_checkout_form .col-2 > .title {
          font-size: 2.7rem; } }
      @media only screen and (max-width: 800px) {
        .mona_checkout_form .col-1 > .title,
        .mona_checkout_form .col-2 > .title {
          font-size: 2.2rem; } }
      @media screen and (max-width: 768px) {
        .mona_checkout_form .col-1 > .title,
        .mona_checkout_form .col-2 > .title {
          margin-bottom: 2rem; } }
  .mona_checkout_form #order_review_heading {
    padding: 2.4rem;
    background: #e4e7ec;
    display: block;
    width: 100%;
    color: #242424;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.3;
    border-radius: 0.8rem 0.8rem 0 0; }
    @media only screen and (max-width: 1200px) {
      .mona_checkout_form #order_review_heading {
        font-size: 1.8rem; } }
    @media only screen and (max-width: 800px) {
      .mona_checkout_form #order_review_heading {
        font-size: 1.6rem; } }
  .mona_checkout_form .information {
    border-radius: 0.8rem; }
    .mona_checkout_form .information label {
      background: #fff;
      border-radius: 0.8rem;
      display: flex;
      gap: 0.8rem; }
      .mona_checkout_form .information label span {
        line-height: 1; }
      .mona_checkout_form .information label:has(#xuat_hoa_don[type="checkbox"]) {
        padding: 2.4rem; }
        .mona_checkout_form .information label:has(#xuat_hoa_don[type="checkbox"])::before {
          content: "";
          width: 1.7rem;
          height: 1.7rem;
          display: block;
          background: url(../img/cart/non-active.svg);
          background-size: contain;
          background-repeat: no-repeat;
          transition: 0.3s; }
      .mona_checkout_form .information label:has(#xuat_hoa_don[type="checkbox"]:checked)::before {
        background: url(../img/cart/active.svg);
        background-size: contain;
        background-repeat: no-repeat; }
      .mona_checkout_form .information label #xuat_hoa_don {
        display: none; }
    .mona_checkout_form .information h3 {
      padding: 2.4rem;
      background: #e4e7ec;
      display: block;
      width: 100%;
      color: #242424;
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.3;
      border-radius: 0.8rem 0.8rem 0 0; }
      @media only screen and (max-width: 1200px) {
        .mona_checkout_form .information h3 {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .mona_checkout_form .information h3 {
          font-size: 1.6rem; } }
  .mona_checkout_form .woocommerce-billing-fields {
    border-radius: 0.8rem 0.8rem 0 0; }
  .mona_checkout_form .woocommerce-additional-fields {
    padding: 0 2.4rem 2.4rem 2.4rem;
    background: #fff;
    border-radius: 0 0 0.8rem 0.8rem; }
    .mona_checkout_form .woocommerce-additional-fields .form-row {
      width: 100% !important; }
  .mona_checkout_form form label {
    display: block;
    color: #242424;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5 !important; }
    .mona_checkout_form form label:has(input[type="radio"]) {
      cursor: pointer;
      display: flex;
      gap: 0.8rem;
      align-items: center; }
      .mona_checkout_form form label:has(input[type="radio"])::before {
        content: "";
        width: 1.7rem;
        height: 1.7rem;
        display: block;
        background: url(../img/cart/non-active.svg);
        background-size: contain;
        background-repeat: no-repeat;
        transition: 0.3s; }
    .mona_checkout_form form label:has(input[type="radio"]:checked)::before {
      background: url(../img/cart/active.svg);
      background-size: contain;
      background-repeat: no-repeat; }
  .mona_checkout_form form .woocommerce-checkout-payment .wc_payment_methods .payment_method_cod label {
    column-gap: 1.2rem;
    display: flex;
    align-items: center; }
    .mona_checkout_form form .woocommerce-checkout-payment .wc_payment_methods .payment_method_cod label::before {
      content: "";
      flex-shrink: 0;
      display: block;
      cursor: pointer;
      user-select: none;
      position: relative;
      text-align: center;
      width: 2rem;
      height: 2rem;
      vertical-align: top;
      border-radius: 100%;
      transition: 0.4s ease-in-out;
      border: 0.1rem solid #242424; }
  .mona_checkout_form form .woocommerce-checkout-payment .wc_payment_methods .payment_method_cod .payment_box {
    display: none !important; }
  .mona_checkout_form form .woocommerce-checkout-payment .wc_payment_methods:has(input[type="radio"]:checked) label::before {
    border-color: #242424;
    background-color: #242424;
    box-shadow: inset 0 0 0 0.5rem white; }
  .mona_checkout_form form input[type="radio"] {
    display: none; }
  .mona_checkout_form form .form-row {
    display: block;
    margin: 0;
    padding: 0; }
    .mona_checkout_form form .form-row:nth-child(1), .mona_checkout_form form .form-row:nth-child(2) {
      width: calc(50% - 1.2rem); }
    .mona_checkout_form form .form-row:nth-child(8) {
      width: 100%; }
    .mona_checkout_form form .form-row > label {
      margin-bottom: 0.6rem; }
      .mona_checkout_form form .form-row > label span {
        color: #cb1c22; }
    .mona_checkout_form form .form-row input,
    .mona_checkout_form form .form-row textarea {
      padding: 0.8rem 1.6rem;
      border: 0.1rem solid #cbd5e1;
      background: #fff;
      box-shadow: 0rem 0.1rem 0.2rem 0rem rgba(16, 24, 40, 0.05);
      height: unset;
      font-size: 1.6rem;
      font-weight: 600;
      line-height: 1;
      border-radius: 0; }
      .mona_checkout_form form .form-row input[type="radio"],
      .mona_checkout_form form .form-row textarea[type="radio"] {
        display: none; }
      .mona_checkout_form form .form-row input::placeholder,
      .mona_checkout_form form .form-row textarea::placeholder {
        color: #98a2b3; }
      .mona_checkout_form form .form-row input:focus,
      .mona_checkout_form form .form-row textarea:focus {
        border-color: #242424; }
  .mona_checkout_form form textarea {
    min-height: 10rem; }
  .mona_checkout_form form .form-row-wide {
    width: 100%; }
  .mona_checkout_form form .form-row-first,
  .mona_checkout_form form .form-row-last {
    width: calc(50% - 1.2rem); }
  .mona_checkout_form form #billing_city_field {
    width: 100%; }
  .mona_checkout_form form .woocommerce-billing-fields__field-wrapper,
  .mona_checkout_form form .woocommerce-shipping-fields__field-wrapper {
    display: flex;
    gap: 2.4rem;
    flex-wrap: wrap;
    row-gap: 2.4rem;
    padding: 2.4rem;
    background: #fff; }
  .mona_checkout_form form .select2-container {
    width: 100% !important; }
  .mona_checkout_form form .select2-container .select2-selection--single {
    border-color: #cbd5e1;
    border-radius: 0;
    height: 100%;
    padding: 0.8rem 1.6rem; }
    .mona_checkout_form form .select2-container .select2-selection--single .select2-selection__rendered {
      color: #242424;
      line-height: normal;
      font-size: 1.6rem;
      font-weight: 600;
      padding: 0; }
  .mona_checkout_form .mn-cart-price .price {
    align-items: end; }
    @media screen and (max-width: 480px) {
      .mona_checkout_form .mn-cart-price .price {
        flex-direction: row; } }
    .mona_checkout_form .mn-cart-price .price ins {
      color: #242424;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.5; }
    .mona_checkout_form .mn-cart-price .price .woocommerce-Price-currencySymbol {
      margin-left: 0.2rem; }

#ship-to-different-address {
  margin: 2rem 0;
  background: transparent;
  padding: 0; }
  #ship-to-different-address > label {
    background: #fff;
    border-radius: 0;
    border-radius: 0.8rem;
    display: flex;
    gap: 0.8rem;
    padding: 2.4rem; }
    #ship-to-different-address > label span {
      line-height: 1; }
    #ship-to-different-address > label:has(input[type="checkbox"])::before {
      content: "";
      width: 1.7rem;
      height: 1.7rem;
      display: block;
      background: url(../img/cart/non-active.svg);
      background-size: contain;
      background-repeat: no-repeat;
      transition: 0.3s; }
    #ship-to-different-address > label:has(input[type="checkbox"]:checked)::before {
      background: url(../img/cart/active.svg);
      background-size: contain;
      background-repeat: no-repeat; }
    #ship-to-different-address > label > input {
      display: none; }

.shipping_address .form-row:nth-child(3) {
  width: 100%; }

.shop_table {
  overflow: hidden;
  border: 0 !important;
  background: transparent;
  border-radius: 0.8rem !important; }
  .shop_table ul li {
    margin: 0 !important; }
  .shop_table .woocommerce ul#shipping_method li {
    margin: 0; }
  .shop_table .cart_item {
    position: relative;
    background: #fff; }
    @media screen and (max-width: 480px) {
      .shop_table .cart_item {
        display: flex;
        flex-direction: column; }
        .shop_table .cart_item td {
          width: 100% !important; }
          .shop_table .cart_item td:first-child {
            padding-bottom: 0.6rem !important; }
          .shop_table .cart_item td:last-child {
            padding-top: 0.6rem !important;
            border-top: 0 !important; } }
    .shop_table .cart_item td:last-child .mn-cart-content {
      align-items: end; }
      @media screen and (max-width: 480px) {
        .shop_table .cart_item td:last-child .mn-cart-content {
          padding-right: 0 !important; } }
    @media screen and (max-width: 480px) {
      .shop_table .cart_item .remove_from_cart_button {
        position: absolute;
        top: 1rem;
        right: 1rem; } }
    .shop_table .cart_item .remove_from_cart_button img {
      width: 100%;
      height: 100%;
      margin: 0; }
  .shop_table .mn-cart-box {
    padding: 0; }
  .shop_table .mn-cart-content {
    padding: 0; }
    @media screen and (max-width: 480px) {
      .shop_table .mn-cart-content {
        padding-right: 1.6rem; } }
    .shop_table .mn-cart-content .text-16 {
      max-width: 100%;
      margin: 0; }
  .shop_table .product-meta {
    display: none !important; }
  .shop_table tbody td {
    padding: 2rem 1.6rem !important; }
    .shop_table tbody td:last-child {
      width: 25%; }
  .shop_table tfoot tr:not(:last-child) {
    background: #fff; }
  .shop_table tfoot tr:last-child th,
  .shop_table tfoot tr:last-child td {
    border: 0; }
  @media screen and (max-width: 480px) {
    .shop_table tfoot tr {
      display: flex;
      justify-content: space-between; }
      .shop_table tfoot tr td {
        text-align: end;
        flex: 1; }
        .shop_table tfoot tr td li {
          margin: 0 !important; } }

.form-box-inner label {
  display: block;
  color: #242424;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5; }
  .form-box-inner label:has(input[type="radio"]) {
    cursor: pointer;
    display: flex;
    gap: 0.8rem;
    align-items: center; }
    .form-box-inner label:has(input[type="radio"])::before {
      content: "";
      width: 1.7rem;
      height: 1.7rem;
      display: block;
      background: url(../img/cart/non-active.svg);
      background-size: contain;
      background-repeat: no-repeat;
      transition: 0.3s; }
  .form-box-inner label:has(input[type="radio"]:checked)::before {
    background: url(../img/cart/active.svg);
    background-size: contain;
    background-repeat: no-repeat; }

.form-box-inner input[type="radio"] {
  display: none; }

.form-box-inner .form-row {
  display: block; }
  .form-box-inner .form-row .note {
    margin-top: 1.2rem; }
    @media screen and (max-width: 480px) {
      .form-box-inner .form-row .note {
        text-align: center; } }
  .form-box-inner .form-row > label {
    margin-bottom: 0.6rem; }
    .form-box-inner .form-row > label span {
      color: #cb1c22; }
  .form-box-inner .form-row input,
  .form-box-inner .form-row textarea {
    padding: 0.8rem 1.6rem;
    border: 0.1rem solid #cbd5e1;
    background: #fff;
    box-shadow: 0rem 0.1rem 0.2rem 0rem rgba(16, 24, 40, 0.05);
    height: unset;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 0; }
    .form-box-inner .form-row input[type="radio"],
    .form-box-inner .form-row textarea[type="radio"] {
      display: none; }
    .form-box-inner .form-row input::placeholder,
    .form-box-inner .form-row textarea::placeholder {
      color: #98a2b3; }
    .form-box-inner .form-row input:focus,
    .form-box-inner .form-row textarea:focus {
      border-color: #242424; }

.form-box-inner textarea {
  min-height: 10rem; }

.form-box-inner .form-row-wide {
  width: 100%; }

.form-box-inner .form-row-first,
.form-box-inner .form-row-last {
  width: calc(50% - 1.2rem); }

.form-box-inner .woocommerce-billing-fields__field-wrapper,
.form-box-inner .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  gap: 2.4rem;
  flex-wrap: wrap;
  row-gap: 2.4rem; }

.form-box-inner .select2-container {
  width: 100% !important; }

.form-box-inner .select2-container .select2-selection--single {
  border-color: #cbd5e1;
  border-radius: 0;
  height: 100%;
  padding: 0.8rem 1.6rem; }
  .form-box-inner .select2-container .select2-selection--single .select2-selection__rendered {
    color: #242424;
    line-height: normal;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 0; }

.quantity img {
  margin: 0; }

.quantity input {
  padding: 0;
  background: transparent;
  height: auto;
  border: 0;
  border-radius: 0;
  width: 3rem !important; }

.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

.quantity input[type="number"] {
  -moz-appearance: textfield; }

.carts-quantity {
  display: flex;
  align-items: center;
  border-radius: 0.8rem;
  border: 0.1rem solid #bfbfbf;
  padding: 0.8rem;
  gap: 1.2rem; }

.carts-quantity_plus {
  filter: invert(1) brightness(0); }

.woocommerce-checkout-payment {
  background: #fff !important; }
  .woocommerce-checkout-payment .form-row {
    width: 100% !important; }
  .woocommerce-checkout-payment .woocommerce-privacy-policy-text {
    display: none; }
  .woocommerce-checkout-payment button.alt {
    display: none; }
  .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox {
    padding-left: 2.4rem; }
    .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox a {
      color: #006bce !important; }
    .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox::before {
      content: "";
      width: 1.7rem;
      height: 1.7rem;
      display: block;
      background: url(../img/cart/non-active.svg);
      background-size: contain;
      background-repeat: no-repeat;
      transition: 0.3s;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
    .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox:has(input:checked)::before {
      background: url(../img/cart/active.svg);
      background-size: contain;
      background-repeat: no-repeat; }
    .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox input {
      display: none !important; }
    .woocommerce-checkout-payment .woocommerce-form__label-for-checkbox .woocommerce-terms-and-conditions-checkbox-text {
      color: #242424 !important;
      font-size: 1.6rem;
      font-weight: 400;
      line-height: 1.5; }

.woocommerce-address-fields .form-row .select2-container.select2-container--default .select2-selection--single {
  border-radius: 0.8rem;
  background-color: #f9fafb;
  border: 0.1rem solid #e5e5e5;
  height: auto;
  padding: 0 !important; }

.woocommerce-address-fields .form-row .select2-container.select2-container--default .select2-selection__rendered {
  display: flex;
  align-items: center;
  height: 5rem;
  padding: 0.8rem 1.6rem; }

#customer_details .information_different,
#customer_details .verify,
#customer_details .billing_info,
#customer_details .shipping_info {
  display: flex;
  row-gap: 2.4rem;
  flex-direction: column; }

#customer_details .billing_info > p,
#customer_details .shipping_info > p {
  font-weight: 700;
  font-size: 1.8rem; }

.woocommerce-checkout-review-order .shop_table {
  display: flex;
  row-gap: 2.4rem;
  flex-direction: column; }
  @media screen and (max-width: 767px) {
    .woocommerce-checkout-review-order .shop_table {
      row-gap: 1.2rem; } }
  .woocommerce-checkout-review-order .shop_table tbody {
    display: flex;
    row-gap: 2.4rem;
    flex-direction: column; }
    @media screen and (max-width: 767px) {
      .woocommerce-checkout-review-order .shop_table tbody {
        row-gap: 1.2rem; } }
    .woocommerce-checkout-review-order .shop_table tbody tr {
      border-radius: 0.8rem;
      border: 0.1rem solid rgba(11, 24, 29, 0.1); }
      .woocommerce-checkout-review-order .shop_table tbody tr td {
        border: 0; }
        .woocommerce-checkout-review-order .shop_table tbody tr td:first-child {
          width: 100%; }
  .woocommerce-checkout-review-order .shop_table tfoot {
    display: flex;
    border-radius: 0.8rem;
    flex-direction: column; }
    .woocommerce-checkout-review-order .shop_table tfoot tr {
      display: flex; }
      .woocommerce-checkout-review-order .shop_table tfoot tr:not(:last-child) {
        border: 0; }
      .woocommerce-checkout-review-order .shop_table tfoot tr:last-child {
        margin-top: 4rem; }
        @media screen and (max-width: 1200px) {
          .woocommerce-checkout-review-order .shop_table tfoot tr:last-child {
            margin-top: 2.4rem; } }
        @media screen and (max-width: 767px) {
          .woocommerce-checkout-review-order .shop_table tfoot tr:last-child {
            margin-top: 1.6rem; } }
      .woocommerce-checkout-review-order .shop_table tfoot tr.order-total td .amount {
        color: #f00; }
      .woocommerce-checkout-review-order .shop_table tfoot tr th {
        width: 100%; }
      .woocommerce-checkout-review-order .shop_table tfoot tr td {
        flex-shrink: 0; }
        .woocommerce-checkout-review-order .shop_table tfoot tr td .woocommerce-shipping-methods li label {
          position: relative;
          padding-right: 2.8rem; }
          .woocommerce-checkout-review-order .shop_table tfoot tr td .woocommerce-shipping-methods li label::before {
            content: "";
            right: 0;
            top: -0.1rem;
            position: absolute;
            width: 2.4rem;
            height: 2.4rem;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: top;
            background-image: url("../../assets/img/icons/ico_show.svg"); }
      .woocommerce-checkout-review-order .shop_table tfoot tr th,
      .woocommerce-checkout-review-order .shop_table tfoot tr td {
        border: 0; }

.payment-heading {
  padding: 1.2rem 2rem;
  background-color: white;
  justify-content: space-between;
  border-bottom: 0.1rem solid #cfc8d8; }
  .payment-heading img {
    flex-shrink: 0; }
  .payment-heading .inner-box {
    display: flex;
    row-gap: 1.2rem;
    flex-direction: column; }
  .payment-heading .inner img {
    user-select: none;
    filter: brightness(0) saturate(100%) invert(47%) sepia(0%) saturate(39%) hue-rotate(352deg) brightness(97%) contrast(94%);
    width: 4rem;
    height: 4rem; }
    @media screen and (max-width: 1200px) {
      .payment-heading .inner img {
        width: 3.2rem;
        height: 3.2rem; } }
  .payment-heading .inner .text-16 {
    color: #98a2b3; }

.payment-heading,
.payment-heading .inner {
  column-gap: 1.2rem;
  display: flex;
  align-items: center; }

.woocommerce-message {
  outline: 0 !important; }

.popup {
  inset: 0;
  z-index: 105;
  position: fixed;
  visibility: hidden; }
  .popup.open .popup-overlay {
    opacity: 1;
    visibility: visible; }
  .popup.open .popup-main {
    opacity: 1;
    visibility: visible; }
  .popup .wpcf7-response-output {
    text-align: center; }
  .popup #quick-view-details > p {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center; }
    @media only screen and (max-width: 1200px) {
      .popup #quick-view-details > p {
        font-size: 2rem; } }
    @media only screen and (max-width: 800px) {
      .popup #quick-view-details > p {
        font-size: 1.7rem; } }

.popup-close {
  z-index: 5;
  top: 1.2rem;
  right: 1.2rem;
  cursor: pointer;
  user-select: none;
  border-radius: 50%;
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #242424; }
  @media screen and (max-width: 1200px) {
    .popup-close {
      top: 0.8rem;
      right: 0.8rem;
      width: 2.8rem;
      height: 2.8rem; } }
  .popup-close img {
    width: 2.4rem;
    height: 2.4rem;
    filter: brightness(0) invert(1); }

.popup-overlay {
  inset: 0;
  z-index: 1;
  opacity: 0;
  position: absolute;
  visibility: hidden;
  transition: 0.4s ease-in-out;
  background-color: rgba(0, 0, 0, 0.5); }

.popup-main {
  top: 50%;
  left: 50%;
  z-index: 2;
  opacity: 0;
  width: 100%;
  display: flex;
  height: 100dvh;
  max-width: 150rem;
  position: absolute;
  visibility: hidden;
  transition: 0.4s ease-in-out;
  overflow: hidden auto;
  flex-direction: column;
  justify-content: center;
  transform: translate(-50%, -50%); }
  .popup-main:has(.popup-contact) {
    max-width: 100rem; }

.popup-wrap {
  padding: 8rem;
  max-height: 90rem;
  position: relative;
  overflow: hidden auto;
  background-color: white; }
  @media screen and (max-width: 1200px) {
    .popup-wrap {
      padding: 4rem; } }
  @media screen and (max-width: 767px) {
    .popup-wrap {
      padding: 4rem 2.4rem; } }

.postbox-header .hndle {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.4rem; }
  @media only screen and (max-width: 1200px) {
    .postbox-header .hndle {
      font-size: 2.7rem; } }
  @media only screen and (max-width: 800px) {
    .postbox-header .hndle {
      font-size: 2.2rem; } }
  @media screen and (max-width: 1200px) {
    .postbox-header .hndle {
      margin-bottom: 1.6rem; } }

.quote-product-list {
  display: flex;
  row-gap: 1.2rem;
  flex-direction: column; }
  .quote-product-list ul {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2.4rem;
    margin: 0 -1.2rem !important; }
    @media screen and (max-width: 767px) {
      .quote-product-list ul {
        row-gap: 1.6rem;
        margin: 0 -0.8rem !important; } }
    .quote-product-list ul li {
      padding: 0 1.2rem;
      margin: 0 !important;
      width: calc(100% / 3); }
      @media screen and (max-width: 767px) {
        .quote-product-list ul li {
          padding: 0 0.8rem;
          width: calc(100% / 2); } }
      .quote-product-list ul li a {
        width: 100%;
        padding: 1.2rem;
        border-radius: 0.8rem;
        border: 0.1rem solid rgba(0, 0, 0, 0.2); }
        .quote-product-list ul li a > div > strong {
          font-size: 2.4rem;
          font-weight: 700;
          line-height: 1.5; }
          @media only screen and (max-width: 1200px) {
            .quote-product-list ul li a > div > strong {
              font-size: 2rem; } }
          @media only screen and (max-width: 800px) {
            .quote-product-list ul li a > div > strong {
              font-size: 1.7rem; } }

.quote-customer-info,
.quote-attachment {
  display: flex;
  row-gap: 1.2rem;
  flex-direction: column; }
  .quote-customer-info ul,
  .quote-attachment ul {
    display: flex;
    row-gap: 1.2rem;
    flex-direction: column; }

.banner-recruit {
  margin: 4rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .banner-recruit {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .banner-recruit {
      margin: 4rem 0rem; } }
  .banner-recruit-bg {
    inset: 0;
    z-index: -1;
    overflow: hidden;
    position: absolute; }
    @media screen and (min-width: 1201px) {
      .banner-recruit-bg {
        border-radius: 0.8rem; } }
    .banner-recruit-bg::before {
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      position: absolute;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%); }
    .banner-recruit-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .banner-recruit-position {
    z-index: 3;
    position: relative; }
  .banner-recruit-block {
    padding-block: 20rem; }
    @media screen and (max-width: 767px) {
      .banner-recruit-block {
        padding-block: 10rem; } }
  .banner-recruit-content {
    color: white;
    font-size: 7.2rem;
    text-align: center; }
    @media screen and (max-width: 1200px) {
      .banner-recruit-content {
        font-size: 4.8rem; } }
    @media screen and (max-width: 576px) {
      .banner-recruit-content {
        font-size: 3.2rem; } }
  .banner-recruit .container {
    position: relative; }

.article-box {
  height: 100%;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .article-box:hover img {
      transform: translate(-50%, -50%) scale(1.05); } }
  @media screen and (max-width: 767px) {
    .article-box {
      row-gap: 1.6rem; } }

.article-heading {
  user-select: none; }
  .article-heading-img {
    display: block;
    overflow: hidden;
    user-select: none;
    position: relative;
    border-radius: 0.8rem;
    padding-top: calc(390 / 485 * 100%); }
    .article-heading-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; }
  .article-heading-cate {
    z-index: 3;
    position: relative;
    text-align: center;
    transition: 0.4s ease-in-out;
    border-radius: 0.4rem;
    margin: -2.45rem auto 0;
    width: calc(100% - 4.8rem);
    background-color: #006bce; }
    @media screen and (min-width: 1201px) {
      .article-heading-cate:hover {
        background-color: #db1f26; } }
    @media screen and (max-width: 767px) {
      .article-heading-cate {
        width: calc(100% - 2.4rem); } }
    .article-heading-cate .title-24 {
      display: block;
      overflow: hidden;
      line-height: normal;
      white-space: nowrap;
      text-overflow: ellipsis;
      padding: 1.05rem 1.6rem; }

.article-content {
  height: 100%;
  row-gap: 1.5rem; }
  .article-content-cate {
    display: flex;
    align-items: center; }
    .article-content-cate > * {
      line-height: normal; }
      .article-content-cate > *:last-child::before {
        content: "-";
        color: inherit;
        margin: 0 0.4rem;
        user-select: none; }
    .article-content-cate .text-16 {
      font-size: 2rem; }
      @media only screen and (max-width: 1200px) {
        .article-content-cate .text-16 {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .article-content-cate .text-16 {
          font-size: 1.6rem; } }
  .article-content .title-24 {
    line-height: normal;
    transition: 0.4s ease-in-out; }
    @media screen and (min-width: 1201px) {
      .article-content .title-24:hover {
        color: #db1f26 !important; } }

.catalogue-box {
  height: 100%;
  overflow: hidden;
  border-radius: 0.8rem;
  background-color: white;
  box-shadow: 0.2rem 0.2rem 0.3rem 0 rgba(0, 0, 0, 0.25); }
  @media screen and (min-width: 1201px) {
    .catalogue-box:hover img {
      transform: translate(-50%, -50%) scale(1.05); } }

.catalogue-img {
  overflow: hidden;
  position: relative;
  padding-top: calc(284 / 358 * 100%); }
  .catalogue-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; }

.catalogue-content {
  height: 100%;
  padding: 2.4rem; }
  @media screen and (max-width: 1200px) {
    .catalogue-content {
      padding: 1.6rem; } }
  .catalogue-content .text-16 {
    transition: 0.4s ease-in-out; }
    @media screen and (min-width: 1201px) {
      .catalogue-content .text-16:hover {
        color: #db1f26; } }

.product-box {
  height: 100%;
  row-gap: 1.6rem;
  position: relative;
  transition: 0.4s ease-in-out;
  border-radius: 0.8rem;
  padding: 1.2rem 1.6rem;
  background-color: white; }
  @media screen and (min-width: 1201px) {
    .product-box:hover {
      box-shadow: 0 0.2rem 2rem 0 rgba(0, 0, 0, 0.15); }
      .product-box:hover .img img {
        transform: translate(-50%, -50%) scale(1.05); }
      .product-box:hover .view {
        opacity: 1;
        pointer-events: auto; } }
  @media screen and (max-width: 1200px) {
    .product-box {
      padding: 1.2rem; } }
  @media screen and (max-width: 576px) {
    .product-box {
      padding: 0.8rem; } }
  .product-box-heading {
    position: relative; }
    .product-box-heading .img {
      overflow: hidden;
      user-select: none;
      position: relative;
      border-radius: 0.8rem;
      padding-top: calc(1 / 1 * 100%); }
      .product-box-heading .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; }
    .product-box-heading .number {
      top: 0;
      left: 0;
      z-index: 3;
      color: white;
      font-size: 2rem;
      font-weight: 600;
      border-radius: 50%;
      user-select: none;
      position: absolute;
      width: 3.5rem;
      height: 3.5rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      pointer-events: none;
      background-color: #00a523; }
      @media screen and (max-width: 767px) {
        .product-box-heading .number {
          font-size: 1.6rem;
          width: 3.2rem;
          height: 3.2rem; } }
    .product-box-heading .view {
      top: 0;
      right: 0;
      display: flex;
      row-gap: 1.6rem;
      width: fit-content;
      position: absolute;
      transition: 0.4s ease-in-out;
      pointer-events: auto;
      border-radius: 0.4rem;
      flex-direction: column;
      padding: 0.8rem 0.4rem;
      background-color: white;
      border: 0.1rem solid #e4e4e4;
      box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2); }
      @media screen and (min-width: 1201px) {
        .product-box-heading .view {
          opacity: 0; } }
      @media screen and (max-width: 1200px) {
        .product-box-heading .view {
          row-gap: 1rem; } }
      .product-box-heading .view-item {
        flex-shrink: 0; }
        .product-box-heading .view-item > * {
          padding: 0 !important;
          background: transparent !important; }
        .product-box-heading .view-item .added_to_cart {
          display: none; }
      .product-box-heading .view-icon {
        display: block;
        position: relative; }
        @media screen and (min-width: 1201px) {
          .product-box-heading .view-icon:hover .text-12 {
            opacity: 1;
            pointer-events: auto; } }
        .product-box-heading .view-icon:after {
          content: unset !important; }
        .product-box-heading .view-icon img {
          object-fit: contain;
          width: 2.4rem;
          height: 2.4rem; }
        .product-box-heading .view-icon .text-12 {
          top: 50%;
          opacity: 0;
          isolation: isolate;
          padding: 1rem 2rem;
          width: max-content;
          position: absolute;
          transition: 0.4s ease-in-out;
          border-radius: 1rem;
          pointer-events: none;
          right: calc(100% + 2rem);
          transform: translateY(-50%); }
          @media screen and (min-width: 1201px) {
            .product-box-heading .view-icon .text-12:hover {
              color: #db1f26; } }
          .product-box-heading .view-icon .text-12::before {
            content: "";
            top: 0;
            left: 0;
            z-index: -1;
            height: 100%;
            position: absolute;
            border-radius: 0.6rem;
            width: calc(100% + 0.8rem);
            background-color: #f7f7f7;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
            background-image: url("../../assets/img/cataloguedt/view-bg.svg"); }
    .product-box-heading .sale {
      top: 0;
      left: 0;
      display: flex;
      row-gap: 0.8rem;
      position: absolute;
      pointer-events: none;
      flex-direction: column; }
      .product-box-heading .sale-box {
        gap: 0.4rem;
        min-width: 7.5rem;
        width: fit-content;
        padding: 0.8rem 1rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        border-radius: 10rem; }
        .product-box-heading .sale-box:first-child {
          background-color: #db1f26; }
          .product-box-heading .sale-box:first-child .text-12 {
            color: white; }
        .product-box-heading .sale-box:last-child {
          background-color: #fae803; }
        .product-box-heading .sale-box .text-12 {
          font-size: 1.2rem;
          font-family: var(--font-pri); }
        .product-box-heading .sale-box img {
          flex-shrink: 0;
          width: 1.6rem;
          height: 1.6rem; }
  .product-box-content {
    row-gap: 0.8rem; }
    .product-box-content > .text-16 {
      font-size: 2rem;
      transition: 0.4s ease-in-out; }
      @media only screen and (max-width: 1200px) {
        .product-box-content > .text-16 {
          font-size: 1.8rem; } }
      @media only screen and (max-width: 800px) {
        .product-box-content > .text-16 {
          font-size: 1.6rem; } }
      @media screen and (min-width: 1201px) {
        .product-box-content > .text-16:hover {
          color: #db1f26; } }
    .product-box-content .stock {
      column-gap: 0.8rem;
      display: flex;
      align-items: center; }
      .product-box-content .stock img {
        flex-shrink: 0;
        user-select: none;
        width: 1.5rem;
        height: 1.5rem; }
      .product-box-content .stock .text-16 {
        color: #999;
        font-size: 2rem; }
        @media only screen and (max-width: 1200px) {
          .product-box-content .stock .text-16 {
            font-size: 1.8rem; } }
        @media only screen and (max-width: 800px) {
          .product-box-content .stock .text-16 {
            font-size: 1.6rem; } }

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

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

.p-about .banner-recruit {
  margin: 0;
  position: relative; }
  @media screen and (max-width: 400px) {
    .p-about .banner-recruit-content .title-72 {
      margin: 0 auto;
      max-width: 40rem; } }
  .p-about .banner-recruit-content .title-72 strong {
    font-weight: 700; }
  .p-about .banner-recruit-content .title-72 span {
    font-size: 6.4rem; }
    @media only screen and (max-width: 1200px) {
      .p-about .banner-recruit-content .title-72 span {
        font-size: 3.9rem; } }
    @media only screen and (max-width: 800px) {
      .p-about .banner-recruit-content .title-72 span {
        font-size: 2.9rem; } }

.p-about .contact-form {
  margin-top: 0; }
  .p-about .contact-form-container {
    max-width: 124.6rem; }

body.p-about {
  background-color: white; }

.about {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .about {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .about {
      margin: 4rem 0rem; } }
  @media screen and (max-width: 991px) {
    .about-row {
      flex-direction: column-reverse; } }
  @media screen and (max-width: 991px) {
    .about-col {
      width: 100%; } }
  .about-bg {
    height: 100%;
    overflow: hidden;
    user-select: none;
    position: relative;
    border-radius: 0.8rem;
    padding-top: calc(1 / 1 * 100%); }
    @media screen and (min-width: 1201px) {
      .about-bg:hover img {
        transform: translate(-50%, -50%) scale(1.05); } }
    .about-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; }
  .about-content .title-40 {
    font-weight: 900;
    width: fit-content;
    position: relative;
    color: #006bce; }
    .about-content .title-40::before {
      top: 40%;
      width: 4.6rem;
      height: 0.2rem; }
    .about-content .title-40::after {
      top: 60%;
      width: 9.2rem;
      height: 0.3rem; }
    .about-content .title-40::before, .about-content .title-40:after {
      content: "";
      position: absolute;
      left: calc(100% + 0.8rem);
      transform: translate(0, -50%);
      background-color: #006bce; }
  .about-content .title-24 {
    line-height: 133%;
    text-align: justify; }
    .about-content .title-24 strong {
      font-weight: 700; }
  @media screen and (max-width: 800px) {
    .about-content-list {
      display: flex;
      row-gap: 0.8rem;
      flex-direction: column; } }
  .about-content-item {
    gap: 0.8rem;
    display: flex; }
    .about-content-item img {
      flex-shrink: 0;
      user-select: none;
      object-fit: cover;
      margin-top: 1.1rem;
      width: 2.4rem;
      height: 2.4rem; }
      @media screen and (max-width: 1200px) {
        .about-content-item img {
          margin-top: 0.8rem; } }
      @media screen and (max-width: 800px) {
        .about-content-item img {
          margin-top: 0.3rem;
          width: 2rem;
          height: 2rem; } }
    .about-content-item .title-24 {
      line-height: 200%;
      text-align: justify; }
      @media screen and (max-width: 800px) {
        .about-content-item .title-24 {
          line-height: 150%; } }
  .about-content .btn {
    text-transform: capitalize;
    padding: 0.15rem 0.8rem 0.15rem 2.34rem !important; }
    @media screen and (min-width: 1201px) {
      .about-content .btn:hover img {
        filter: brightness(0) invert(1); } }
    @media screen and (max-width: 800px) {
      .about-content .btn {
        padding: 0.15rem 0.8rem 0.15rem 2rem !important; } }
    .about-content .btn img {
      width: 4rem;
      height: 4rem; }
      @media screen and (max-width: 800px) {
        .about-content .btn img {
          width: 3.2rem;
          height: 3.2rem; } }

.vision {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .vision {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .vision {
      margin: 4rem 0rem; } }
  .vision-wrap > .title-32 {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    color: #006bce;
    padding-bottom: 0.8rem;
    border-bottom: 0.1rem solid #006bce; }
  .vision-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2.4rem;
    margin: 0 -1.2rem; }
  .vision-item {
    padding: 0 1.2rem;
    width: calc(100% / 2); }
    @media screen and (max-width: 576px) {
      .vision-item {
        width: 100%; } }
    @media screen and (min-width: 577px) {
      .vision-item:nth-child(even) .vision-heading {
        justify-content: flex-start;
        flex-direction: row-reverse; } }
  .vision-box {
    height: 100%;
    padding: 2.4rem;
    transition: 0.4s ease-in-out;
    border-radius: 0.8rem;
    background-color: white;
    border: 0.3rem solid transparent;
    box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 1201px) {
      .vision-box:hover {
        border-color: #006bce;
        box-shadow: 0 0 1rem 0.1rem rgba(0, 107, 206, 0.55); } }
    @media screen and (max-width: 1200px) {
      .vision-box {
        padding: 1.6rem; } }
    @media screen and (max-width: 767px) {
      .vision-box {
        row-gap: 1.6rem; } }
  .vision-heading {
    gap: 0.8rem 1.6rem;
    display: flex;
    align-items: center; }
    .vision-heading .title-32 {
      color: #006bce; }
    .vision-heading img {
      flex-shrink: 0;
      user-select: none;
      width: 8rem;
      height: 8rem; }
      @media screen and (max-width: 1200px) {
        .vision-heading img {
          width: 6.4rem;
          height: 6.4rem; } }
  .vision-content .title-24 {
    line-height: 166%;
    text-align: justify; }
    @media screen and (max-width: 767px) {
      .vision-content .title-24 {
        line-height: 140%; } }

.core {
  position: relative;
  margin: 8rem 0rem 8rem;
  padding: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .core {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .core {
      margin: 4rem 0rem; } }
  @media screen and (max-width: 992px) {
    .core {
      padding: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .core {
      padding: 4rem 0rem; } }
  .core-bg {
    inset: 0;
    z-index: -1;
    position: absolute; }
    .core-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .core-wrap > .title-32 {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    color: #006bce;
    padding-bottom: 0.8rem;
    border-bottom: 0.1rem solid #006bce; }
  .core-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 2.4rem;
    margin: 0 -1.2rem; }
    @media screen and (max-width: 1200px) {
      .core-list {
        row-gap: 1.6rem;
        margin: 0 -0.8rem; } }
    @media screen and (max-width: 1024px) {
      .core-list {
        justify-content: center; } }
  .core-item {
    padding: 0 1.2rem;
    width: calc(100% / 4); }
    @media screen and (max-width: 1200px) {
      .core-item {
        padding: 0 0.8rem; } }
    @media screen and (max-width: 1024px) {
      .core-item {
        width: calc(100% / 3); } }
    @media screen and (max-width: 767px) {
      .core-item {
        width: calc(100% / 2); } }
    @media screen and (max-width: 576px) {
      .core-item {
        width: 100%; } }
  .core-box {
    height: 100%;
    padding: 2.4rem;
    transition: 0.4s ease-in-out;
    border-radius: 0.8rem;
    background-color: white;
    border: 0.3rem solid transparent;
    box-shadow: 0 0 1rem 0.1rem rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 1201px) {
      .core-box:hover {
        border-color: #006bce;
        box-shadow: 0 0 1.5rem 0.3rem rgba(0, 107, 206, 0.2); } }
    @media screen and (max-width: 1200px) {
      .core-box {
        padding: 2rem; } }
    @media screen and (max-width: 767px) {
      .core-box {
        padding: 1.6rem; } }
  .core-heading img {
    flex-shrink: 0;
    margin: 0 auto;
    user-select: none;
    width: 8rem;
    height: 8rem; }
    @media screen and (max-width: 767px) {
      .core-heading img {
        width: 6.4rem;
        height: 6.4rem; } }
  .core-heading-content {
    text-align: center;
    text-transform: uppercase; }
    .core-heading-content .title-32 {
      color: #006bce; }
  .core-content .text-20 {
    line-height: 150%;
    text-align: justify; }

.acti {
  margin: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .acti {
      margin: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .acti {
      margin: 4rem 0rem; } }
  .acti-wrap > .title-32 {
    margin: 0 auto;
    position: relative;
    width: fit-content;
    color: #006bce;
    margin-bottom: 3.2rem;
    padding-bottom: 0.8rem;
    border-bottom: 0.1rem solid #006bce; }
    @media screen and (max-width: 767px) {
      .acti-wrap > .title-32 {
        margin-bottom: 2.4rem; } }
  .acti-box {
    position: relative;
    padding: 9.6rem 0rem 9.6rem; }
    @media screen and (max-width: 992px) {
      .acti-box {
        padding: 6rem 0rem; } }
    @media screen and (max-width: 576px) {
      .acti-box {
        padding: 4rem 0rem; } }
    .acti-box::before {
      content: "";
      top: 0;
      left: 50%;
      z-index: -1;
      width: 100vw;
      height: 100%;
      position: absolute;
      transform: translateX(-50%);
      background-color: rgba(206, 232, 255, 0.4); }
  .acti-heading {
    text-align: center; }
    .acti-heading .title-48 {
      font-weight: 900;
      color: #00a523;
      line-height: 145%; }
      @media screen and (max-width: 991px) {
        .acti-heading .title-48 {
          font-size: 3.6rem; } }
      @media screen and (max-width: 767px) {
        .acti-heading .title-48 {
          font-size: 2.4rem; } }
      @media screen and (max-width: 576px) {
        .acti-heading .title-48 br {
          display: none; } }
  .acti-block {
    margin: 8rem 0rem 8rem; }
    @media screen and (max-width: 992px) {
      .acti-block {
        margin: 6rem 0rem; } }
    @media screen and (max-width: 576px) {
      .acti-block {
        margin: 4rem 0rem; } }
  .acti-row {
    align-items: center; }
  @media screen and (max-width: 767px) {
    .acti-col {
      width: 100%; } }
  .acti-img {
    user-select: none;
    position: relative;
    padding-top: calc(1 / 1 * 100%); }
    .acti-img img {
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      transform: translate(-50%, -50%); }
  .acti-content .mona-content {
    text-align: justify; }

.about-service {
  overflow: hidden;
  position: relative;
  margin-bottom: -3rem;
  padding: 8rem 0rem 8rem; }
  @media screen and (max-width: 992px) {
    .about-service {
      padding: 6rem 0rem; } }
  @media screen and (max-width: 576px) {
    .about-service {
      padding: 4rem 0rem; } }
  .about-service-wrap > .title-32 {
    color: white;
    margin: 0 auto;
    position: relative;
    width: fit-content;
    padding-bottom: 0.8rem;
    border-bottom: 0.1rem solid white; }
  .about-service-bg {
    inset: 0;
    z-index: -1;
    position: absolute; }
    .about-service-bg::before {
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      position: absolute;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 50%); }
    .about-service-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .about-service-sw {
    position: relative; }
    .about-service-sw .swiper {
      margin: 0 -1.6rem;
      overflow: visible; }
      @media screen and (max-width: 1200px) {
        .about-service-sw .swiper {
          margin: 0 -0.8rem; } }
      @media screen and (min-width: 577px) {
        .about-service-sw .swiper-wrapper {
          align-items: end;
          left: calc(var(--offset-left) * 0.25); }
          .about-service-sw .swiper-wrapper:has(.swiper-slide.is-active:not(.swiper-slide-active):not(.swiper-slide-duplicate)) {
            left: 0; }
          .about-service-sw .swiper-wrapper:has(.swiper-slide-duplicate.is-active.swiper-slide-active) {
            left: calc(var(--offset-left) * 0.5) !important; } }
      .about-service-sw .swiper-slide {
        width: 25%;
        opacity: 0.4;
        height: unset;
        padding: 0 1.6rem;
        transition: 0.4s ease-in-out; }
        @media screen and (max-width: 1200px) {
          .about-service-sw .swiper-slide {
            padding: 0 0.8rem; } }
        @media screen and (max-width: 1024px) {
          .about-service-sw .swiper-slide {
            width: 25%; } }
        @media screen and (max-width: 991px) {
          .about-service-sw .swiper-slide {
            width: 20%; } }
        @media screen and (max-width: 767px) {
          .about-service-sw .swiper-slide {
            width: calc(100% / 2); } }
        @media screen and (max-width: 576px) {
          .about-service-sw .swiper-slide {
            width: 100%;
            transition: 0.4s ease-in-out; } }
        .about-service-sw .swiper-slide-active {
          opacity: 1; }
          @media screen and (min-width: 768px) {
            .about-service-sw .swiper-slide-active {
              width: 50%; } }
  @media screen and (min-width: 768px) and (max-width: 991px) {
    .about-service-sw .swiper-slide-active {
      width: 40%; } }
          @media screen and (min-width: 577px) {
            .about-service-sw .swiper-slide-active .about-service-img {
              height: 53.4rem; } }
  @media screen and (min-width: 577px) and (max-width: 767px) {
    .about-service-sw .swiper-slide-active .about-service-img {
      height: 43.4rem; } }
          .about-service-sw .swiper-slide-active .about-service-content {
            opacity: 1;
            display: block; }
      .about-service-sw .swiper-button-prev {
        transform: translateY(-50%) rotate(-180deg); }
      .about-service-sw .swiper-button-next {
        transform: translateY(-50%) rotate(-360deg); }
      .about-service-sw .swiper-button-prev, .about-service-sw .swiper-button-next {
        opacity: 0.6;
        transition: 0.4s ease-in-out;
        width: 11.6rem;
        height: 11.6rem;
        top: calc(50% - 6rem);
        border: 0.4rem solid white;
        background-color: transparent; }
        @media screen and (min-width: 1201px) {
          .about-service-sw .swiper-button-prev:hover, .about-service-sw .swiper-button-next:hover {
            opacity: 1;
            border-color: #006bce;
            background-color: #006bce; } }
        .about-service-sw .swiper-button-prev::after, .about-service-sw .swiper-button-next::after {
          transition: 0.4s ease-in-out;
          width: 4.8rem;
          height: 4.8rem;
          filter: brightness(0) invert(1);
          background-image: url("../../assets/img/about/icon-arrow1.svg"); }
      .about-service-sw .swiper-pagination {
        display: flex;
        align-items: center; }
        .about-service-sw .swiper-pagination-bullet {
          opacity: 1;
          flex-shrink: 0;
          width: 1.5rem;
          height: 1.5rem;
          background-color: white; }
          .about-service-sw .swiper-pagination-bullet-active {
            width: 2rem;
            height: 2rem;
            border: 0.1rem solid white;
            background-color: transparent; }
  .about-service-img {
    height: 50rem; }
    @media screen and (max-width: 767px) {
      .about-service-img {
        height: 40rem; } }
    .about-service-img .img {
      height: 100%;
      overflow: hidden;
      border-radius: 0.8rem; }
      .about-service-img .img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .about-service-box {
    height: 100%;
    display: flex;
    row-gap: 3.2rem;
    flex-direction: column; }
  .about-service-content {
    opacity: 0;
    transition: 0.4s ease-in-out;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-clamp: 1;
    -webkit-line-clamp: 1; }
    @media screen and (min-width: 1201px) {
      .about-service-content:hover .title-32 {
        color: #db1f26; } }
    .about-service-content .title-32 {
      color: white;
      line-height: 1.5;
      font-weight: 900;
      text-align: center;
      transition: 0.4s ease-in-out;
      pointer-events: none;
      text-transform: uppercase; }
      @media screen and (max-width: 1024px) {
        .about-service-content .title-32 {
          font-size: 2.4rem; } }
      .about-service-content .title-32 span {
        color: #18488f;
        width: 5rem;
        height: 5rem;
        margin-right: 1rem;
        align-content: center;
        display: inline-block;
        border-radius: 0.8rem;
        background-color: white;
        border: 0.2rem solid #18488f; }
        @media screen and (max-width: 1024px) {
          .about-service-content .title-32 span {
            width: 4rem;
            height: 4rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQuY3NzIiwic291cmNlcyI6WyJhYm91dC5zY3NzIiwiY29tbW9uLnNjc3MiLCJfY29yZS9fcmVzZXQuc2NzcyIsIl9jb3JlL19taXhpbi5zY3NzIiwiX2NvcmUvX3ZhcmlhYmxlLnNjc3MiLCJfY29yZS9fZm9udC5zY3NzIiwiX2NvcmUvX2Jhc2Uuc2NzcyIsIl9jb3JlL19mbGV4LnNjc3MiLCJfY29yZS9fbW9uYS5zY3NzIiwiX21vZHVsZXMvX2FsbC5zY3NzIiwiX21vZHVsZXMvX2NhcnQuc2NzcyIsIl9tb2R1bGVzL190aXRsZS5zY3NzIiwiX21vZHVsZXMvX3N3aXBlci5zY3NzIiwiX21vZHVsZXMvX2NvbXBhcmUuc2NzcyIsIl9tb2R1bGVzL19hbmltYXRpb24uc2NzcyIsIl9tb2R1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJfbW9kdWxlcy9fYnJlYWRjcnVtYi5zY3NzIiwiX21vZHVsZXMvX21lbnUtYXNpZGUuc2NzcyIsIl9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIl9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIl9sYXlvdXRzL19idG4uc2NzcyIsIl9sYXlvdXRzL19mb3JtLnNjc3MiLCJfbGF5b3V0cy9fcG9wdXAuc2NzcyIsIl9sYXlvdXRzL19iYW5uZXIuc2NzcyIsIl9sYXlvdXRzL19hcnRpY2xlLnNjc3MiLCJfbGF5b3V0cy9fY29udGFjdC5zY3NzIiwiX2xheW91dHMvX3N1cHBvcnQuc2NzcyIsIl9wYWdlcy9fYWJvdXQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiY29tbW9uXCI7XG5cbi8vIENvcmVcbkBpbXBvcnQgXCJfY29yZS9taXhpblwiO1xuQGltcG9ydCBcIl9jb3JlL3ZhcmlhYmxlXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIl9sYXlvdXRzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJfbGF5b3V0cy9zdXBwb3J0XCI7XG5cbi8vIFBhZ2VzXG5AaW1wb3J0IFwiX3BhZ2VzL2Fib3V0XCI7IiwiLy8gQ29yZVxuQGltcG9ydCBcIl9jb3JlL3Jlc2V0XCI7XG5AaW1wb3J0IFwiX2NvcmUvbWl4aW5cIjtcbkBpbXBvcnQgXCJfY29yZS92YXJpYWJsZVwiO1xuQGltcG9ydCBcIl9jb3JlL2ZvbnRcIjtcbkBpbXBvcnQgXCJfY29yZS9iYXNlXCI7XG5AaW1wb3J0IFwiX2NvcmUvZmxleFwiO1xuQGltcG9ydCBcIl9jb3JlL21vbmFcIjtcblxuLy8gTW9kdWxlc1xuQGltcG9ydCBcIl9tb2R1bGVzL2FsbFwiO1xuQGltcG9ydCBcIl9tb2R1bGVzL2NhcnRcIjtcbkBpbXBvcnQgXCJfbW9kdWxlcy90aXRsZVwiO1xuQGltcG9ydCBcIl9tb2R1bGVzL3N3aXBlclwiO1xuQGltcG9ydCBcIl9tb2R1bGVzL2NvbXBhcmVcIjtcbkBpbXBvcnQgXCJfbW9kdWxlcy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJfbW9kdWxlcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiX21vZHVsZXMvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcIl9tb2R1bGVzL21lbnUtYXNpZGVcIjtcblxuLy8gQ29tcG9uZW50XG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvZm9vdGVyXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIl9sYXlvdXRzL2J0blwiO1xuQGltcG9ydCBcIl9sYXlvdXRzL2Zvcm1cIjtcbkBpbXBvcnQgXCJfbGF5b3V0cy9wb3B1cFwiO1xuQGltcG9ydCBcIl9sYXlvdXRzL2Jhbm5lclwiO1xuQGltcG9ydCBcIl9sYXlvdXRzL2FydGljbGVcIjsiLCJodG1sLFxyXG5ib2R5LFxyXG5kaXYsXHJcbnNwYW4sXHJcbmFwcGxldCxcclxub2JqZWN0LFxyXG5pZnJhbWUsXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbnAsXHJcbmJsb2NrcXVvdGUsXHJcbnByZSxcclxuYSxcclxuYWJicixcclxuYWNyb255bSxcclxuYWRkcmVzcyxcclxuYmlnLFxyXG5jaXRlLFxyXG5jb2RlLFxyXG5kZWwsXHJcbmRmbixcclxuZW0sXHJcbmltZyxcclxuaW5zLFxyXG5rYmQsXHJcbnEsXHJcbnMsXHJcbnNhbXAsXHJcbnNtYWxsLFxyXG5zdHJpa2UsXHJcbnN0cm9uZyxcclxuc3ViLFxyXG5zdXAsXHJcbnR0LFxyXG52YXIsXHJcbmIsXHJcbnUsXHJcbmksXHJcbmNlbnRlcixcclxuZGwsXHJcbmR0LFxyXG5kZCxcclxub2wsXHJcbnVsLFxyXG5saSxcclxuZmllbGRzZXQsXHJcbmZvcm0sXHJcbmxhYmVsLFxyXG5sZWdlbmQsXHJcbnRhYmxlLFxyXG5jYXB0aW9uLFxyXG50Ym9keSxcclxudGZvb3QsXHJcbnRoZWFkLFxyXG50cixcclxudGgsXHJcbnRkLFxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuY2FudmFzLFxyXG5kZXRhaWxzLFxyXG5lbWJlZCxcclxuZmlndXJlLFxyXG5maWdjYXB0aW9uLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5tZW51LFxyXG5uYXYsXHJcbm91dHB1dCxcclxucnVieSxcclxuc2VjdGlvbixcclxuc3VtbWFyeSxcclxudGltZSxcclxubWFyayxcclxuYXVkaW8sXHJcbnZpZGVvIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmb250LXNpemU6IDEwMCU7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZGV0YWlscyxcclxuZmlnY2FwdGlvbixcclxuZmlndXJlLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5tZW51LFxyXG5uYXYsXHJcbnNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbm9sLFxyXG51bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLFxyXG5xIHtcclxuICAgIHF1b3Rlczogbm9uZTtcclxufVxyXG5cclxuYmxvY2txdW90ZTpiZWZvcmUsXHJcbmJsb2NrcXVvdGU6YWZ0ZXIsXHJcbnE6YmVmb3JlLFxyXG5xOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBjb250ZW50OiBub25lO1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdE1lZGlhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBtaXhpbiBtYXgoJHBvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHBvaW50KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtaW4oJHBvaW50KSB7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBvaW50KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0RmxleCBCb3hcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1jZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4LWljZW50ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamNlbnRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtamJldHdlZW4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5AbWl4aW4gYmdJbWFnZSgkcG9zaXRpb246IGNlbnRlciwgJHNpemU6IGNvdmVyLCAkcmVwZWF0OiBuby1yZXBlYXQpIHtcclxuICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiAkcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHM6IDAuNHMpIHtcclxuICB0cmFuc2l0aW9uOiAkcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuQG1peGluIGJveCgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcblxyXG5AbWl4aW4gaW1nQ292ZXIge1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gaW1nQ29udGFpbiB7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGxpbmVDbGFtcCgkbGluZTogMiwgJGRpc3BsYXk6IHRydWUpIHtcclxuICBAaWYgJGRpc3BsYXkge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIGxpbmUtY2xhbXA6ICRsaW5lO1xyXG4gIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBzaGFkb3cge1xyXG4gIGJveC1zaGFkb3c6IDAgMC4ycmVtIDJyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG5AbWl4aW4gcG9zQ2VudGVyIHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gbWFyZ2luKCRtYXJnaW4xLCAkbWFyZ2luMjogJG1hcmdpbjEpIHtcclxuICBtYXJnaW46ICRtYXJnaW4xIDByZW0gJG1hcmdpbjI7XHJcblxyXG4gIEBpbmNsdWRlIG1heCg5OTJweCkge1xyXG4gICAgbWFyZ2luOiA2cmVtIDByZW07XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgIG1hcmdpbjogNHJlbSAwcmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBhZGRpbmcoJHBhZGRpbmcxLCAkcGFkZGluZzI6ICRwYWRkaW5nMSkge1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nMSAwcmVtICRwYWRkaW5nMjtcclxuXHJcbiAgQGluY2x1ZGUgbWF4KDk5MnB4KSB7XHJcbiAgICBwYWRkaW5nOiA2cmVtIDByZW07XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgIHBhZGRpbmc6IDRyZW0gMHJlbTtcclxuICB9XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gIC0taGVpZ2h0LWhkOiAxOHJlbTtcclxuICAtLW1lbnUtYXNpZGU6IDhyZW07XHJcbiAgLS1tZW51LWFzaWRlLWhvdmVyOiAzM3JlbTtcclxuICAtLWZvbnQtcHJpOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4kY29sb3ItcHJpOiAjZGIxZjI2O1xyXG4kY29sb3Itc2VjOiAjMDBhNTIzO1xyXG4kY29sb3ItdGhpcmQ6ICMwMDZiY2U7XHJcbiRjb2xvci1mb3VyOiAjZmFlODAzO1xyXG4kY29sb3ItdGV4dDogIzI0MjQyNDtcclxuJGNvbG9yLWJnOiAjZjBmMGYwO1xyXG4iLCJAbWl4aW4gZnotMjAwIHtcbiAgZm9udC1zaXplOiAyMHJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMTVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxMHJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotOTAge1xuICBmb250LXNpemU6IDlyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTcyIHtcbiAgZm9udC1zaXplOiA3LjJyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei02NSB7XG4gIGZvbnQtc2l6ZTogNi41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotNjQge1xuICBmb250LXNpemU6IDYuNHJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy45cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei02MCB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01NiB7XG4gIGZvbnQtc2l6ZTogNS42cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA1LjFyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01NSB7XG4gIGZvbnQtc2l6ZTogNS41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei01MCB7XG4gIGZvbnQtc2l6ZTogNXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei00OCB7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiA0LjNyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjNyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTQ1IHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei00MiB7XG4gIGZvbnQtc2l6ZTogNC4ycmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjdyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTQwIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjdyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTM4IHtcbiAgZm9udC1zaXplOiAzLjhyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMzYge1xuICBmb250LXNpemU6IDMuNnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0zNSB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0zNCB7XG4gIGZvbnQtc2l6ZTogMy40cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjlyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTMyIHtcbiAgZm9udC1zaXplOiAzLjJyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMzAge1xuICBmb250LXNpemU6IDNyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMjkge1xuICBmb250LXNpemU6IDIuOXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi4zcmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yOCB7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTI2IHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMjUge1xuICBmb250LXNpemU6IDIuNXJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yNCB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yMiB7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0yMCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG5cbkBtaXhpbiBmei0xOSB7XG4gIGZvbnQtc2l6ZTogMS45cmVtO1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gIH1cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cblxuQG1peGluIGZ6LTE4IHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWl4aW4gZnotMTcge1xuICBmb250LXNpemU6IDEuN3JlbTtcbn1cblxuQG1peGluIGZ6LTE2IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbkBtaXhpbiBmei0xNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG5AbWl4aW4gZnotMTQge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuQG1peGluIGZ6LTEzIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbkBtaXhpbiBmei0xMiB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG5AbWl4aW4gZnotMTEge1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxuQG1peGluIGZ6LTEwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5AbWl4aW4gZnotOSB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuIiwiKiB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1zaXplOiA4cHg7XHJcbiAgLy8gc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcblxyXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDAuNHJlbTtcclxuICAgIGhlaWdodDogMC40cmVtO1xyXG4gIH1cclxuXHJcbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgjMzMzLCAwLjgpO1xyXG4gIH1cclxufVxyXG5cclxuYm9keSB7XHJcbiAgY29sb3I6ICMyNDI0MjQ7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXNpemU6IDEuNnJlbTtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaSk7XHJcblxyXG4gICYuYWRtaW4tYmFyIHtcclxuICAgIC5oZWFkZXIge1xyXG4gICAgICB0b3A6IDMuMnJlbTtcclxuXHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MnB4KSB7XHJcbiAgICAgICAgdG9wOiA0LjZyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5tb25hLWVtcHR5IHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcbn1cclxuXHJcbmEge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIENocm9tZSwgU2FmYXJpLCBFZGdlLCBPcGVyYSAqL1xyXG5pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcclxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qIEZpcmVmb3ggKi9cclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbn1cclxuXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMCAxLjZyZW07XHJcbiAgbWF4LXdpZHRoOiAxNTMuNnJlbTtcclxufVxyXG5cclxuaWZyYW1lIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5pbWcge1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50YWJCdG4ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdJdGVtIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5oaWRlLXNpdGVuYW1lIHtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4ubm8tc2Nyb2xsLFxyXG4ubm8tc2Nyb2xsLWNhcnQsXHJcbi5uby1zY3JvbGwtcG9wdXAge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IG5vbmU7XHJcbn1cclxuXHJcbi5vdmVybGF5LFxyXG4ub3ZlcmxheS1jYXJ0LFxyXG4ub3ZlcmxheS1tZW51IHtcclxuICBpbnNldDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogY2FsYygxMDBkdmggKyAzLjNyZW0pO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzYsIDM2LCAzNiwgMC44KTtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICB9XHJcbn1cclxuIiwiLnJvdyB7XHJcbiAgLS1yZzogMy4ycmVtO1xyXG4gIC0tY2c6IDMuMnJlbTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1jZykgLyAyICogLTEpIGNhbGModmFyKC0tcmcpICogLTEpO1xyXG5cclxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XHJcbiAgICAtLXJnOiAyLjRyZW07XHJcbiAgICAtLWNnOiAyLjRyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uY29sIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1yZyk7XHJcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWNnKSAvIDIpO1xyXG5cclxuICAmLTEyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJi0xMSB7XHJcbiAgICB3aWR0aDogY2FsYygxMSAvIDEyICogMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmLTEwIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwIC8gMTIgKiAxMDAlKTtcclxuICB9XHJcblxyXG4gICYtOSB7XHJcbiAgICB3aWR0aDogY2FsYyg5IC8gMTIgKiAxMDAlKTtcclxuICB9XHJcblxyXG4gICYtOCB7XHJcbiAgICB3aWR0aDogY2FsYyg4IC8gMTIgKiAxMDAlKTtcclxuICB9XHJcblxyXG4gICYtNyB7XHJcbiAgICB3aWR0aDogY2FsYyg3IC8gMTIgKiAxMDAlKTtcclxuICB9XHJcblxyXG4gICYtNiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgJi01IHtcclxuICAgIHdpZHRoOiBjYWxjKDUgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi00IHtcclxuICAgIHdpZHRoOiBjYWxjKDQgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi0zIHtcclxuICAgIHdpZHRoOiBjYWxjKDMgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi0yIHtcclxuICAgIHdpZHRoOiBjYWxjKDIgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJi0xIHtcclxuICAgIHdpZHRoOiBjYWxjKDEgLyAxMiAqIDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8tIEZMRVhcclxuJGZsZXgtZGVmYXVsdHM6IChcclxuICA4OiAwLjhyZW0sXHJcbiAgMTY6IDEuNnJlbSxcclxuICAyMDogMnJlbSxcclxuICAyNDogMi40cmVtLFxyXG4gIDMyOiAzLjJyZW0sXHJcbiAgNDA6IDRyZW0sXHJcbiAgNDg6IDQuOHJlbSxcclxuICA1MDogNXJlbSxcclxuICA1NjogNS42cmVtLFxyXG4gIDYwOiA2cmVtLFxyXG4gIDY4OiA2LjhyZW0sXHJcbiAgODA6IDhyZW0sXHJcbiAgMTAwOiAxMHJlbSxcclxuICAxMjA6IDEycmVtXHJcbik7XHJcblxyXG4vLy0gRkxFWCBCUkVBS1BPSU5UIDw9OTkycHhcclxuJHRhYmxldEJyZWFrcG9pbnRzOiAoKTtcclxuXHJcbkBlYWNoICRmbGV4TnVtYmVyLCAkZ2FwIGluICRmbGV4LWRlZmF1bHRzIHtcclxuICBAaWYgJGZsZXhOdW1iZXIgPj02MCB7XHJcbiAgICAvLy0gQXBwZW5kICRmbGV4TnVtYmVyIHRvICR0YWJsZXRCcmVha3BvaW50cyBhbmQgc2VwYXJhdG9yIGlzIGNvbW1hXHJcbiAgICAkdGFibGV0QnJlYWtwb2ludHM6IGFwcGVuZCgkdGFibGV0QnJlYWtwb2ludHMsICRmbGV4TnVtYmVyLCBjb21tYSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy0gRkxFWCBCUkVBS1BPSU5UIDw9NTc2cHhcclxuJG1vYmlsZUJyZWFrcG9pbnRzOiBtYXAta2V5cygkZmxleC1kZWZhdWx0cyk7XHJcblxyXG4uZmxleCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICBAZWFjaCAkZmxleE51bWJlciwgJGdhcCBpbiAkZmxleC1kZWZhdWx0cyB7XHJcbiAgICAmLSN7JGZsZXhOdW1iZXJ9IHtcclxuICAgICAgZ2FwOiAkZ2FwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWF4KDk5MnB4KSB7XHJcbiAgICBAZWFjaCAkZmxleE51bWJlciBpbiAkdGFibGV0QnJlYWtwb2ludHMge1xyXG4gICAgICAmLSN7JGZsZXhOdW1iZXJ9IHtcclxuICAgICAgICBnYXA6IDRyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1heCg1NzZweCkge1xyXG4gICAgQGVhY2ggJGZsZXhOdW1iZXIgaW4gJG1vYmlsZUJyZWFrcG9pbnRzIHtcclxuICAgICAgJi0jeyRmbGV4TnVtYmVyfSB7XHJcbiAgICAgICAgZ2FwOiAyLjRyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLm1vbmEtY29udGVudCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcblxyXG4gIGIsXHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG5cclxuICBlbSxcclxuICBpIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICB9XHJcbiAgaDEsXHJcbiAgaDIsXHJcbiAgaDMsXHJcbiAgaDQsXHJcbiAgaDUsXHJcbiAgaDYge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcclxuICB9XHJcbiAgaDEge1xyXG4gICAgQGluY2x1ZGUgZnotMjg7XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIEBpbmNsdWRlIGZ6LTI0O1xyXG4gIH1cclxuICBoMyB7XHJcbiAgICBAaW5jbHVkZSBmei0yMDtcclxuICB9XHJcbiAgaDQge1xyXG4gICAgQGluY2x1ZGUgZnotMjA7XHJcbiAgfVxyXG4gIGg1IHtcclxuICAgIEBpbmNsdWRlIGZ6LTE0O1xyXG4gIH1cclxuICBoNiB7XHJcbiAgICBAaW5jbHVkZSBmei0xMjtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBmei0yMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgdWwsXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcclxuICB9XHJcbiAgdWwgdWwsXHJcbiAgdWwgb2wsXHJcbiAgb2wgdWwsXHJcbiAgb2wgb2wge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gIH1cclxuICBvbCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgfVxyXG4gIHVsIHVsLFxyXG4gIG9sIHVsIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG4gIH1cclxuICBvbCBvbCxcclxuICB1bCBvbCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluO1xyXG4gIH1cclxuICBpbWcsXHJcbiAgaWZyYW1lIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbjogNHJlbSAwO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XHJcbiAgICAgIG1hcmdpbjogMi40cmVtIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJsb2NrcXVvdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgIGJvcmRlci1sZWZ0OiAxcmVtIHNvbGlkICNjY2M7XHJcbiAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgcGFkZGluZzogMWVtO1xyXG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICNjY2M7XHJcbiAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogNGVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMC4xZW07XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxuICB9XHJcbiAgdGFibGUge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAzLjJyZW0gMDtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xyXG4gICAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgLm1vbmEteW91dHViZS13cmFwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XHJcbiAgICBpZnJhbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgLm1vbmEtdGFibGUtd3JhcCB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcbiAgLndwLWNhcHRpb24tdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIC53cC1jYXB0aW9uIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi10ZXh0IHtcclxuICAgICAgcGFkZGluZzogMXJlbSAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWdubm9uZSB7XHJcbiAgICAgIG1hcmdpbjogMy4ycmVtIDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgICAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbnJpZ2h0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbmNlbnRlciB7XHJcbiAgICAgIG1hcmdpbjogMi40cmVtIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbmxlZnQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiAkY29sb3Itc2VjO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xyXG4gICAgfVxyXG4gIH1cclxuICBsaSB7XHJcbiAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICB9XHJcbiAgZmlndXJlIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcbiAgZmlnY2FwdGlvbiB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAuaW1nLWZ1bGwge1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGQge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIHRoIHtcclxuICAgICAgY29sb3I6ICMxMTE7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50YWJsZS1yZXNwIHtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gIH1cclxuICBpbWcge1xyXG4gICAgJi5zaXplLWZ1bGwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWdubm9uZSB7XHJcbiAgICAgIG1hcmdpbjogMy4ycmVtIDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgICAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbmNlbnRlciB7XHJcbiAgICAgIG1hcmdpbjogMy4ycmVtIGF1dG87XHJcblxyXG4gICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcclxuICAgICAgICBtYXJnaW46IDIuNHJlbSBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbnJpZ2h0IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbmxlZnQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5nYWxsZXJ5LWNvbHVtbnMtMiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAxLjZyZW07XHJcbiAgICBtYXJnaW46IDMuMnJlbSAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xyXG4gICAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2FsbGVyeS1pdGVtIHtcclxuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC44cmVtKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5nYWxsZXJ5LWljb24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGltZ0NvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpc3RfcGFyYW1ldGVycyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDEuNnJlbSA0LjhyZW07XHJcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40cmVtO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBnYXA6IDAuNHJlbTtcclxuICAgICAgQGluY2x1ZGUgZnotMjA7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyLjRyZW0pO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgzNiwgMzYsIDM2LCAwLjIpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMi41cmVtKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudmlldy1tb3JlLXBhcmFtcyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XHJcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAzLjJyZW07XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWM7XHJcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wb3N0LWRldGFpbC10b2Mge1xyXG4gICNlei10b2MtY29udGFpbmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICByb3ctZ2FwOiAyLjRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTRlN2VjO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgoMTcyNy45OXB4KSB7XHJcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcclxuICAgIH1cclxuXHJcbiAgICBhOnZpc2l0ZWQge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXByaTtcclxuICAgIH1cclxuXHJcbiAgICAuZXotdG9jLXRpdGxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xyXG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMS42cmVtIDIuNHJlbTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1heCgxNzI3Ljk5cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZXotdG9jLXRpdGxlLXRvZ2dsZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgPiBuYXYge1xyXG4gICAgICBwYWRkaW5nOiAwIDEuNnJlbSAxLjZyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmV6LXRvYy1saXN0LWxldmVsLTEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICByb3ctZ2FwOiAyLjRyZW07XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICBAaW5jbHVkZSBtYXgoMTcyNy45OXB4KSB7XHJcbiAgICAgICAgcm93LWdhcDogMS42cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZXotdG9jLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGZ6LTIwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY3VzdG9tLWxvZ28tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc29jaWFsIHtcbiAgZ2FwOiAxLjZyZW07XG4gIEBpbmNsdWRlIGZsZXg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgIGdhcDogMS4ycmVtO1xuICB9XG5cbiAgJi1pbWcsXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgQGluY2x1ZGUgYm94KDMuMnJlbSk7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2FydHMtY291bnRlciB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2x1bW4tZ2FwOiAxLjJyZW07XG4gIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICBwYWRkaW5nOiAwLjZyZW0gMC44cmVtO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCNiZmJmYmY7XG5cbiAgaW5wdXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMy44cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcHJpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLnF1YW50aXR5IHtcbiAgICAmOmhhcyguc2NyZWVuLXJlYWRlci10ZXh0KSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaWNvbi1wbGF5IHtcbiAgY29sb3I6IHdoaXRlO1xuICBAaW5jbHVkZSBmei0yMDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBAaW5jbHVkZSBwb3NDZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgcGFkZGluZzogMS40cmVtIDIuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4YzhjODtcblxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zdGFyIHtcbiAgZ2FwOiAwLjRyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgJi1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogMC40cmVtO1xuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgQGluY2x1ZGUgYm94KDEuNnJlbSk7XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgLnRleHQtMTYge1xuICAgICAgY29sb3I6IHJnYmEoMzYsIDM2LCAzNiwgMC41KTtcblxuICAgICAgJjpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgbWFyZ2luOiAwIDAuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWZpbHRlciB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucHJpY2Uge1xuICBnYXA6IDAuOHJlbTtcbiAgQGluY2x1ZGUgZnotMjA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuICBjb2xvcjogJGNvbG9yLXByaSAhaW1wb3J0YW50O1xuXG4gIGlucyB7XG4gICAgQGluY2x1ZGUgZnotMjA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuc2V0O1xuICB9XG5cbiAgZGVsIHtcbiAgICBAaW5jbHVkZSBmei0xNjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxuXG4gID4gLnRpdGxlLTI0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICB9XG59XG5cbi5uby1wcmljZSB7XG4gIEBpbmNsdWRlIGZ6LTQ4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogJGNvbG9yLXByaTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtLWNmIHtcbiAgZ2FwOiAxcmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmNoZWNrYm94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgfVxufVxuXG4udGV4dC1zLFxuLmZvcmdldC10eHQge1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgY29sb3I6ICMyNDI0MjQ7XG4gIEBpbmNsdWRlIGZ6LTE2O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucmVnLWJ0biB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAyLjRyZW07XG59XG5cbi5jaGVja2JveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJiMjQ7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4ycmVtO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEuNnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgd2lkdGg6IDEuNnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAwLjRyZW07XG4gICAgdG9wOiAwLjFyZW07XG4gICAgd2lkdGg6IDAuNHJlbTtcbiAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICBib3JkZXI6IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAuMjhyZW0gMC4yOHJlbSAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucC1icmFuZC1kZXRhaWwsXG4ucC1zZXJ2aWNlLFxuLnAtaG9tZSB7XG4gIC5tLWNvbnRhY3QtY29udGVudCA+IC5idG4ge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLm1uLWNhcnQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIHdpZHRoOiA2NHJlbTtcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgYm94LXNoYWRvdzogMCAwLjhyZW0gMnJlbSAwIHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYtbmF2IHtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZ2FwOiAxLjZyZW07XG4gICAgcGFkZGluZzogMi40cmVtO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgxNTIsIDE2MiwgMTc5LCAwLjQpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgID4gaW1nIHtcbiAgICAgIHdpZHRoOiAyLjdyZW07XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICZfZGVzYyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgYm94KDIuOHJlbSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSxcbiAgJi10aXRsZV9kZXNjIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuICB9XG5cbiAgJi1jbG9zZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIEBpbmNsdWRlIGJveCgycmVtKTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtYWN0aW9uIHtcbiAgICBnYXA6IDIuNHJlbTtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICRjb2xvci10aGlyZDtcbiAgICBib3gtc2hhZG93OiAwIC0wLjJyZW0gMC42cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICBnYXA6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLXByb2R1Y3Qge1xuICAgIHJvdy1nYXA6IDAuNnJlbTtcbiAgICBtaW4td2lkdGg6IDE1LjhyZW07XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICByb3ctZ2FwOiAwLjhyZW07XG4gICAgfVxuXG4gICAgLnRleHQtMTQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgfVxuXG4gICAgLmFtb3VudCB7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b24ge1xuICAgIGdhcDogMS42cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMC44cmVtKTtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW0gIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC40cmVtIDAuNHJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWRlbGV0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICY6aGFzKC5tbi1jYXJ0LWl0ZW0gPiBwKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIC8vIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKDE1MiwgMTYyLCAxNzksIDAuNCk7XG5cbiAgICA+IHAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZnotMjA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1ib3gge1xuICAgIGdhcDogMi40cmVtO1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmlubmVyLWNsb3NlIHtcbiAgICAgIHRvcDogMC44cmVtO1xuICAgICAgcmlnaHQ6IDAuOHJlbTtcbiAgICAgIEBpbmNsdWRlIGJveCgycmVtKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EwMDtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgdG9wOiAwLjhyZW07XG4gICAgICAgIHJpZ2h0OiAwLjhyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94KDEwcmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcm93LWdhcDogMS42cmVtO1xuXG4gICAgLnRleHQtMTYge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LTE0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIH1cbiAgfVxuXG4gICYtdmFsdWUge1xuICAgIGNvbHVtbi1nYXA6IDEuMnJlbTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJi1wcmljZSB7XG4gICAgLnByaWNlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIGlucyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICBkZWwge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcnRtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogY2FsYygxMDBkdmggLSA3LjdyZW0pO1xuXG4gIC5jYXJ0LWVtcHR5IHtcbiAgICBAaW5jbHVkZSBmei0yMDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcbiAgfVxuXG4gIHVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkge1xuICAgIGEucmVtb3ZlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcnQtYm94IHtcbiAgLm1uLWNhcnQge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgICB0cmFuc2Zvcm06IHVuc2V0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIH1cbiAgfVxuXG4gIC5tbi1jYXJ0LW5hdiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgLm1uLWNhcnQtbGlzdCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLm1uLWNhcnQtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1uLWNhcnQtaGVhZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tbi1jYXJ0LWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgfVxufVxuXG4ucG9wLXN1Y2Nlc3Mge1xuICAucG9wdXAtbWFpbiB7XG4gICAgbWF4LXdpZHRoOiAxNTJyZW07XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4ubWVudS1zZWFyY2gtYm94IHtcbiAgLy8gbWF4LWhlaWdodDogMzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICByb3ctZ2FwOiAwO1xuICBwYWRkaW5nOiAyLjRyZW07XG4gIGJveC1zaGFkb3c6IDAgMC44cmVtIDEuMnJlbSAwIHJnYmEoNDgsIDQ4LCA0OCwgMC4xKTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAuOHJlbSAxLjJyZW0gMCByZ2JhKDQ4LCA0OCwgNDgsIDAuMSk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEuMnJlbSAxLjJyZW07XG5cbiAgLmZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICA+IC5mb3JtLWdyb3VwIHtcbiAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1jZykgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuLnBvcHVwLXNlYXJjaCB7XG4gIC5tZW51LXNlYXJjaC1saXN0IHtcbiAgICBtYXgtaGVpZ2h0OiA0NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG5cbiAgICAmOmhhcygubWVudS1zZWFyY2gtaXRlbSkge1xuICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ubWVudS1zZWFyY2gtaXRlbSB7XG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNmMGYwZjA7XG4gIH1cbn1cblxuLm1lbnUtc2VhcmNoLWJsb2NrIHtcbiAgY29sdW1uLWdhcDogMS4ycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWVudS1zZWFyY2gtaW1nIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGJveCg4cmVtKTtcbiAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLm1lbnUtc2VhcmNoLWNvbnRlbnQge1xuICByb3ctZ2FwOiAxLjZyZW07XG5cbiAgLnR0IHtcbiAgICBjb2xvcjogIzIzMjMyMztcbiAgICB0cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgPiAqIHtcbiAgICBmb250LXNpemU6IDEuOHJlbSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIudGl0bGUge1xuICAmLTY0IHtcbiAgICBAaW5jbHVkZSBmei02NDtcbiAgfVxuXG4gICYtNDgge1xuICAgIEBpbmNsdWRlIGZ6LTQ4O1xuICB9XG5cbiAgJi00MCB7XG4gICAgQGluY2x1ZGUgZnotNDA7XG4gIH1cblxuICAmLTM2IHtcbiAgICBAaW5jbHVkZSBmei0zNjtcbiAgfVxuXG4gICYtMzIge1xuICAgIEBpbmNsdWRlIGZ6LTMyO1xuICB9XG5cbiAgJi0yOCB7XG4gICAgQGluY2x1ZGUgZnotMjg7XG4gIH1cblxuICAmLTI2IHtcbiAgICBAaW5jbHVkZSBmei0yNjtcbiAgfVxuXG4gICYtMjQge1xuICAgIEBpbmNsdWRlIGZ6LTI0O1xuICB9XG59XG5cbi50ZXh0IHtcbiAgJi0yMCB7XG4gICAgQGluY2x1ZGUgZnotMjA7XG4gIH1cblxuICAmLTE4IHtcbiAgICBAaW5jbHVkZSBmei0xODtcbiAgfVxuXG4gICYtMTYge1xuICAgIC8vIEBpbmNsdWRlIGZ6LTE2O1xuICAgIEBpbmNsdWRlIGZ6LTIwO1xuICB9XG5cbiAgJi0xNCB7XG4gICAgLy8gQGluY2x1ZGUgZnotMTQ7XG4gICAgQGluY2x1ZGUgZnotMTY7XG4gIH1cbn1cblxuLy8tIE90aGVyXG4uZiB7XG4gICYtcHJpIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmkpO1xuICB9XG5cbiAgJi10dCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUpO1xuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kZXNjKTtcbiAgfVxufVxuXG4uZnMtaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnQge1xuICAmLWNhcCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAmLXVwIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uZncge1xuICAmLTkwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxuXG4gICYtYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAmLXNiIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJi1tIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgJi1uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJi10IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG59XG5cbi5jbC13aGl0ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNsLXRleHQge1xuICBjb2xvcjogJGNvbG9yLXRleHQ7XG59XG5cblxuLnQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufSIsIi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMy4ycmVtIGF1dG8gMDtcbiAgdHJhbnNmb3JtOiB1bnNldCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG5cbiAgJi1idWxsZXQge1xuICAgICYtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWM7XG4gICAgfVxuICB9XG59XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi1wcmV2IHtcbiAgICBsZWZ0OiAtNi44cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDE2NTBweCkge1xuICAgICAgbGVmdDogLTEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLW5leHQge1xuICAgIHJpZ2h0OiAtNi44cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcblxuICAgIEBpbmNsdWRlIG1heCgxNjUwcHgpIHtcbiAgICAgIHJpZ2h0OiAtMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtcHJldixcbiAgJi1uZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDAuNnJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGJnSW1hZ2UodG9wLCBjb3Zlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL2ljb25zL2ljb24tY2hldnJvbi5zdmdcIik7XG4gICAgfVxuICB9XG59XG4iLCIuYy1jb21wYXJlIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB9XG5cbiAgJi13cmFwIHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMC44cmVtIDIuNHJlbSByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgfVxuXG4gICYtcm93IHtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDBhNTIzO1xuICB9XG5cbiAgJi1jb2wge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgIH1cblxuICAgICY6aGFzKC5jLWNvbXBhcmUtaW1nKSB7XG4gICAgICBAaW5jbHVkZSBtaW4oNTc3cHgpIHtcbiAgICAgICAgJiNpdGVtLTEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS4ycmVtIDAgMi40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJiNpdGVtLTIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJiNpdGVtLTMge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMi40cmVtIDAgMS4ycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogMC44cmVtIDEuMnJlbTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmOmhhcyguYy1jb21wYXJlLWltZykge1xuICAgICAgQGluY2x1ZGUgbWluKDU3N3B4KSB7XG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkYWRhZGE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMjByZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIC50ZXh0LTIwIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZW1wdHkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgcm93LWdhcDogMC44cmVtO1xuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIEBpbmNsdWRlIGJveCg4cmVtKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgICAgYm9yZGVyOiAwLjJyZW0gZGFzaGVkICM3YjdiN2I7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgICAgQGluY2x1ZGUgYm94KDQuOHJlbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBsdXNtaW51cyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBib3goMy4ycmVtKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBAaW5jbHVkZSBib3goMnJlbSk7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwLjNyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzEzMTM7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC0xNiB7XG4gICAgICBjb2xvcjogIzdiN2I3YjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgYm94KDRyZW0pO1xuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICBAaW5jbHVkZSBib3goMy4ycmVtKTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLWFjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ2FwOiAxLjJyZW0gMi40cmVtO1xuICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAjZGFkYWRhO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgZ2FwOiAxLjJyZW07XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDAuNnJlbSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1ib3gsXG4gICYtYWN0aW9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMi40cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uLWxlc3Mge1xuICAgIEBpbmNsdWRlIGZ6LTE4O1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMwMTc1MmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbSAwLjhyZW0gMCAwO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ucC1jb21wYXJlIHtcbiAgLm1lbnUtc2VhcmNoLWJveCAuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgPiAuZm9ybS1ncm91cCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCJAa2V5ZnJhbWVzIG9wYWNpdHlBbmkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iLCJ1bC5wYWdlLW51bWJlcnMge1xuICBnYXA6IDEuNnJlbTtcbiAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG5cbiAgbGkge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgIEBpbmNsdWRlIGJveCgzLjJyZW0pO1xuXG4gICAgJjpub3QoOmhhcygucHJldikpOm5vdCg6aGFzKC5uZXh0KSkge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgzNiwgMzYsIDM2LCAwLjIpO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWM7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyguY3VycmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlYztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLFxuICAgIHNwYW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICAubmV4dCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxuXG4gIC5wcmV2LFxuICAubmV4dCB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMC44cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICBwYWRkaW5nOiAyLjRyZW0gMDtcbiAgfVxuXG4gICYtbGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBAaW5jbHVkZSBmei0yMDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICBtYXJnaW46IDAgMC40cmVtO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LTE0IHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG4iLCIubWVudS1hc2lkZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwZHZoO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCByZ2JhKDExOCwgMTE4LCAxMTgsIDAuMTIpO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA4cmVtO1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpbmNsdWRlIG1heCgxMzY1Ljk4cHgpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgd2lkdGg6IDMzcmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgd2lkdGg6IDMzcmVtO1xuXG4gICAgLm1lbnUtYXNpZGUtaXRlbSA+IGltZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5tZW51LWFzaWRlLWNhdGUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgZWFzZS1pbi1vdXQgMC40cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWFzaWRlLWxpbmsge1xuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0IDAuNHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1hc2lkZS1pbmZvIHtcbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAmX3Bob25lIC5kZXNjIHtcbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA2LjRyZW07XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC40cyBlYXNlLWluLW91dCAwLjRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfY2hhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAgICAgICAudGV4dC0yMCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0IDAuNHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1LjhyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3Qge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0IDAuNHM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pY29uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNnJlbSAwO1xuICB9XG5cbiAgJi1jYXRlIHtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgQGluY2x1ZGUgZnotMjA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhpcmQ7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG1heC13aWR0aDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMi44cmVtO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jaGlsZCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICA+IC5jaGlsZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1iYWNrIHtcbiAgICBjb2x1bW4tZ2FwOiAxLjJyZW07XG4gICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtYmcge1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcblxuICAgIC5pbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygxNzIgLyAyNjQgKiAxMDAlKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgaW1nQ292ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1iYWNrIHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtbGluayB7XG4gICAgQGluY2x1ZGUgZnotMjA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2x1bW4tZ2FwOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIG1heC13aWR0aDogMDtcbiAgICAgICAgbWF4LWhlaWdodDogMi40cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgIH1cblxuICAgICZfcGhvbmUge1xuICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogNy4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDQuOHJlbTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogNi40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC0xNCB7XG4gICAgICAgICAgcGFkZGluZzogMC40cmVtIDFyZW0gMC40cmVtIDIuNHJlbTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMjBkZWcpO1xuICAgICAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY29sb3ItcHJpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygtMjBkZWcpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfY2hhdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLXRoaXJkO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgIHdpZHRoOiA2LjJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgcGFkZGluZzogMS44cmVtIDAuNHJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAuYm94IHtcbiAgICAgICAgY29sdW1uLWdhcDogMi40cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC42cmVtO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDQuMnJlbTtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtMjAge1xuICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1ib3gge1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDIuNHJlbTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltZyB7XG4gICAgICAgICAgbWluLXdpZHRoOiA1LjhyZW07XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94KDMuMnJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtMjAge1xuICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS1hc2lkZS1pdGVtID4gaW1nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmNoaWxkIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgcm93LWdhcDogMi40cmVtO1xuICAgIG1heC13aWR0aDogMzNyZW07XG4gICAgbWluLXdpZHRoOiAzM3JlbTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjFyZW0pO1xuICAgIGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkIHJnYmEoMTE4LCAxMTgsIDExOCwgMC4xMik7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nOiAzLjJyZW0gMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcblxuICAgICAgLmNoaWxkLTEge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjJyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWFzaWRlLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLm1lbnUtYXNpZGUtYmFjaykge1xuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gIC5vdmVybGF5LW1lbnU6aGFzKCsgLm1lbnUtYXNpZGU6aG92ZXIpIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICYuaXMtZml4ZWQge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTByZW0pO1xuXG4gICAgICAuaGVhZGVyLW1haW4ge1xuICAgICAgICBwYWRkaW5nOiAxLjFyZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW4tY2FydCxcbiAgICAub3ZlcmxheSxcbiAgICAub3ZlcmxheS1jYXJ0LFxuICAgIC5oZWFkZXItbmF2IHtcbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgdG9wOiBjYWxjKHZhcigtLWhlaWdodC1oZCkgLSA4cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgZ2FwOiA2LjRyZW07XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIGdhcDogMS4ycmVtO1xuICAgICAgcGFkZGluZzogMi4xMzNyZW0gMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cblxuICAgICYtYWN0aW9uIHtcbiAgICAgIGdhcDogMS42cmVtO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlci1tYWluLWNvbXBhcmUsXG4gICAgICAuaGVhZGVyLW1haW4tZG9jLFxuICAgICAgLmhlYWRlci1tYWluLWNhcnQge1xuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgycmVtKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3goMi40cmVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXBob25lIHtcbiAgICAgIG1heC13aWR0aDogNi4zcmVtO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zaWduIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGJveCg0LjVyZW0pO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGJveCgyLjRyZW0pO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLnVzZXItaW5mbyB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC51c2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYtaW5mbyB7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgIHdpZHRoOiAyOHJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAycmVtKTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAuOHJlbSAyLjRyZW0gMCByZ2JhKDE0OSwgMTU3LCAxNjUsIDAuMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLWFjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICByb3ctZ2FwOiAxLjJyZW07XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgIC50ZXh0LW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZnotMTg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zZWFyY2gge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjlyZW07XG4gICAgICAgICAgY29sdW1uLWdhcDogMXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgICAgICAgJjpoYXMoaW5wdXQ6aG92ZXIpLFxuICAgICAgICAgICY6aGFzKGlucHV0OmZvY3VzKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1zZWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBAaW5jbHVkZSBib3goNHJlbSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoaXJkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94KDEuNnJlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1maXhlZCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZ2FwOiAyLjRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgIHBhZGRpbmc6IDEuOTI2cmVtO1xuICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgPiAqIHtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbG9nbyxcbiAgICAmLWFjdGlvbiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmLXBob25lLFxuICAgICYtc2lnbiB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBnYXA6IDYuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTU1MHB4KSB7XG4gICAgICAgIGdhcDogMi40cmVtO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyArIDNyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgIHdpZHRoOiAzMnJlbTtcbiAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjZzKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jYXRlIHtcbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmNhdGUtYnRuIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY29sdW1uLWdhcDogMS42cmVtO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYmFyIHtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1jZW50ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDMuMnJlbSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoaXJkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMXJlbTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBzYXR1cmF0ZSgxMDAlKSBpbnZlcnQoMTclKSBzZXBpYSg2NCUpIHNhdHVyYXRlKDY3MjYlKSBodWUtcm90YXRlKDE5OWRlZylcbiAgICAgICAgICAgICAgICBicmlnaHRuZXNzKDEwMiUpIGNvbnRyYXN0KDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtYXgoMTU1MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1idG4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgICBjb2x1bW4tZ2FwOiAxLjJyZW07XG4gICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDAuNnJlbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1hY3Rpb24ge1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgYm94KDQuNXJlbSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgJjpob3ZlciBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kb2Mge1xuICAgICAgLm1uLWNhcnQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhcnRzLWNvdW50ZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAwLjcxcmVtO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMS44cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRvYyxcbiAgICAmLWNhcnQge1xuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAubW4tY2FydCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1uYXYge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICBtYXJnaW46IDAgLTEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgLm1lbnUtbGluazo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXgoMTM2NnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgICAgYm90dG9tOiAtMC41cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgbWF4LXdpZHRoOiA0MS44cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIG1heC13aWR0aDogMjRyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLW1haW4tZG9jLFxuLmhlYWRlci1tYWluLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXItY2FydF9udW1iZXIsXG4uaGVhZGVyLXF1b3RlX251bWJlciB7XG4gIHRvcDogLTFyZW07XG4gIHJpZ2h0OiAtMXJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG4gIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICB0b3A6IC0xLjJyZW07XG4gICAgcmlnaHQ6IC0xLjJyZW07XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGFuZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyIHtcbiAgICAubGFuZy1oZWFkID4gaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgLmxhbmctY2hpbGQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZCB7XG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5LCAzNywgNjIsIDAuMSk7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgID4gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gKiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gaW1nIHtcbiAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICBoZWlnaHQ6IDAuNHJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZCxcbiAgJi1oZWFkLWljb24ge1xuICAgIGNvbHVtbi1nYXA6IDAuNHJlbTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG4gIH1cblxuICAmLWNoaWxkIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgQGluY2x1ZGUgc2hhZG93O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICYtaXRlbSB7XG4gICAgICBnYXA6IDAuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5LCAzNywgNjIsIDAuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1lbnUtYmFyIHtcbiAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWVudS1zcGFuIHtcbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRleHQ7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtY2xvc2UtaWNvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjJyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZjBmMGYwO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBAaW5jbHVkZSBib3goMy4ycmVtKTtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDklKSBzZXBpYSgzJSkgc2F0dXJhdGUoMCUpIGh1ZS1yb3RhdGUoMjQwZGVnKSBicmlnaHRuZXNzKDk2JSlcbiAgICAgIGNvbnRyYXN0KDk5JSk7XG4gIH1cbn1cbiIsIi5mb290ZXIge1xuICBwYWRkaW5nOiA4cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwOWMzZSAwJSwgIzAxNzUyZiAxMDAlKTtcblxuICAmLXJvdyB7XG4gICAgQGluY2x1ZGUgbWluKDEwMjVweCkge1xuICAgICAgLS1yZzogMTVyZW07XG4gICAgICAtLWNnOiAxNXJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEzNjZweCkge1xuICAgICAgICAtLXJnOiAxMHJlbTtcbiAgICAgICAgLS1jZzogMTByZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtbGVmdCB7XG4gICAgbWF4LXdpZHRoOiA2MS40cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1saXN0IHtcbiAgICAgIG1heC13aWR0aDogNDIuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1ib3gge1xuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIHJvdy1nYXA6IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aXRsZS0yNCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWluZm8ge1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LTE2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWZvdXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDU3N3B4KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmZvcm0td3JhcCB7XG4gICAgICAgIGdhcDogMi40cmVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgICAgICBnYXA6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1hY3Rpb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE2LjhyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1yaWdodCB7XG4gICAgJi1ib3gge1xuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgIH1cblxuICAgICAgLnRleHQtMjAge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pbWcge1xuICAgICAgLmltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMS4ycmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiA0cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICByb3ctZ2FwOiAxLjZyZW07XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGZ6LTIwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1mb3VyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWxvZ28tbGluayB7XG4gICAgbWF4LXdpZHRoOiA2MS40cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5idG4ge1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sdW1uLWdhcDogMXJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2VjO1xuICBib3JkZXItcmFkaXVzOiAwLjhyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDEuMnJlbSAzLjJyZW0gIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEuM3JlbSAyLjRyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG5cbiAgJi5sb2FkaW5nIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuICB9XG5cbiAgJi1jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJi1wcmkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGlyZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi1zZWMge1xuICAgIGNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gIH1cblxuICAmLXRoaXJkIHtcbiAgICBjb2xvcjogJGNvbG9yLXNlYztcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itc2VjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWRlbGV0ZSB7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgIHBhZGRpbmc6IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2JmYmZiZjtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIEBpbmNsdWRlIGJveCgyLjRyZW0pO1xuICB9XG5cbiAgLndwY2Y3LXNwaW5uZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cblxuLnByb2Nlc3Npbmc6OmJlZm9yZSB7XG4gIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuIiwiZm9ybSB7XG4gIC5mb3JtLXdyYXAge1xuICAgIHJvdy1nYXA6IDIuNHJlbTtcbiAgfVxuXG4gIC5mb3JtLWxhYmVsIHtcbiAgICByb3ctZ2FwOiAwLjhyZW07XG4gIH1cblxuICAuZm9ybS10ZXh0IHtcbiAgICBAaW5jbHVkZSBmei0yMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuXG4gICAgc3VwIHtcbiAgICAgIGNvbG9yOiAjZWY0NDQ0O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICAmOmhhcyguY3VzdG9tLWlucHV0LWZpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByb3ctZ2FwOiAxLjJyZW07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXdyYXAsXG4gIC5mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZm9ybS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgIC5idG4ge1xuICAgICAgICBtaW4td2lkdGg6IDI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgaGVpZ2h0OiA0LjVyZW07XG4gICAgfVxuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBoZWlnaHQ6IDIwcmVtO1xuICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmI7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcHJpKTtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZTVlNWU1O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNhM2EzYTM7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20taW5wdXQtZmlsZSB7XG4gIGhlaWdodDogMTByZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbiAgYm9yZGVyOiAwLjJyZW0gZGFzaGVkICNlNWU1ZTU7XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIGZ6LTIwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4uZy1yZWNhcHRjaGEtd3JhcCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud3BjZjctbm90LXZhbGlkLXRpcCB7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA0O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvdHRvbTogLTIuMnJlbTtcbiAgcGFkZGluZzogMC40cmVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1sZWZ0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMC41cmVtIHNvbGlkICNlYzFmMjY7XG4gIH1cbn1cblxuLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAycmVtIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxLjJyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgQGluY2x1ZGUgc2hhZG93O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCB3aGl0ZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLXNlbGVjdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XG4gICAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2Q5ZDlkOTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogIzJlMmIyNDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgcGFkZGluZzogMC44cmVtIDIuOHJlbSAwLjhyZW0gMS42cmVtO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMyZTJiMjQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhhcyhzZWxlY3QpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNzAlO1xuICAgICAgcmlnaHQ6IDIuNHJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbnMvaWMtZG93bi5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vLy0tLSBjYXJ0IC0tLS8vL1xuXG4uY2FydHMge1xuICBwYWRkaW5nOiA4cmVtIDA7XG5cbiAgQGluY2x1ZGUgbWF4KDc2OHB4KSB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG5cbiAgLnRpdGxlLXctZGVzYyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNhcnRzLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogMC44cmVtIDEuNnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICBjb2x1bW4tZ2FwOiAxcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg4NTBweCkge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cblxuICAuY2FydHMtaW1nIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXgtd2lkdGg6IDlyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgbWF4KDg1MHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY2FydHMtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiAxLjJyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgLnF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC8vIHBhZGRpbmc6IDAuOHJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgIC8vIGJvcmRlcjogMC4xcmVtIHNvbGlkICNmMGYwZjA7XG4gIH1cblxuICAuY2FydHMtcXVhbnRpdHlfbWludXMsXG4gIC5jYXJ0cy1xdWFudGl0eV9wbHVzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgd2lkdGg6IDIuNHJlbTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmNhcnRzLXF1YW50aXR5X21pbnVzIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNGYyO1xuICB9XG5cbiAgLmNhcnRzLXF1YW50aXR5X3BsdXMge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNmMjMzMjI7XG4gIH1cblxuICAuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG5cbiAgLmNhcnRzLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIuNHJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogMC44cmVtO1xuXG4gICAgQGluY2x1ZGUgbWF4KDQ4MHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAuYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvdGFsLWNhcnQge1xuICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgIGdhcDogMC44cmVtIDIuNHJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuY291bnQtdG90YWwge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbHVtbi1nYXA6IDAuOHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1pbi13aWR0aDogMTZyZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBjb2xvcjogI2YyMzMyMjtcbiAgICB9XG5cbiAgICAmLnRvdGFsIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzFhNzUxNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhcnRzLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMS4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAwLjhyZW0gMS4ycmVtIDAgcmdiYSg0OCwgNDgsIDQ4LCAwLjEpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMC44cmVtIDEuMnJlbSAwIHJnYmEoNDgsIDQ4LCA0OCwgMC4xKTtcblxuICAucmVtb3ZlIHtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJ0cy1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBtYXgoODUwcHgpIHtcbiAgICAgIGdhcDogMi40cmVtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICB0ciB7XG4gICAgICAgIEBpbmNsdWRlIG1heCg4NTBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDg1MHB4KSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNkOWQ5ZDk7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgY29sb3I6ICMzMDMwMzA7XG4gICAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZjBmMGYwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWF4KDg1MHB4KSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tb25hX2NoZWNrb3V0X2Zvcm0ge1xuICBwYWRkaW5nOiA4cmVtIDA7XG5cbiAgLmNhcnQtdGl0bGUge1xuICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgIEBpbmNsdWRlIGZ6LTQwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1jaGVja291dCB7XG4gICAgLmJsb2NrT3ZlcmxheTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuXG4gIC5vcmRlci10b3RhbCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgQGluY2x1ZGUgZnotMjQ7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg4MDBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmVyaWZ5IHtcbiAgICA+IGgzIHtcbiAgICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgICAgQGluY2x1ZGUgZnotMzI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMi40cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuNnJlbTtcblxuICAgIHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMi40cmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgY29sb3I6ICMyNDI0MjQ7XG4gICAgICBAaW5jbHVkZSBmei0xNjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1heCg3NjhweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NS42cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mb3JtYXRpb25fc2FtZSB7XG4gICAgbWFyZ2luOiAyLjRyZW0gMDtcblxuICAgIC5iaWxsaW5nX2luZm8ge1xuICAgICAgPiBwIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTRlN2VjO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbSAwLjhyZW0gMCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tb25hX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEuNnJlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgZnotMjA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDZiY2U7XG4gICAgICBib3gtc2hhZG93OiAwcmVtIDAuNHJlbSAwLjRyZW0gMHJlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwNmJjZTtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzAwNmJjZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA2YmNlO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDZiY2U7XG4gICAgICAgIGNvbG9yOiAjMDA2YmNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDZiY2U7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubW4tY2FydC1pbWcge1xuICAgIEBpbmNsdWRlIG1heCg3NjhweCkge1xuICAgICAgd2lkdGg6IDZyZW07XG4gICAgICBoZWlnaHQ6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgLnJlbW92ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jb2wyLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1heCg5ODBweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY29sLTEsXG4gIC5jb2wtMiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4ycmVtKSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbWF4KDk4MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgID4gLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgICAgQGluY2x1ZGUgZnotMzI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgLy8gcGFkZGluZy1ib3R0b206IDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZTRlN2VjO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgIEBpbmNsdWRlIGZ6LTIwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW0gMC44cmVtIDAgMDtcbiAgfVxuXG4gIC5pbmZvcm1hdGlvbiB7XG4gICAgLy8gYmFja2dyb3VuZDogI2ZmZjtcbiAgICAvLyBwYWRkaW5nOiAyLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuXG4gICAgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDAuOHJlbTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmhhcygjeHVhdF9ob2FfZG9uW3R5cGU9XCJjaGVja2JveFwiXSkge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICAgIC8vIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjdyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jYXJ0L25vbi1hY3RpdmUuc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aGFzKCN4dWF0X2hvYV9kb25bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NhcnQvYWN0aXZlLnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3h1YXRfaG9hX2RvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgLy8gcGFkZGluZy1ib3R0b206IDIuNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNGU3ZWM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICMyNDI0MjQ7XG4gICAgICBAaW5jbHVkZSBmei0yMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44cmVtIDAuOHJlbSAwIDA7XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW0gMC44cmVtIDAgMDtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1hZGRpdGlvbmFsLWZpZWxkcyB7XG4gICAgcGFkZGluZzogMCAyLjRyZW0gMi40cmVtIDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjhyZW0gMC44cmVtO1xuXG4gICAgLmZvcm0tcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzI0MjQyNDtcbiAgICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcblxuICAgICAgJjpoYXMoaW5wdXRbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgIC8vIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC44cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogMS43cmVtO1xuICAgICAgICAgIGhlaWdodDogMS43cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY2FydC9ub24tYWN0aXZlLnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhhcyhpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY2FydC9hY3RpdmUuc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1jaGVja291dC1wYXltZW50IHtcbiAgICAgIC53Y19wYXltZW50X21ldGhvZHMge1xuICAgICAgICAucGF5bWVudF9tZXRob2RfY29kIHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAxLjJyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJveCgycmVtKTtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgzNiwgMzYsIDM2LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucGF5bWVudF9ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKSBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzYsIDM2LCAzNiwgMSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNiwgMzYsIDM2LCAxKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwLjVyZW0gd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMnJlbSk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNjYjFjMjI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW07XG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNjYmQ1ZTE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDByZW0gMC4xcmVtIDAuMnJlbSAwcmVtIHJnYmEoMTYsIDI0LCA0MCwgMC4wNSk7XG4gICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk4YTJiMztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzI0MjQyNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICAgIH1cblxuICAgIC5mb3JtLXJvdy13aWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLXJvdy1maXJzdCxcbiAgICAuZm9ybS1yb3ctbGFzdCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjJyZW0pO1xuICAgIH1cblxuICAgICNiaWxsaW5nX2NpdHlfZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzX19maWVsZC13cmFwcGVyLFxuICAgIC53b29jb21tZXJjZS1zaGlwcGluZy1maWVsZHNfX2ZpZWxkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMi40cmVtO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcm93LWdhcDogMi40cmVtO1xuICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjYmQ1ZTE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICBjb2xvcjogIzI0MjQyNDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIC8vIGhlaWdodDogMy41cmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tbi1jYXJ0LXByaWNlIC5wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcblxuICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBpbnMge1xuICAgICAgY29sb3I6ICMyNDI0MjQ7XG4gICAgICBAaW5jbHVkZSBmei0xNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1QcmljZS1jdXJyZW5jeVN5bWJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4ycmVtO1xuICAgIH1cbiAgfVxufVxuXG4jc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gIG1hcmdpbjogMnJlbSAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcblxuICA+IGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjhyZW07XG4gICAgcGFkZGluZzogMi40cmVtO1xuXG4gICAgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmOmhhcyhpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0pIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICAgIGhlaWdodDogMS43cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jYXJ0L25vbi1hY3RpdmUuc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aGFzKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkKSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2NhcnQvYWN0aXZlLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5zaGlwcGluZ19hZGRyZXNzIHtcbiAgLmZvcm0tcm93IHtcbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnNob3BfdGFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuOHJlbSAhaW1wb3J0YW50O1xuXG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UgdWwjc2hpcHBpbmdfbWV0aG9kIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuY2FydF9pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIHRkIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAubW4tY2FydC1jb250ZW50IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWF4KDQ4MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlbW92ZV9mcm9tX2NhcnRfYnV0dG9uIHtcbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHRvcDogMnJlbTtcbiAgICAgIC8vIHJpZ2h0OiAxLjZyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9uYS1jb250ZW50IGltZyB7XG4gICAgfVxuICB9XG5cbiAgLm1uLWNhcnQtYm94IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm1uLWNhcnQtY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIG1heCg0ODBweCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMS42cmVtO1xuICAgIH1cblxuICAgIC50ZXh0LTE2IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1tZXRhIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogMnJlbSAxLjZyZW0gIWltcG9ydGFudDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgdHIge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDQ4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tYm94LWlubmVyIHtcbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgIEBpbmNsdWRlIGZ6LTE2O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICY6aGFzKGlucHV0W3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiAyLjRyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMS43cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY2FydC9ub24tYWN0aXZlLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcyhpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jYXJ0L2FjdGl2ZS5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW5wdXQge1xuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5ub3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDQ4MHB4KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjY2IxYzIyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW07XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjY2JkNWUxO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDByZW0gMC4xcmVtIDAuMnJlbSAwcmVtIHJnYmEoMTYsIDI0LCA0MCwgMC4wNSk7XG4gICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgQGluY2x1ZGUgZnotMTY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM5OGEyYjM7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyNDI0MjQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICB9XG5cbiAgLmZvcm0tcm93LXdpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZvcm0tcm93LWZpcnN0LFxuICAuZm9ybS1yb3ctbGFzdCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4ycmVtKTtcbiAgfVxuXG4gIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkc19fZmllbGQtd3JhcHBlcixcbiAgLndvb2NvbW1lcmNlLXNoaXBwaW5nLWZpZWxkc19fZmllbGQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDIuNHJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogMi40cmVtO1xuICB9XG5cbiAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNjYmQ1ZTE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMC44cmVtIDEuNnJlbTtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAvLyBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgZnotMTY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLy0tIHF1YW50aXR5IC0tLy8vXG5cbi5xdWFudGl0eSB7XG4gIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG59XG5cbi5jYXJ0cy1xdWFudGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2JmYmZiZjtcbiAgcGFkZGluZzogMC44cmVtO1xuICBnYXA6IDEuMnJlbTtcbn1cblxuLmNhcnRzLXF1YW50aXR5X3BsdXMge1xuICBmaWx0ZXI6IGludmVydCgxKSBicmlnaHRuZXNzKDApO1xufVxuXG4vLy8tLSBFTkQgUXVhbnRpdHkgLS0vL1xuXG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcblxuICAuZm9ybS1yb3cge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgJi5hbHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICMwMDZiY2UgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICBoZWlnaHQ6IDEuN3JlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9jYXJ0L25vbi1hY3RpdmUuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICY6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY2FydC9hY3RpdmUuc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtY2hlY2tib3gtdGV4dCB7XG4gICAgICBjb2xvcjogIzI0MjQyNCAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgZnotMTY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIGFkZHJlc3MgZm9ybSAvLy9cbi8vL1xuLndvb2NvbW1lcmNlLWFkZHJlc3MtZmllbGRzIHtcbiAgLmZvcm0tcm93IHtcbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgJi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbiAgICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZTVlNWU1O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2N1c3RvbWVyX2RldGFpbHMge1xuICAuaW5mb3JtYXRpb25fZGlmZmVyZW50LFxuICAudmVyaWZ5LFxuICAuYmlsbGluZ19pbmZvLFxuICAuc2hpcHBpbmdfaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5iaWxsaW5nX2luZm8sXG4gIC5zaGlwcGluZ19pbmZvIHtcbiAgICA+IHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyIHtcbiAgLnNob3BfdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcm93LWdhcDogMi40cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcm93LWdhcDogMi40cmVtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgdHIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHJnYmEoMTEsIDI0LCAyOSwgMC4xKTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0Zm9vdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub3JkZXItdG90YWwge1xuICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgIC5hbW91bnQge1xuICAgICAgICAgICAgICBjb2xvcjogI2YwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgICAud29vY29tbWVyY2Utc2hpcHBpbmctbWV0aG9kcyB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi44cmVtO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIHRvcDogLTAuMXJlbTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveCgyLjRyZW0pO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmdJbWFnZSh0b3AsIGNvdmVyKTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Fzc2V0cy9pbWcvaWNvbnMvaWNvX3Nob3cuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYXltZW50LWhlYWRpbmcge1xuICBwYWRkaW5nOiAxLjJyZW0gMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICNjZmM4ZDg7XG5cbiAgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5pbm5lciB7XG4gICAgJi1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg0NyUpIHNlcGlhKDAlKSBzYXR1cmF0ZSgzOSUpIGh1ZS1yb3RhdGUoMzUyZGVnKSBicmlnaHRuZXNzKDk3JSlcbiAgICAgICAgY29udHJhc3QoOTQlKTtcbiAgICAgIEBpbmNsdWRlIGJveCg0cmVtKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBAaW5jbHVkZSBib3goMy4ycmVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC0xNiB7XG4gICAgICBjb2xvcjogIzk4YTJiMztcbiAgICB9XG4gIH1cbn1cblxuLnBheW1lbnQtaGVhZGluZyxcbi5wYXltZW50LWhlYWRpbmcgLmlubmVyIHtcbiAgY29sdW1uLWdhcDogMS4ycmVtO1xuICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG59XG5cbi53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuIiwiLnBvcHVwIHtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDEwNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgJi5vcGVuIHtcbiAgICAucG9wdXAtb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAucG9wdXAtbWFpbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAjcXVpY2stdmlldy1kZXRhaWxzIHtcbiAgICA+IHAge1xuICAgICAgQGluY2x1ZGUgZnotMjQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4ucG9wdXAtY2xvc2Uge1xuICB6LWluZGV4OiA1O1xuICB0b3A6IDEuMnJlbTtcbiAgcmlnaHQ6IDEuMnJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICBAaW5jbHVkZSBib3goMy4ycmVtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRleHQ7XG5cbiAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgIHRvcDogMC44cmVtO1xuICAgIHJpZ2h0OiAwLjhyZW07XG4gICAgQGluY2x1ZGUgYm94KDIuOHJlbSk7XG4gIH1cblxuICBpbWcge1xuICAgIEBpbmNsdWRlIGJveCgyLjRyZW0pO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gIH1cbn1cblxuLnBvcHVwLW92ZXJsYXkge1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnBvcHVwLW1haW4ge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAyO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIG1heC13aWR0aDogMTUwcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgJjpoYXMoLnBvcHVwLWNvbnRhY3QpIHtcbiAgICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgfVxufVxuXG4ucG9wdXAtd3JhcCB7XG4gIHBhZGRpbmc6IDhyZW07XG4gIG1heC1oZWlnaHQ6IDkwcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDRyZW07XG4gIH1cblxuICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICBwYWRkaW5nOiA0cmVtIDIuNHJlbTtcbiAgfVxufVxuXG4ucG9zdGJveC1oZWFkZXIge1xuICAuaG5kbGUge1xuICAgIEBpbmNsdWRlIGZ6LTMyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnF1b3RlLXByb2R1Y3QtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHJvdy1nYXA6IDEuMnJlbTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICB1bCB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICByb3ctZ2FwOiAyLjRyZW07XG4gICAgbWFyZ2luOiAwIC0xLjJyZW0gIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgcm93LWdhcDogMS42cmVtO1xuICAgICAgbWFyZ2luOiAwIC0wLjhyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAwLjhyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmei0yNDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucXVvdGUtY3VzdG9tZXItaW5mbyxcbi5xdW90ZS1hdHRhY2htZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcm93LWdhcDogMS4ycmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4iLCIuYmFubmVyLXJlY3J1aXQge1xuICBAaW5jbHVkZSBtYXJnaW4oNHJlbSwgOHJlbSk7XG5cbiAgJi1iZyB7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNCkgMTAwJSk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1wb3NpdGlvbiB7XG4gICAgei1pbmRleDogMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAyMHJlbTtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgcGFkZGluZy1ibG9jazogMTByZW07XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiA3LjJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgZm9udC1zaXplOiA0LjhyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbiIsIi5hcnRpY2xlLWJveCB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgfVxufVxuXG4uYXJ0aWNsZS1oZWFkaW5nIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygzOTAgLyA0ODUgKiAxMDAlKTtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBpbWdDb3ZlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgJi1jYXRlIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgbWFyZ2luOiAtMi40NXJlbSBhdXRvIDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQuOHJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoaXJkO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi40cmVtKTtcbiAgICB9XG5cbiAgICAudGl0bGUtMjQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHBhZGRpbmc6IDEuMDVyZW0gMS42cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICByb3ctZ2FwOiAxLjVyZW07XG5cbiAgJi1jYXRlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICA+ICoge1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgJjpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIi1cIjtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMCAwLjRyZW07XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LTE2IHtcbiAgICAgIEBpbmNsdWRlIGZ6LTIwO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS0yNCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2F0YWxvZ3VlLWJveCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMC4ycmVtIDAuMnJlbSAwLjNyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAmOmhvdmVyIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTtcbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2d1ZS1pbWcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDI4NCAvIDM1OCAqIDEwMCUpO1xuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgaW1nQ292ZXI7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgfVxufVxuXG4uY2F0YWxvZ3VlLWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDIuNHJlbTtcblxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMS42cmVtO1xuICB9XG5cbiAgLnRleHQtMTYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucHJvZHVjdC1ib3gge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJvdy1nYXA6IDEuNnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIHNoYWRvdztcblxuICAgICAgLmltZyBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA1KTtcbiAgICAgIH1cblxuICAgICAgLnZpZXcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgcGFkZGluZzogMS4ycmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgcGFkZGluZzogMC44cmVtO1xuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuaW1nIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEgLyAxICogMTAwJSk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGltZ0NvdmVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5udW1iZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSBib3goMy41cmVtKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2VjO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIEBpbmNsdWRlIGJveCgzLjJyZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52aWV3IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMC40cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZTRlNGU0O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICByb3ctZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZGVkX3RvX2NhcnQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAudGV4dC0xMiB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDIuNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC0xMiB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjZyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMC44cmVtKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgICAgICBAaW5jbHVkZSBiZ0ltYWdlKGNlbnRlciwgY292ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9jYXRhbG9ndWVkdC92aWV3LWJnLnN2Z1wiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FsZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJvdy1nYXA6IDAuOHJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgJi1ib3gge1xuICAgICAgICBnYXA6IDAuNHJlbTtcbiAgICAgICAgbWluLXdpZHRoOiA3LjVyZW07XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDFyZW07XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHJlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpO1xuXG4gICAgICAgICAgLnRleHQtMTIge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWZvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC0xMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcHJpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDEuNnJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIHJvdy1nYXA6IDAuOHJlbTtcblxuICAgID4gLnRleHQtMTYge1xuICAgICAgQGluY2x1ZGUgZnotMjA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN0b2NrIHtcbiAgICAgIGNvbHVtbi1nYXA6IDAuOHJlbTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtaWNlbnRlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBib3goMS41cmVtKTtcbiAgICAgIH1cblxuICAgICAgLnRleHQtMTYge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgQGluY2x1ZGUgZnotMjA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFjdCB7XG4gICYtZm9ybSB7XG4gICAgei1pbmRleDogMztcbiAgICBtYXJnaW4tdG9wOiAxMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIG1hcmdpbjogNnJlbSAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgbWFyZ2luOiA0cmVtIDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzcmVtO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNnJlbSk7XG4gICAgICBAaW5jbHVkZSBiZ0ltYWdlKHRvcCwgY292ZXIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vYXNzZXRzL2ltZy9jb250YWN0L2NvbnRhY3QtYmcuanBnXCIpO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICAgIG1heC13aWR0aDogMTAyLjZyZW07XG4gICAgfVxuXG4gICAgJi1ib3gge1xuICAgICAgcGFkZGluZzogNHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgJGNvbG9yLXNlYztcbiAgICAgIGJveC1zaGFkb3c6IDAuMXJlbSAwLjJyZW0gMC44cmVtIDAgJGNvbG9yLXRoaXJkO1xuXG4gICAgICBAaW5jbHVkZSBtaW4oNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMy4ycmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtO1xuICAgICAgfVxuXG4gICAgICAudGl0bGUtMzIge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIEBpbmNsdWRlIG1heCg0MjBweCkge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm0tY29udGFjdCB7XG4gICYtcm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgICBtYXgtd2lkdGg6IDc0cmVtO1xuICAgIH1cblxuICAgIC50aXRsZS0zMCB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBjb2xvcjogJGNvbG9yLXNlYztcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHdpZHRoOiA0LjZyZW07XG4gICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogNjAlO1xuICAgICAgICB3aWR0aDogOS4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDAuM3JlbTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlYztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLTI0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjYlO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ViIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itc2VjO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNDUwcHgpIHtcbiAgICAgICAgYnIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIG1pbi13aWR0aDogMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWZvcm0ge1xuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJveCB7XG4gICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnN1cHBvcnQge1xuICBAaW5jbHVkZSBtYXJnaW4oOHJlbSk7XG5cbiAgJi1oZWFkaW5nIHtcbiAgICAudGl0bGUtNDAge1xuICAgICAgY29sb3I6ICRjb2xvci1zZWM7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIHJvdy1nYXA6IDYuNHJlbTtcbiAgICBtYXJnaW46IDAgLTMuMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHJvdy1nYXA6IDIuNHJlbTtcbiAgICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgcGFkZGluZzogMCAzLjJyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1ib3gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICRjb2xvci1zZWM7XG4gICAgYm94LXNoYWRvdzogMC4zcmVtIDAuM3JlbSAwLjRyZW0gMCByZ2JhKDAsIDEwNywgMjA2LCAwLjMpO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlYztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtMjQge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDMuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIHJvdy1nYXA6IDEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWltZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLnRpdGxlLTI0IHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMTY2JTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBiciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnAtYWJvdXQge1xuICAuYmFubmVyLXJlY3J1aXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgLnRpdGxlLTcyIHtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDQwMHB4KSB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGZ6LTY0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhY3QtZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgICYtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTI0LjZyZW07XG4gICAgfVxuICB9XG59XG5cbmJvZHkucC1hYm91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hYm91dCB7XG4gIEBpbmNsdWRlIG1hcmdpbig4cmVtKTtcblxuICAmLXJvdyB7XG4gICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCg5OTFweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1iZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxIC8gMSAqIDEwMCUpO1xuXG4gICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgaW1nQ292ZXI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgLnRpdGxlLTQwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLXRoaXJkO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgd2lkdGg6IDQuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiA2MCU7XG4gICAgICAgIHdpZHRoOiA5LjJyZW07XG4gICAgICAgIGhlaWdodDogMC4zcmVtO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjhyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoaXJkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZS0yNCB7XG4gICAgICBsaW5lLWhlaWdodDogMTMzJTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1saXN0IHtcbiAgICAgIEBpbmNsdWRlIG1heCg4MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICByb3ctZ2FwOiAwLjhyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4xcmVtO1xuICAgICAgICBAaW5jbHVkZSBib3goMi40cmVtKTtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoMTIwMHB4KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDgwMHB4KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgycmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUtMjQge1xuICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoODAwcHgpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBwYWRkaW5nOiAwLjE1cmVtIDAuOHJlbSAwLjE1cmVtIDIuMzRyZW0gIWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgbWluKDEyMDFweCkge1xuICAgICAgICAmOmhvdmVyIGltZyB7XG4gICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoODAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMC4xNXJlbSAwLjhyZW0gMC4xNXJlbSAycmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJveCg0cmVtKTtcblxuICAgICAgICBAaW5jbHVkZSBtYXgoODAwcHgpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3goMy4ycmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi52aXNpb24ge1xuICBAaW5jbHVkZSBtYXJnaW4oOHJlbSk7XG5cbiAgJi13cmFwIHtcbiAgICA+IC50aXRsZS0zMiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkICRjb2xvci10aGlyZDtcbiAgICB9XG4gIH1cblxuICAmLWxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgcm93LWdhcDogMi40cmVtO1xuICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG5cbiAgICBAaW5jbHVkZSBtYXgoNTc2cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIC52aXNpb24taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIG1pbig1NzdweCkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJveCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDAuM3JlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMS41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDFyZW0gMC4xcmVtIHJnYmEoMCwgMTA3LCAyMDYsIDAuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGdhcDogMC44cmVtIDEuNnJlbTtcbiAgICBAaW5jbHVkZSBmbGV4LWljZW50ZXI7XG5cbiAgICAudGl0bGUtMzIge1xuICAgICAgY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJveCg4cmVtKTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBAaW5jbHVkZSBib3goNi40cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIC50aXRsZS0yNCB7XG4gICAgICBsaW5lLWhlaWdodDogMTY2JTtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWFyZ2luKDhyZW0pO1xuICBAaW5jbHVkZSBwYWRkaW5nKDhyZW0pO1xuXG4gICYtYmcge1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtd3JhcCB7XG4gICAgPiAudGl0bGUtMzIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBjb2xvcjogJGNvbG9yLXRoaXJkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAkY29sb3ItdGhpcmQ7XG4gICAgfVxuICB9XG5cbiAgJi1saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIHJvdy1nYXA6IDIuNHJlbTtcbiAgICBtYXJnaW46IDAgLTEuMnJlbTtcblxuICAgIEBpbmNsdWRlIG1heCgxMjAwcHgpIHtcbiAgICAgIHJvdy1nYXA6IDEuNnJlbTtcbiAgICAgIG1hcmdpbjogMCAtMC44cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCgxMDI0cHgpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMCAwLjhyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1heCg1NzZweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1ib3gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAwLjNyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gMC4xcmVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cbiAgICBAaW5jbHVkZSBtaW4oMTIwMXB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItdGhpcmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxLjVyZW0gMC4zcmVtIHJnYmEoMCwgMTA3LCAyMDYsIDAuMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGltZyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBib3goOHJlbSk7XG5cbiAgICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgICBAaW5jbHVkZSBib3goNi40cmVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgLnRpdGxlLTMyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIC50ZXh0LTIwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB9XG4gIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYWN0aSB7XG4gIEBpbmNsdWRlIG1hcmdpbig4cmVtKTtcblxuICAmLXdyYXAge1xuICAgID4gLnRpdGxlLTMyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgJGNvbG9yLXRoaXJkO1xuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgcGFkZGluZyg5LjZyZW0pO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA2LCAyMzIsIDI1NSwgMC40KTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC50aXRsZS00OCB7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgY29sb3I6ICRjb2xvci1zZWM7XG4gICAgICBsaW5lLWhlaWdodDogMTQ1JTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDk5MXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICB9XG5cbiAgICAgIGJyIHtcbiAgICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYmxvY2sge1xuICAgIEBpbmNsdWRlIG1hcmdpbig4cmVtKTtcbiAgfVxuXG4gICYtcm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1jb2wge1xuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1pbWcge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxIC8gMSAqIDEwMCUpO1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIGltZ0NvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgLm1vbmEtY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbiAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hYm91dC1zZXJ2aWNlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbTtcbiAgQGluY2x1ZGUgcGFkZGluZyg4cmVtKTtcblxuICAmLXdyYXAge1xuICAgID4gLnRpdGxlLTMyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLWJnIHtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMCwgMCkgMCUsIHJnYmEoMCwgMCwgMCwgMC42KSA1MCUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICYtc3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5zd2lwZXIge1xuICAgICAgbWFyZ2luOiAwIC0xLjZyZW07XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICBtYXJnaW46IDAgLTAuOHJlbTtcbiAgICAgIH1cblxuICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWluKDU3N3B4KSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLW9mZnNldC1sZWZ0KSAqIDAuMjUpO1xuXG4gICAgICAgICAgJjpoYXMoLnN3aXBlci1zbGlkZS5pcy1hY3RpdmU6bm90KC5zd2lwZXItc2xpZGUtYWN0aXZlKTpub3QoLnN3aXBlci1zbGlkZS1kdXBsaWNhdGUpKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aGFzKC5zd2lwZXItc2xpZGUtZHVwbGljYXRlLmlzLWFjdGl2ZS5zd2lwZXItc2xpZGUtYWN0aXZlKSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLW9mZnNldC1sZWZ0KSAqIDAuNSkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEyMDBweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtYXgoOTkxcHgpIHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDc2N3B4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDU3NnB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWluKDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXgoOTkxcHgpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtaW4oNTc3cHgpIHtcbiAgICAgICAgICAgIC5hYm91dC1zZXJ2aWNlLWltZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogNTMuNHJlbTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtYXgoNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQzLjRyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWJvdXQtc2VydmljZS1jb250ZW50IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1idXR0b24ge1xuICAgICAgICAmLXByZXYge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLW5leHQge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTM2MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLXByZXYsXG4gICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgICAgQGluY2x1ZGUgYm94KDExLjZyZW0pO1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA2cmVtKTtcbiAgICAgICAgICBib3JkZXI6IDAuNHJlbSBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGlyZDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoaXJkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgICAgICBAaW5jbHVkZSBib3goNC44cmVtKTtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9hc3NldHMvaW1nL2Fib3V0L2ljb24tYXJyb3cxLnN2Z1wiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1pY2VudGVyO1xuXG4gICAgICAgICYtYnVsbGV0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGJveCgxLjVyZW0pO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgJi1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94KDJyZW0pO1xuICAgICAgICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWltZyB7XG4gICAgaGVpZ2h0OiA1MHJlbTtcblxuICAgIEBpbmNsdWRlIG1heCg3NjdweCkge1xuICAgICAgaGVpZ2h0OiA0MHJlbTtcbiAgICB9XG5cbiAgICAuaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYm94IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICByb3ctZ2FwOiAzLjJyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgIEBpbmNsdWRlIGxpbmVDbGFtcCgxKTtcblxuICAgIEBpbmNsdWRlIG1pbigxMjAxcHgpIHtcbiAgICAgICY6aG92ZXIgLnRpdGxlLTMyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLTMyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMTg0ODhmO1xuICAgICAgICBAaW5jbHVkZSBib3goNXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICMxODQ4OGY7XG5cbiAgICAgICAgQGluY2x1ZGUgbWF4KDEwMjRweCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJveCg0cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBLEFBQUEsSUFBSTtBQUNKLElBQUk7QUFDSixHQUFHO0FBQ0gsSUFBSTtBQUNKLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNO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LFNBQUksQ0FBQztNTjJJSCxTQUFTLEVBQUUsTUFBTSxHTXpJbEI7RU40SUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJTTlJdkMsQUFBRCxTQUFJLENBQUM7TU4rSUgsU0FBUyxFQUFFLE1BQU0sR003SWxCOztBQUVBLEFBQUQsU0FBSSxDQUFDO0VONEpMLFNBQVMsRUFBRSxNQUFNLEdNMUpoQjtFTjRKRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lNOUp4QyxBQUFELFNBQUksQ0FBQztNTitKSCxTQUFTLEVBQUUsTUFBTSxHTTdKbEI7RU5nS0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJTWxLdkMsQUFBRCxTQUFJLENBQUM7TU5tS0gsU0FBUyxFQUFFLE1BQU0sR01qS2xCOztBQUVBLEFBQUQsU0FBSSxDQUFDO0VONExMLFNBQVMsRUFBRSxNQUFNLEdNMUxoQjtFTjRMRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lNOUx4QyxBQUFELFNBQUksQ0FBQztNTitMSCxTQUFTLEVBQUUsTUFBTSxHTTdMbEI7RU5nTUQsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJTWxNdkMsQUFBRCxTQUFJLENBQUM7TU5tTUgsU0FBUyxFQUFFLE1BQU0sR01qTWxCOztBQUVBLEFBQUQsU0FBSSxDQUFDO0VONE5MLFNBQVMsRUFBRSxNQUFNLEdNMU5oQjtFTjRORCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lNOU54QyxBQUFELFNBQUksQ0FBQztNTitOSCxTQUFTLEVBQUUsTUFBTSxHTTdObEI7RU5nT0QsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJTWxPdkMsQUFBRCxTQUFJLENBQUM7TU5tT0gsU0FBUyxFQUFFLE1BQU0sR01qT2xCOztBQUVBLEFBQUQsU0FBSSxDQUFDO0VOb09MLFNBQVMsRUFBRSxNQUFNLEdNbE9oQjtFTm9PRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNB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 */
