@charset "UTF-8";
/*! purgecss start ignore */
*, *::after, *::before {
  box-sizing: border-box;
}

* {
  font: inherit;
  margin: 0;
  padding: 0;
  border: 0;
}

body {
  background-color: var(--color-bg, white);
}

ol, ul, menu {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

button, input, textarea, select, .reset {
  background-color: transparent;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}


a {
  color: var(--color-primary, hsl(250, 100%, 69%));
}

textarea {
  resize: vertical;
  overflow: auto;
  vertical-align: top;
}

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

img, video, svg {
  max-width: 100%;
  display: block;
}

[data-theme] {
  color: var(--color-contrast-high, hsl(240, 5%, 82%));
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  color: var(--color-contrast-high);
  font-family: var(--font-primary);
  font-size: var(--text-base);
  line-height: 1.4;
}

h1, h2, h3, h4 {
  color: var(--color-contrast-higher);
  line-height: 1.2;
  font-weight: 700;
}

h1 {
  font-size: var(--text-2xl);
}

h2 {
  font-size: var(--text-xl);
}

h3 {
  font-size: var(--text-lg);
}

h4 {
  font-size: var(--text-md);
}

small {
  font-size: var(--text-sm);
}

.link {
  text-decoration: none;
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15) 50%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  transition: background-position 0.2s;
}
.link:hover {
  background-position: 0% 100%;
}

/* text-component */
.text-component {
  --heading-line-height: 1.2;
  --body-line-height: 1.4;
  --spacing: 1rem;
  line-height: var(--body-line-height);
}
.text-component > * {
  margin-bottom: var(--spacing);
}
.text-component :where(h1, h2, h3, h4) {
  margin-top: calc(var(--spacing) * 1.6666666667);
  line-height: var(--heading-line-height);
}
.text-component :where(ul, ol) {
  padding-left: 1.25em;
}
.text-component ul :where(ul, ol),
.text-component ol :where(ul, ol) {
  padding-left: 1em;
}
.text-component ul {
  list-style-type: disc;
}
.text-component ol {
  list-style-type: decimal;
}
.text-component ul li::marker,
.text-component ol li::marker {
  color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.25);
}
.text-component img {
    margin: 0;  border-radius: var(--radius-md);
    border:1px solid #eff0f0;
}

.text-component figcaption {
  margin-top: calc(var(--spacing) / 2);
  font-size: var(--text-sm);
  color: var(--color-contrast-low);
  text-align: center;
}
.text-component em {
  font-style: italic;
}
.text-component strong {
  font-weight: bold;
}
.text-component s {
  text-decoration: line-through;
}
.text-component u {
  text-decoration: underline;
}
.text-component mark {
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
  color: inherit;
  border-radius: var(--radius-md);
  padding: 0 0.25em;
}
.text-component blockquote {
  padding-left: 1em;
  border-left: 3px solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.25);
  font-style: italic;
}
.text-component hr {
  margin: calc(var(--spacing) * 1.6666666667) 0;
  background: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1);
  height: 1px;
}
.text-component > *:first-child {
  margin-top: 0;
}
.text-component > *:last-child {
  margin-bottom: 0;
}

/* overflow items */
:where(.text-component__item-full-width, .text-component__item-overflow, .text-component__item-overflow-left, .text-component__item-overflow-right, .text-component__item-left, .text-component__item-right) img {
  width: 100%;
}

.text-component__item-full-width {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

@media (min-width: 48rem) {
  .text-component__item-left,
  .text-component__item-right,
  .text-component__item-overflow-left,
  .text-component__item-overflow-right {
    width: 45%;
  }
  .text-component__item-left,
  .text-component__item-overflow-left {
    float: left;
    margin-right: var(--spacing);
  }
  .text-component__item-right,
  .text-component__item-overflow-right {
    float: right;
    margin-left: var(--spacing);
  }
  .text-component img {
      max-width: 700px;
  }  
}
@media (min-width: 80rem) {
  .text-component__item-overflow,
  .text-component__item-overflow-left,
  .text-component__item-overflow-right {
    --overflow-size: 8rem;
  }
  .text-component__item-overflow {
    width: calc(100% + var(--overflow-size) * 2);
    margin-left: calc(var(--overflow-size) * -1);
  }
  .text-component__item-overflow-left {
    margin-left: calc(var(--overflow-size) * -1);
  }
  .text-component__item-overflow-right {
    margin-right: calc(var(--overflow-size) * -1);
  }
}
/* spacing variations */
.text-component--tight {
  --heading-line-height: 1.1;
  --body-line-height: 1.2;
  --spacing: 0.625rem;
}

.text-component--relaxed {
  --heading-line-height: 1.25;
  --body-line-height: 1.625;
  --spacing: 1.25rem;
}
@media (min-width: 64rem) {
  .text-component--relaxed {
    --spacing: 1.5rem;
  }
}

.icon {
  --size: 1em;
  font-size: var(--size);
  height: 1em;
  width: 1em;
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}

.icon--3xs {
  --size: 8px;
}

.icon--2xs {
  --size: 12px;
}

.icon--xs {
  --size: 16px;
}

.icon--sm {
  --size: 24px;
}

.icon--md {
  --size: 32px;
}

.icon--lg {
  --size: 48px;
}

.icon--xl {
  --size: 64px;
}

.icon--2xl {
  --size: 96px;
}

.icon--3xl {
  --size: 128px;
}

/* rotate the icon infinitely */
.icon--is-spinning {
  animation: icon-spin 1s infinite linear;
}

@keyframes icon-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* SVG symbols - enable icon color corrections */
.icon use {
  color: inherit;
  fill: currentColor;
}

.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  background: var(--color-bg-dark);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--radius-md);
  font-size: 1em;
  color: var(--color-contrast-higher);
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  transition: 0.2s;
  will-change: transform;
}
.btn:focus-visible {
  outline: none;
  box-shadow: 0px 0px 0px 2px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
}
.btn:active {
  transform: translateY(2px);
}

/* primary */
.btn--primary {
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), var(--shadow-xs);
}
.btn--primary:hover {
  background: var(--color-primary-light);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), var(--shadow-sm);
}
.btn--primary:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), 0px 0px 0px 2px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
}

/* subtle */
.btn--subtle {
  background: var(--color-bg-light);
  color: var(--color-contrast-higher);
  box-shadow: inset 0px 0px 0px 1px var(--color-contrast-lower), var(--shadow-xs);
}
.btn--subtle:hover {
  background: var(--color-bg-lighter);
  box-shadow: inset 0px 0px 0px 1px var(--color-contrast-lower), var(--shadow-sm);
}
.btn--subtle:focus {
  box-shadow: inset 0px 0px 0px 1px var(--color-contrast-lower), 0px 0px 0px 2px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.05);
}

/* accent */
.btn--accent {
  background: var(--color-accent);
  color: var(--color-white);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), var(--shadow-xs);
}
.btn--accent:hover {
  background: var(--color-accent-light);
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), var(--shadow-sm);
}
.btn--accent:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15), 0px 0px 0px 2px hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
}

/* feedback */
.btn--disabled, .btn[disabled], .btn[readonly] {
  opacity: 0.6;
  cursor: not-allowed;
}

/* a button containing (only) an icon */
.btn--icon {
  padding: var(--space-2xs);
}

/* size */
.btn--sm {
  font-size: 0.8em;
}

.btn--md {
  font-size: 1.2em;
}

.btn--lg {
  font-size: 1.4em;
}

.form-control {
  background: var(--color-bg-dark);
  box-shadow: inset 0 0 0 1px var(--color-contrast-lower);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-md);
  font-size: 1em;
  line-height: 1.2;
  transition: 0.2s;
}
.form-control::-moz-placeholder {
  opacity: 1;
  color: var(--color-contrast-low);
}
.form-control::placeholder {
  opacity: 1;
  color: var(--color-contrast-low);
}
.form-control:focus, .form-control:focus-within {
  background: var(--color-bg);
  box-shadow: inset 0px 0px 0px 1px hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0), 0px 0px 0px 2px var(--color-primary), var(--shadow-sm);
  outline: none;
}

/* disabled */
.form-control--disabled,
.form-control[disabled],
.form-control[readonly] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* error */
.form-control[aria-invalid=true],
.form-control.form-control--error {
  box-shadow: inset 0px 0px 0px 1px hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0), 0px 0px 0px 2px var(--color-error);
}
.form-control[aria-invalid=true]:focus, .form-control[aria-invalid=true]:focus-within,
.form-control.form-control--error:focus,
.form-control.form-control--error:focus-within {
  box-shadow: inset 0px 0px 0px 1px hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), 0), 0px 0px 0px 2px var(--color-error), var(--shadow-sm);
}

/* legend */
.form-legend {
  font-weight: 700;
  color: var(--color-contrast-higher);
  line-height: 1.2;
  font-size: var(--text-md);
  margin-bottom: var(--space-sm);
}

/* label */
.form-label {
  display: inline-block;
  font-size: var(--text-sm);
  margin-bottom: var(--space-2xs);
}

/* --------------------------------

File#: _1_accordion
Title: Accordion
Descr: Create stacked sections of content and allow the user to expand/collapse them
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --accordion-border-width: 1px;
  --accordion-border-color: var(--color-contrast-lower);
  --accordion-icon-size: 1em;
  --accordion-icon-stroke-width: 1.5px;
}

.accordion__item {
  border-style: solid;
  border-color: var(--accordion-border-color);
  border-bottom-width: var(--accordion-border-width);
}
.accordion__item:first-child {
  border-top-width: var(--accordion-border-width);
}

.accordion__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}
.accordion__header .icon {
  --size: var(--accordion-icon-size);
}
.accordion__header .icon .icon__group {
  stroke-width: var(--accordion-icon-stroke-width);
}

.accordion__icon-arrow .icon__group,
.accordion__icon-arrow-v2 .icon__group,
.accordion__icon-plus .icon__group {
  will-change: transform;
  transform-origin: 8px 8px;
}
.accordion__icon-arrow .icon__group > *,
.accordion__icon-arrow-v2 .icon__group > *,
.accordion__icon-plus .icon__group > * {
  transform-origin: 8px 8px;
}

.accordion__icon-arrow .icon__group > *,
.accordion__icon-arrow-v2 .icon__group > * {
  stroke-dasharray: 17;
  transform: translateY(3px);
}
.accordion__icon-arrow .icon__group > *:first-child,
.accordion__icon-arrow-v2 .icon__group > *:first-child {
  stroke-dashoffset: 8.5;
}
.accordion__icon-arrow .icon__group > *:last-child,
.accordion__icon-arrow-v2 .icon__group > *:last-child {
  stroke-dashoffset: 8.5;
}

.accordion__icon-plus .icon__group {
  transform: rotate(-90deg);
}
.accordion__icon-plus .icon__group > *:first-child {
  transform: rotate(-90deg);
}

.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:first-child {
  transform: translateY(-3px) rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow .icon__group > *:last-child {
  transform: translateY(-3px) rotate(90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group {
  transform: rotate(-90deg);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group > *:first-child, .accordion__item--is-open > .accordion__header > .accordion__icon-arrow-v2 .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group {
  transform: rotate(0);
}
.accordion__item--is-open > .accordion__header > .accordion__icon-plus .icon__group > *:first-child {
  transform: rotate(0);
}

.js .accordion__panel {
  display: none;
  will-change: height;
  transform: translateZ(0px);
}
.js .accordion__item--is-open > .accordion__panel {
  display: block;
}

.accordion[data-animation=on] .accordion__item--is-open .accordion__panel > * {
  animation: accordion-entry-animation 0.4s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group,
.accordion[data-animation=on] .accordion__icon-plus .icon__group {
  transition: transform 0.3s var(--ease-out);
}
.accordion[data-animation=on] .accordion__icon-arrow .icon__group > *,
.accordion[data-animation=on] .accordion__icon-arrow-v2 .icon__group > *,
.accordion[data-animation=on] .accordion__icon-plus .icon__group > * {
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}

@keyframes accordion-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
/* -------------------------------- 

File#: _1_breadcrumbs
Title: Breadcrumbss
Descr: List of links to help the user move within website structure
Usage: codyhouse.co/license

-------------------------------- */
.breadcrumbs__item {
  display: inline-block;
  display: inline-flex;
  align-items: center;
}

/* -------------------------------- 

File#: _1_card-v14
Title: Card v14
Descr: Container of information used as teaser for further content exploration
Usage: codyhouse.co/license

-------------------------------- */
.card-v14 {
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  border-radius: var(--radius-md);
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
.card-v14:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

.card-v14__icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
}

.card-v14__icon {
  --size: 24px;
  color: var(--color-accent);
}

/* -------------------------------- 

File#: _1_circle-loader
Title: Circle Loader
Descr: A collection of animated circle loaders
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --circle-loader-v1-size: 48px;
  --circle-loader-v1-stroke-width: 4px;
  --circle-loader-v2-size: 64px;
  --circle-loader-v2-stroke-width: 2;
  --circle-loader-v3-size: 64px;
  --circle-loader-v4-size: 48px;
  --circle-loader-v5-size: 64px;
  --circle-loader-v6-size: 48px;
}

.circle-loader {
  position: relative;
  display: inline-block;
}

@supports (animation-name: this) {
  .circle-loader__label {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
  }
}
@supports (animation-name: this) {
  .circle-loader--v1 {
    transform: rotate(45deg);
    will-change: transform;
    animation: circle-loader-1 0.75s infinite var(--ease-in-out);
  }
  .circle-loader--v1 .circle-loader__circle {
    width: var(--circle-loader-v1-size);
    height: var(--circle-loader-v1-size);
    border-width: var(--circle-loader-v1-stroke-width);
    border-style: solid;
    border-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
    border-radius: 50%;
  }
  .circle-loader--v1 .circle-loader__circle::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-width: inherit;
    border-style: inherit;
    border-color: transparent;
    border-top-color: var(--color-primary);
    border-radius: inherit;
  }
}
@keyframes circle-loader-1 {
  0% {
    transform: rotate(45deg);
  }
  100% {
    transform: rotate(405deg);
  }
}
@supports (animation-name: this) {
  .circle-loader--v2 {
    will-change: transform;
    animation: circle-loader-spinning-main 1.4s infinite linear;
  }
  .circle-loader--v2 .circle-loader__svg {
    display: block;
    width: var(--circle-loader-v2-size);
    height: var(--circle-loader-v2-size);
    color: var(--color-primary);
  }
  .circle-loader--v2 .circle-loader__svg > * {
    stroke-width: var(--circle-loader-v2-stroke-width);
  }
  .circle-loader--v2 .circle-loader__base {
    opacity: 0.2;
  }
  .circle-loader--v2 .circle-loader__fill {
    stroke-linecap: round;
    stroke-dashoffset: 0;
    stroke-dasharray: 90 120;
    transform-origin: 50% 50%;
    transform: rotate(45deg);
    animation: circle-loader-dash 1.4s infinite;
  }
}
@keyframes circle-loader-dash {
  0%, 20% {
    stroke-dashoffset: 0;
    transform: rotate(0);
  }
  50%, 70% {
    stroke-dashoffset: 80;
    transform: rotate(270deg);
  }
  100% {
    stroke-dashoffset: 0;
    transform: rotate(360deg);
  }
}
@keyframes circle-loader-spinning-main {
  to {
    transform: rotate(360deg);
  }
}
@supports (animation-name: this) {
  .circle-loader--v3 {
    width: var(--circle-loader-v3-size);
    height: var(--circle-loader-v3-size);
  }
  .circle-loader--v3 .circle-loader__circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color-primary);
    transform: scale(0);
    opacity: 0.8;
    will-change: transform, opacity;
    animation: circle-loader-3 1.2s infinite;
  }
  .circle-loader--v3 .circle-loader__circle--2nd {
    animation-delay: 0.6s;
  }
}
@keyframes circle-loader-3 {
  to {
    transform: scale(1);
    opacity: 0;
  }
}
@supports (animation-name: this) {
  .circle-loader--v4 {
    width: var(--circle-loader-v4-size);
    height: var(--circle-loader-v4-size);
    border-radius: 50%;
    overflow: hidden;
  }
  .circle-loader--v4 .circle-loader__mask,
  .circle-loader--v4 .circle-loader__circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }
  .circle-loader--v4 .circle-loader__mask {
    -webkit-clip-path: circle(calc(0.5 * var(--circle-loader-v4-size)));
            clip-path: circle(calc(0.5 * var(--circle-loader-v4-size)));
  }
  .circle-loader--v4 .circle-loader__circle--1st {
    background-color: var(--color-contrast-low);
  }
  .circle-loader--v4 .circle-loader__circle--2nd {
    background-color: var(--color-primary);
    will-change: transform;
    transform-origin: 50% 100%;
    animation: circle-loader-4 1.2s infinite cubic-bezier(0.23, 0.9, 0.75, 0.1);
    transform: translateX(-100%);
  }
}
@keyframes circle-loader-4 {
  to {
    transform: translateX(100%);
  }
}
@supports (animation-name: this) {
  .circle-loader--v5 {
    font-size: var(--circle-loader-v5-size);
    width: 1em;
    height: 1em;
  }
  .circle-loader--v5 .circle-loader__label {
    font-size: 1rem;
  }
  .circle-loader--v5 .circle-loader__ball {
    position: absolute;
    top: 0;
    left: calc(50% - 0.140625em);
    width: 0.28125em;
    height: 0.28125em;
    background-color: var(--color-primary);
    border-radius: 50%;
    animation: circle-loader-5-ball 0.8s infinite;
  }
  .circle-loader--v5 .circle-loader__shadow {
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.15625em);
    width: 0.3125em;
    height: 0.3125em;
    background-color: var(--color-contrast-lower);
    border-radius: 50%;
    transform: scaleY(0.4) scaleX(1.2);
    animation: circle-loader-5-shadow 0.8s infinite;
  }
}
@keyframes circle-loader-5-ball {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    transform: translateY(0.5625em);
    animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes circle-loader-5-shadow {
  0% {
    transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
    animation-timing-function: cubic-bezier(0.61, 0.12, 0.85, 0.4);
  }
  50% {
    transform: scaleY(0.2) scaleX(0.6);
    background-color: var(--color-contrast-low);
    animation-timing-function: cubic-bezier(0.12, 0.59, 0.46, 0.95);
  }
  100% {
    transform: scaleY(0.4) scaleX(1.2);
    background-color: var(--color-contrast-lower);
  }
}
@supports (animation-name: this) {
  .circle-loader--v6 .circle-loader__svg {
    display: block;
    width: var(--circle-loader-v6-size);
    height: var(--circle-loader-v6-size);
    color: var(--color-primary);
  }
  .circle-loader--v6 .circle-loader__fill {
    stroke-width: 8px;
    stroke-dashoffset: 35;
    stroke-dasharray: 36 36;
    animation: circle-loader-6 1.5s infinite;
  }
}
@keyframes circle-loader-6 {
  0%, 100% {
    stroke-dashoffset: 35;
  }
  50% {
    stroke-dashoffset: -35;
  }
}
/* -------------------------------- 

File#: _1_confetti-button
Title: Confetti Button
Descr: A collection of spark button effects
Usage: codyhouse.co/license

-------------------------------- */
.confetti-btn__icon {
  display: none;
}
@supports (--css: variables) {
  .confetti-btn__icon {
    --size: 16px;
    display: block;
    width: var(--size);
    height: var(--size);
    position: absolute;
    top: calc(var(--conf-btn-click-y, 50%) - var(--size) / 2);
    left: calc(var(--conf-btn-click-x, 50%) - var(--size) / 2);
    pointer-events: none;
    overflow: visible;
  }
  .confetti-btn__icon * {
    transform-origin: calc(var(--size) / 2);
    opacity: 0;
  }
}

.confetti-btn--animate .confetti-btn__icon {
  --confetti-btn-animation-duration: 1s;
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-0 {
  animation: confetti-btn-item-0-anim var(--confetti-btn-animation-duration) var(--ease-out);
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-1 {
  animation: confetti-btn-item-1-anim var(--confetti-btn-animation-duration) var(--ease-out);
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-2 {
  animation: confetti-btn-item-2-anim var(--confetti-btn-animation-duration) var(--ease-out);
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-3 {
  animation: confetti-btn-item-3-anim var(--confetti-btn-animation-duration) var(--ease-out);
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-4 {
  animation: confetti-btn-item-4-anim var(--confetti-btn-animation-duration) var(--ease-out);
}
.confetti-btn--animate .confetti-btn__icon .conf-btn-svg-item-5 {
  animation: confetti-btn-item-5-anim var(--confetti-btn-animation-duration) var(--ease-out);
}

@keyframes confetti-btn-item-0-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes confetti-btn-item-1-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-50px) scale(0.8) rotate(-3deg);
  }
}
@keyframes confetti-btn-item-2-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-44px) translateX(20px) scale(0.7) rotate(5deg);
  }
}
@keyframes confetti-btn-item-3-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-36px) translateX(-20px) scale(0.6) rotate(-9deg);
  }
}
@keyframes confetti-btn-item-4-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-20px) translateX(10px) scale(0.8) rotate(-12deg);
  }
}
@keyframes confetti-btn-item-5-anim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-12px) translateX(-10px) scale(0.9) rotate(7deg);
  }
}
/* -------------------------------- 

File#: _1_emoji-feedback
Title: Emoji Feedback
Descr: A feedback collection system based on emoticons
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --emoji-rate-size: 40px;
}

.emoji-rate__list > * {
  position: relative;
}

.emoji-rate__custom-input {
  position: relative;
  display: block;
  font-size: var(--emoji-rate-size);
  width: 1em;
  height: 1em;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s var(--ease-out-back);
}

.emoji-rate__icon {
  display: block;
  width: inherit;
  height: inherit;
  transition: color 0.3s;
}
.emoji-rate__icon * {
  transition: fill, stroke;
  transition-duration: 0.3s;
}

.emoji-rate__hand-icon {
  display: block;
  font-size: var(--emoji-rate-size);
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  transition: transform 0.3s;
}

#emoji-rate-partially-hand {
  opacity: 0;
}

.emoji-rate__native-input + .emoji-rate__custom-input--no .emoji-rate__icon #emoji-rate-no-eyes {
  transform: translateY(0) translateX(0);
}
.emoji-rate__native-input + .emoji-rate__custom-input--no .emoji-rate__icon #emoji-rate-no-mouth {
  transform: translateY(0) translateX(0);
}
.emoji-rate__native-input + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-eyes {
  transform: translateY(0) scale(1);
}
.emoji-rate__native-input + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-mouth {
  transform-origin: 50% 70%;
  transform: translateY(0) scale(1);
}
.emoji-rate__native-input + .emoji-rate__custom-input--partially .emoji-rate__icon #emoji-rate-partially-eyes {
  transform-origin: 20px 19.5px;
  transform: translateY(0) scaleY(1);
}
.emoji-rate__native-input + .emoji-rate__custom-input--partially .emoji-rate__icon #emoji-rate-partially-mouth {
  transform-origin: 20px 28px;
  transform: translateY(0) scaleX(1);
}
.emoji-rate__native-input ~ .emoji-rate__hand-icon #emoji-rate-partially-hand {
  transform-origin: 7px 35px;
  opacity: 0;
  transform: translateX(0);
}

.emoji-rate__native-input:checked + .emoji-rate__custom-input,
.emoji-rate__native-input:checked ~ .emoji-rate__hand-icon {
  transform: scale(1.1);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--no .emoji-rate__icon {
  color: var(--color-black);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--no .emoji-rate__icon #emoji-rate-no-bg {
  fill: var(--color-error-light);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--no .emoji-rate__icon #emoji-rate-no-eyes {
  animation: emoji-rate-no-eyes-anim 1.6s;
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--no .emoji-rate__icon #emoji-rate-no-mouth {
  animation: emoji-rate-no-mouth-anim 1.6s;
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--yes .emoji-rate__icon {
  color: var(--color-black);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-bg {
  fill: var(--color-warning);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-eyes {
  animation: emoji-rate-yes-eyes-anim 1.6s;
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-mouth {
  transform-origin: 50% 70%;
  animation: emoji-rate-yes-mouth-anim 1.6s;
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--yes .emoji-rate__icon #emoji-rate-yes-tongue {
  fill: var(--color-error);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--partially .emoji-rate__icon {
  color: var(--color-black);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--partially .emoji-rate__icon #emoji-rate-partially-bg {
  fill: var(--color-warning);
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--partially .emoji-rate__icon #emoji-rate-partially-eyes {
  animation: emoji-rate-partially-eyes-anim 1.6s;
}
.emoji-rate__native-input:checked + .emoji-rate__custom-input--partially .emoji-rate__icon #emoji-rate-partially-mouth {
  animation: emoji-rate-partially-mouth-anim 1.6s;
}
.emoji-rate__native-input:checked ~ .emoji-rate__hand-icon #emoji-rate-partially-hand {
  animation: emoji-rate-partially-hand-anim 1.6s;
}

.emoji-rate__native-input:focus + .emoji-rate__custom-input {
  box-shadow: 0 0 0 3px hsla(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l), 0.3);
}
.emoji-rate__native-input:focus + .emoji-rate__custom-input--no {
  box-shadow: 0 0 0 3px hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), 0.25);
}

.emoji-rate__native-input:focus:not(:focus-visible) + .emoji-rate__custom-input {
  box-shadow: none !important;
}

@keyframes emoji-rate-no-eyes-anim {
  0%, 100% {
    transform: translateY(0) translateX(0);
  }
  30%, 40% {
    transform: translateY(4px) translateX(0);
  }
  50% {
    transform: translateY(4px) translateX(-4px);
  }
  60% {
    transform: translateY(4px) translateX(4px);
  }
  70% {
    transform: translateY(4px) translateX(0px);
  }
}
@keyframes emoji-rate-no-mouth-anim {
  0%, 100% {
    transform: translateY(0) translateX(0);
  }
  30%, 40% {
    transform: translateY(2.5px) translateX(0);
  }
  50% {
    transform: translateY(2.5px) translateX(-2.5px);
  }
  60% {
    transform: translateY(2.5px) translateX(2.5px);
  }
  70% {
    transform: translateY(2.5px) translateX(0px);
  }
}
@keyframes emoji-rate-yes-mouth-anim {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  30%, 40% {
    transform: translateY(-2.5px) scale(1.2);
  }
  55% {
    transform: translateY(0) scale(1.2);
  }
  70% {
    transform: translateY(-2.5px) scale(1.2);
  }
}
@keyframes emoji-rate-yes-eyes-anim {
  0%, 100% {
    transform: translateY(0);
  }
  30%, 40% {
    transform: translateY(-2.5px);
  }
  55% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(-2.5px);
  }
}
@keyframes emoji-rate-partially-eyes-anim {
  0%, 100% {
    transform: translateY(0) scaleY(1);
  }
  30%, 40%, 60%, 70% {
    transform: translateY(-2px) scaleY(1);
  }
  50% {
    transform: translateY(-2px) scaleY(0.1);
  }
}
@keyframes emoji-rate-partially-mouth-anim {
  0%, 100% {
    transform: translateY(0) scaleX(1);
  }
  30%, 70% {
    transform: translateY(-4px) scaleX(0.6);
  }
}
@keyframes emoji-rate-partially-hand-anim {
  0%, 100% {
    opacity: 0;
    transform: translateX(0);
  }
  30%, 70% {
    opacity: 1;
    transform: translateX(3px);
  }
}
/* -------------------------------- 

File#: _1_expandable-side-navigation
Title: Expandable Side Navigation
Descr: A side navigation with expandable sub-lists and popular links
Usage: codyhouse.co/license

-------------------------------- */
.exsidenav__pop-nav {
  margin-bottom: var(--space-md);
}

.exsidenav__pop-link,
.exsidenav__link,
.exsidenav__control {
  display: flex;
  align-items: center;
  width: 100%;
  color: var(--color-contrast-high);
  text-decoration: none;
  line-height: 1;
  padding: var(--space-2xs);
  cursor: pointer;
  transition: 0.2s;
}
.exsidenav__pop-link:hover,
.exsidenav__link:hover,
.exsidenav__control:hover {
  color: var(--color-primary);
}

/* popular links */
.exsidenav__pop-link .icon {
  --size: 16px;
  margin-right: var(--space-2xs);
  opacity: 0.5;
  transition: opacity 0.2s;
}
.exsidenav__pop-link:hover .icon {
  opacity: 1;
}
.exsidenav__pop-link[aria-current=page] {
  color: var(--color-primary);
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.15);
  border-radius: var(--radius-md);
}
.exsidenav__pop-link[aria-current=page] .icon {
  opacity: 1;
}

/* main links */
.exsidenav__link {
  position: relative;
}
.exsidenav__list .exsidenav__list .exsidenav__link::before { /* left mark */
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  height: 100%;
  width: 1px;
}
.exsidenav__link[aria-current=page] {
  color: var(--color-primary);
}
.exsidenav__link[aria-current=page]::before {
  background-color: var(--color-primary);
}

/* list label */
.exsidenav__label-wrapper {
  margin: var(--space-md) 0 var(--space-2xs) var(--space-2xs);
}
.exsidenav__list .exsidenav__list .exsidenav__label-wrapper {
  margin: var(--space-xs) 0 var(--space-3xs) var(--space-2xs);
}

.exsidenav__label {
  color: var(--color-contrast-low);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* button controlling sub navigations */
.exsidenav__control {
  font-weight: 600;
}
.exsidenav__control .icon {
  --size: 16px;
  display: block;
  margin-left: auto;
}
.exsidenav__control .icon__group {
  will-change: transform;
  transform-origin: 8px 8px;
  transition: transform 0.3s var(--ease-out);
}
.exsidenav__control .icon__group > * {
  transform-origin: 8px 8px;
  stroke-dasharray: 17;
  transform: translateY(3px);
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}
.exsidenav__control .icon__group > *:first-child {
  stroke-dashoffset: 10;
}
.exsidenav__control .icon__group > *:last-child {
  stroke-dashoffset: 10;
}
.exsidenav__control[aria-expanded=true] + .exsidenav__list {
  display: block; /* show the subnavigation */
}
.exsidenav__control[aria-expanded=true] + .exsidenav__list > * {
  animation: exsidenav-entry-animation 0.4s var(--ease-out); /* animate list items */
}
.exsidenav__control[aria-expanded=true] .icon__group {
  transform: rotate(-90deg);
}
.exsidenav__control[aria-expanded=true] .icon__group > *:first-child, .exsidenav__control[aria-expanded=true] .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}

.exsidenav__list .exsidenav__list {
  display: none;
  border-left: 1px solid var(--color-contrast-lower);
  margin: var(--space-4xs) 0 0 var(--space-2xs);
}

@keyframes exsidenav-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
@media (min-width: 64rem) {
  .exsidenav__pop-link,
  .exsidenav__link,
  .exsidenav__control {
    font-size: 1rem;
  }
}
/* no-js support */
html:not(.js) .exsidenav__list .exsidenav__list {
  display: block;
}

/* -------------------------------- 

File#: _1_list-v2
Title: List v2
Descr: Custom list component
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --list-v2-bullet-size: 40px;
  --list-v2-bullet-font-size: 1rem;
  --list-v2-bullet-margin-right: 1rem;
  --list-v2-gap-y: var(--space-lg); /* list points gap */
}

.list-v2, .text-component .list-v2 {
  padding-left: 0;
  list-style: none;
}
.list-v2 > li:not(:last-child), .text-component .list-v2 > li:not(:last-child) {
  margin-bottom: var(--list-v2-gap-y);
}

.list-v2__title {
  padding-left: calc(var(--list-v2-bullet-size) + var(--list-v2-bullet-margin-right));
}

.list-v2__bullet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--list-v2-bullet-size);
  height: var(--list-v2-bullet-size);
  margin-right: var(--list-v2-bullet-margin-right);
  margin-left: calc(-1 * var(--list-v2-bullet-size) - var(--list-v2-bullet-margin-right));
  vertical-align: middle;
  position: relative;
  top: -0.1em;
}

.list-v2__content {
  margin-left: calc(var(--list-v2-bullet-size) + var(--list-v2-bullet-margin-right));
}

/* ordered list */
.list-v2--ol, .text-component .list-v2--ol {
  counter-reset: list-items;
}
.list-v2--ol > li, .text-component .list-v2--ol > li {
  counter-increment: list-items;
}
.list-v2--ol .list-v2__bullet, .text-component .list-v2--ol .list-v2__bullet {
  border-radius: 50%;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
  color: var(--color-primary);
  font-size: var(--list-v2-bullet-font-size);
  font-weight: 500;
}
.list-v2--ol .list-v2__bullet::before, .text-component .list-v2--ol .list-v2__bullet::before {
  content: counter(list-items);
}

/* unordered list */
.list-v2--ul, .text-component .list-v2--ul {
  --list-v2-bullet-size: 10px;
}
.list-v2--ul .list-v2__bullet, .text-component .list-v2--ul .list-v2__bullet {
  border-radius: 50%;
  background-color: var(--color-primary);
}

/* icons */
.list-v2--icons, .text-component .list-v2--icons {
  --list-v2-bullet-size: 48px;
}
.list-v2--icons .list-v2__bullet, .text-component .list-v2--icons .list-v2__bullet {
  border-radius: 50%;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
}
.list-v2--icons .list-v2__icon, .text-component .list-v2--icons .list-v2__icon {
  --size: 24px;
  color: var(--color-primary); /* icon color */
}

/* -------------------------------- 

File#: _1_list
Title: List
Descr: Custom list component
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --list-space-y: 0.375em;
  --list-offset: 1em;
  --list-line-height-multiplier: 1;
}

.list, .text-component .list {
  padding-left: 0;
  list-style: none;
}
.list ul, .list ol, .text-component .list ul, .text-component .list ol {
  list-style: none;
  margin: 0;
  margin-top: calc(var(--list-space-y) / 2 * var(--text-space-y-multiplier, 1));
  padding-top: calc(var(--list-space-y) / 2 * var(--text-space-y-multiplier, 1));
  padding-left: var(--list-offset);
}
.list li, .text-component .list li {
  padding-bottom: calc(var(--list-space-y) / 2 * var(--text-space-y-multiplier, 1));
  margin-bottom: calc(var(--list-space-y) / 2 * var(--text-space-y-multiplier, 1));
  line-height: calc(1.4 * var(--list-line-height-multiplier));
}
.list > li:last-child, .list ul > li:last-child, .list ol > li:last-child, .text-component .list > li:last-child, .text-component .list ul > li:last-child, .text-component .list ol > li:last-child {
  margin-bottom: 0;
}
.list:not(.list--border) > li:last-child, .list ul > li:last-child, .list ol > li:last-child, .text-component .list:not(.list--border) > li:last-child, .text-component .list ul > li:last-child, .text-component .list ol > li:last-child {
  padding-bottom: 0;
}

/* #region (ul + ol) */
.list--ul, .text-component .list--ul,
.list--ol, .text-component .list--ol {
  --list-offset: calc(var(--list-bullet-size) + var(--list-bullet-margin-right));
}
.list--ul ul, .list--ul ol, .text-component .list--ul ul, .text-component .list--ul ol,
.list--ol ul,
.list--ol ol, .text-component .list--ol ul, .text-component .list--ol ol {
  padding-left: 0;
}
@supports (--css: variables) {
  .list--ul li, .text-component .list--ul li,
  .list--ol li, .text-component .list--ol li {
    padding-left: var(--list-offset) !important;
  }
}
.list--ul li::before, .text-component .list--ul li::before,
.list--ol li::before, .text-component .list--ol li::before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  position: relative;
  top: -0.1em;
}
@supports (--css: variables) {
  .list--ul li::before, .text-component .list--ul li::before,
  .list--ol li::before, .text-component .list--ol li::before {
    width: var(--list-bullet-size) !important;
    height: var(--list-bullet-size) !important;
    margin-left: calc(var(--list-bullet-size) * -1) !important;
    left: calc(var(--list-bullet-margin-right) * -1) !important;
  }
}

.list--ul, .text-component .list--ul {
  --list-bullet-size: 7px;
  --list-bullet-margin-right: 12px;
}
.list--ul > li, .text-component .list--ul > li {
  padding-left: 19px;
}
.list--ul > li::before, .text-component .list--ul > li::before {
  content: "";
  border-radius: 50%;
  color: var(--color-contrast-lower);
  background-color: currentColor;
  width: 7px;
  height: 7px;
  margin-left: -7px;
  left: -12px;
}
.list--ul ul li::before, .text-component .list--ul ul li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 2px currentColor;
}

.list--ol, .text-component .list--ol {
  --list-bullet-size: 26px;
  --list-bullet-margin-right: 6px;
  --list-bullet-font-size: 14px;
  counter-reset: list-items;
}
.list--ol > li, .text-component .list--ol > li {
  counter-increment: list-items;
  padding-left: 32px;
}
.list--ol ol, .text-component .list--ol ol {
  counter-reset: list-items;
}
.list--ol > li::before, .text-component .list--ol > li::before {
  content: counter(list-items);
  font-size: var(--list-bullet-font-size, 14px);
  background-color: var(--color-contrast-lower);
  color: var(--color-contrast-high);
  line-height: 1;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  margin-left: -26px;
  left: -6px;
}
.list--ol ol > li::before, .text-component .list--ol ol > li::before {
  background-color: transparent;
  box-shadow: inset 0 0 0 2px var(--color-contrast-lower);
}
.list--ol.list--accent-lg, .text-component .list--ol.list--accent-lg {
  --list-bullet-size: 32px;
  --list-bullet-margin-right: 6px;
  --list-bullet-font-size: 14px;
  --list-space-y: 0.5em;
}
.list--ol.list--accent-lg > li::before, .text-component .list--ol.list--accent-lg > li::before {
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
  color: var(--color-accent);
}
.list--ol.list--accent-lg ol > li::before, .text-component .list--ol.list--accent-lg ol > li::before {
  box-shadow: inset 0 0 0 2px hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);
}

/* #endregion */
/* #region (border) */
.list--border li:not(:last-child), .text-component .list--border li:not(:last-child) {
  border-bottom: 1px solid var(--color-contrast-lower);
}
.list--border ul, .list--border ol, .text-component .list--border ul, .text-component .list--border ol {
  border-top: 1px solid var(--color-contrast-lower);
}

/* #endregion */
/* #region (icons) */
.list--icons, .text-component .list--icons {
  --list-bullet-size: 24px;
  --list-bullet-margin-right: 8px;
  --list-offset: calc(var(--list-bullet-size) + var(--list-bullet-margin-right));
}
.list--icons ul, .list--icons ol, .text-component .list--icons ul, .text-component .list--icons ol {
  padding-left: 32px;
}
@supports (--css: variables) {
  .list--icons ul, .list--icons ol, .text-component .list--icons ul, .text-component .list--icons ol {
    padding-left: var(--list-offset);
  }
}

.list__icon {
  position: relative;
  width: 24px;
  height: 24px;
  margin-right: 8px;
}
.list__icon:not(.top-0) {
  top: calc((1.4em - 24px) / 2);
}
@supports (--css: variables) {
  .list__icon {
    width: var(--list-bullet-size);
    height: var(--list-bullet-size);
    margin-right: var(--list-bullet-margin-right);
  }
  .list__icon:not(.top-0) {
    top: calc((1.4em * var(--list-line-height-multiplier) - var(--list-bullet-size)) / 2);
  }
}

/* #endregion */
/* -------------------------------- 

File#: _1_modal-window
Title: Modal Window
Descr: A modal dialog used to display critical information
Usage: codyhouse.co/license

-------------------------------- */
.modal {
  position: fixed;
  z-index: var(--z-index-overlay, 15);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
}
.modal:not(.modal--is-visible) {
  pointer-events: none;
  background-color: transparent;
}

.modal--is-visible {
  opacity: 1;
  visibility: visible;
}

.modal__close-btn {
  display: flex;
  flex-shrink: 0;
  border-radius: 50%;
  transition: 0.2s;
}
.modal__close-btn .icon {
  display: block;
  margin: auto;
}

.modal__close-btn--outer {
  width: 48px;
  height: 48px;
  position: fixed;
  top: var(--space-sm);
  right: var(--space-sm);
  z-index: var(--z-index-fixed-element, 10);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.9);
  transition: 0.2s;
}
.modal__close-btn--outer .icon {
  color: var(--color-white);
  transition: transform 0.3s var(--ease-out-back);
}
.modal__close-btn--outer:hover {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 1);
}
.modal__close-btn--outer:hover .icon {
  transform: scale(1.1);
}

.modal__close-btn--inner {
  --size: 32px;
  width: var(--size);
  height: var(--size);
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  transition: 0.2s;
}
.modal__close-btn--inner .icon {
  color: inherit;
}
.modal__close-btn--inner:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

:root {
  --modal-transition-duration: 0.2s;
}

@media (prefers-reduced-motion: no-preference) {
  .modal--animate-fade {
    --modal-transition-duration: 0.2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-fade.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-scale,
  .modal--animate-translate-up,
  .modal--animate-translate-down,
  .modal--animate-translate-right,
  .modal--animate-translate-left {
    --modal-transition-duration: .2s;
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-scale .modal__content,
  .modal--animate-translate-up .modal__content,
  .modal--animate-translate-down .modal__content,
  .modal--animate-translate-right .modal__content,
  .modal--animate-translate-left .modal__content {
    will-change: transform;
    transition: transform var(--modal-transition-duration) var(--ease-out);
  }
  .modal--animate-scale.modal--is-visible,
  .modal--animate-translate-up.modal--is-visible,
  .modal--animate-translate-down.modal--is-visible,
  .modal--animate-translate-right.modal--is-visible,
  .modal--animate-translate-left.modal--is-visible {
    transition: opacity var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-scale.modal--is-visible .modal__content,
  .modal--animate-translate-up.modal--is-visible .modal__content,
  .modal--animate-translate-down.modal--is-visible .modal__content,
  .modal--animate-translate-right.modal--is-visible .modal__content,
  .modal--animate-translate-left.modal--is-visible .modal__content {
    transform: scale(1);
  }
  .modal--animate-slide-up,
  .modal--animate-slide-down,
  .modal--animate-slide-right,
  .modal--animate-slide-left {
    --modal-transition-duration: 0.3s;
    transition: opacity 0s var(--modal-transition-duration), background-color var(--modal-transition-duration), visibility 0s var(--modal-transition-duration);
  }
  .modal--animate-slide-up .modal__content,
  .modal--animate-slide-down .modal__content,
  .modal--animate-slide-right .modal__content,
  .modal--animate-slide-left .modal__content {
    will-change: transform;
    transition: transform var(--modal-transition-duration) var(--ease-out);
  }
  .modal--animate-slide-up.modal--is-visible,
  .modal--animate-slide-down.modal--is-visible,
  .modal--animate-slide-right.modal--is-visible,
  .modal--animate-slide-left.modal--is-visible {
    transition: background-color var(--modal-transition-duration), visibility 0s;
  }
  .modal--animate-slide-up.modal--is-visible .modal__content,
  .modal--animate-slide-down.modal--is-visible .modal__content,
  .modal--animate-slide-right.modal--is-visible .modal__content,
  .modal--animate-slide-left.modal--is-visible .modal__content {
    transform: scale(1);
  }
  .modal--animate-scale .modal__content {
    transform: scale(0.95);
  }
  .modal--animate-translate-up .modal__content {
    transform: translateY(40px);
  }
  .modal--animate-translate-down .modal__content {
    transform: translateY(-40px);
  }
  .modal--animate-translate-right .modal__content {
    transform: translateX(-40px);
  }
  .modal--animate-translate-left .modal__content {
    transform: translateX(40px);
  }
  .modal--animate-slide-up .modal__content {
    transform: translateY(100%);
  }
  .modal--animate-slide-down .modal__content {
    transform: translateY(-100%);
  }
  .modal--animate-slide-right .modal__content {
    transform: translateX(-100%);
  }
  .modal--animate-slide-left .modal__content {
    transform: translateX(100%);
  }
}
.modal--is-loading .modal__content {
  visibility: hidden;
}
.modal--is-loading .modal__loader {
  display: flex;
}

.modal__loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: none;
  pointer-events: none;
}

/* -------------------------------- 

File#: _1_note
Title: Note
Descr: A brief piece of information given to the user
Usage: codyhouse.co/license

-------------------------------- */
.note {
  background-color: var(--color-bg-light);
  border-left: 3px solid var(--color-primary);
  box-shadow: var(--shadow-sm);
  /* 👇 you can ovveride this padding using the padding utility classes */
}
.note:not([class^=padding-]):not([class*=" padding-"]) {
  padding: var(--space-sm);
}

.note--warning {
  border-left-color: var(--color-warning);
}

.note--error {
  border-left-color: var(--color-error);
}

.note--success {
  border-left-color: var(--color-success);
}

.text-component {
  /* reset in case the component is used inside a .text-component */
}
.text-component .note__content > *:last-child {
  margin-bottom: 0;
}
.text-component .note__title {
  margin-bottom: 0;
}

/* -------------------------------- 

File#: _1_pagination
Title: Pagination 
Descr: Component used to navigate through pages of related content
Usage: codyhouse.co/license

-------------------------------- */
.pagination__list > li {
  display: inline-block;
}

.pagination--split .pagination__list {
  width: 100%;
}
.pagination--split .pagination__list > *:first-child {
  margin-right: auto;
}
.pagination--split .pagination__list > *:last-child {
  margin-left: auto;
}

.pagination__item {
  display: inline-block;
  display: inline-flex;
  height: 100%;
  align-items: center;
  padding: var(--space-xs) calc(1.355 * var(--space-xs));
  white-space: nowrap;
  line-height: 1;
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--color-contrast-high);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  will-change: transform;
  transition: 0.2s;
}
.pagination__item:hover:not(.pagination__item--selected):not(.pagination__item--ellipsis) {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1);
}
.pagination__item:active {
  transform: translateY(2px);
}

.pagination__item--selected {
  background-color: var(--color-contrast-higher);
  color: var(--color-bg);
  box-shadow: var(--shadow-sm);
}

.pagination__item--disabled {
  opacity: 0.5;
  pointer-events: none;
}

.pagination__jumper .form-control {
  width: 3em;
  margin-right: var(--space-xs);
}
.pagination__jumper em {
  flex-shrink: 0;
  white-space: nowrap;
}

/* -------------------------------- 

File#: _1_power-link
Title: Power Link
Descr: A link effect
Usage: codyhouse.co/license

-------------------------------- */
.power-link {
  text-decoration: none;
  color: inherit;
  padding: var(--space-sm);
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  border-radius: var(--radius-md);
  transition: 0.3s;
}
.power-link:hover {
  color: var(--color-primary);
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

/* -------------------------------- 

File#: _1_previous-next-links
Title: Previous/Next Links
Descr: Links to previous/next articles
Usage: codyhouse.co/license

-------------------------------- */
.pn-links {
  border-top: 1px solid var(--color-contrast-lower);
  border-bottom: 1px solid var(--color-contrast-lower);
}

.pn-links__item:first-child .pn-links__link {
  border-bottom: 1px solid var(--color-contrast-lower);
}

.pn-links__link {
  display: flex;
  align-items: center;
  height: 100%;
  color: inherit;
  text-decoration: none;
  padding: var(--space-md);
}
.pn-links__link:hover {
  text-decoration: underline;
}
.pn-links__link:hover .pn-links__icon line:nth-child(1) {
  transform: rotate(180deg);
}
.pn-links__link:hover .pn-links__icon line:nth-child(2) {
  transform: rotate(-180deg);
}
.pn-links__link:hover .pn-links__icon line:nth-child(3) {
  stroke-dashoffset: 14;
}

.pn-links__icon {
  flex-shrink: 0;
}
.pn-links__icon line:nth-child(1),
.pn-links__icon line:nth-child(2) {
  transition: transform 0.3s var(--ease-out);
}
.pn-links__icon line:nth-child(1) {
  transform-origin: 42px 19px;
}
.pn-links__icon line:nth-child(2) {
  transform-origin: 42px 29px;
}
.pn-links__icon line:nth-child(3) {
  stroke-dasharray: 48;
  transition: stroke-dashoffset 0.3s var(--ease-out);
}

@media (min-width: 64rem) {
  .pn-links__item:first-child .pn-links__link {
    border-bottom: none;
    border-right: 1px solid var(--color-contrast-lower);
  }
}
/* -------------------------------- 

File#: _1_radio-switch
Title: Radio Switch
Descr: Custom radio toggle
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --radio-switch-width: 72px;
  --radio-switch-height: 32px;
  --radio-switch-padding: 3px;
  --radio-switch-radius: 50em;
  --radio-switch-animation-duration: 0.3s;
}

.radio-switch {
  position: relative;
  display: inline-block;
  display: inline-flex;
  padding: var(--radio-switch-padding);
  border-radius: calc(var(--radio-switch-radius) * 1.4);
  background-color: var(--color-bg-darker);
}
.radio-switch:focus-within, .radio-switch:active {
  box-shadow: 0 0 0 2px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
}

.radio-switch__item {
  position: relative;
  display: inline-block;
  height: calc(var(--radio-switch-height) - 2 * var(--radio-switch-padding));
  width: calc(var(--radio-switch-width) * 0.5 - var(--radio-switch-padding));
}

.radio-switch__label {
  position: relative;
  z-index: 2;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: var(--radio-switch-radius);
  cursor: pointer;
  font-size: var(--text-sm);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: all var(--radio-switch-animation-duration);
}
.radio-switch__input:checked ~ .radio-switch__label {
  color: var(--color-white);
}
.radio-switch__input:focus ~ .radio-switch__label {
  background-color: hsl(var(--color-primary-h), var(--color-primary-s), calc(var(--color-primary-l) * 0.6));
}
.radio-switch__label :not(*):focus-within, .radio-switch__input:focus ~ .radio-switch__label {
  background-color: transparent;
}

.radio-switch__marker {
  position: absolute;
  z-index: 1;
  top: 0;
  left: -100%;
  border-radius: var(--radio-switch-radius);
  background-color: var(--color-primary);
  height: calc(var(--radio-switch-height) - 2 * var(--radio-switch-padding));
  width: calc(var(--radio-switch-width) * 0.5 - var(--radio-switch-padding));
  box-shadow: var(--shadow-md);
  transition: transform var(--radio-switch-animation-duration);
}
.radio-switch__input:checked ~ .radio-switch__marker {
  transform: translateX(100%);
}

/* -------------------------------- 

File#: _1_radios-checkboxes
Title: Radios and Checkboxes
Descr: Custom radio and checkbox buttons
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --checkbox-radio-size: 18px;
  --checkbox-radio-gap: var(--space-2xs);
  --checkbox-radio-border-width: 1px;
  --checkbox-radio-line-height: 1.4;
  --radio-marker-size: 8px;
  --checkbox-marker-size: 12px;
  --checkbox-radius: 4px;
}

.radio,
.checkbox {
  position: absolute;
  padding: 0;
  margin: 0;
  margin-top: calc((1em * var(--checkbox-radio-line-height) - var(--checkbox-radio-size)) / 2);
  opacity: 0;
  height: var(--checkbox-radio-size);
  width: var(--checkbox-radio-size);
  pointer-events: none;
}

.radio + label,
.checkbox + label {
  display: inline-block;
  line-height: var(--checkbox-radio-line-height);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  padding-left: calc(var(--checkbox-radio-size) + var(--checkbox-radio-gap));
}

.radio + label::before,
.checkbox + label::before {
  content: "";
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  top: -0.1em;
  margin-left: calc(-1 * (var(--checkbox-radio-size) + var(--checkbox-radio-gap)));
  flex-shrink: 0;
  width: var(--checkbox-radio-size);
  height: var(--checkbox-radio-size);
  background-color: var(--color-bg);
  border-width: var(--checkbox-radio-border-width);
  border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 0.65);
  border-style: solid;
  box-shadow: var(--shadow-xs);
  background-repeat: no-repeat;
  background-position: center;
  margin-right: var(--checkbox-radio-gap);
  transition: transform 0.2s, border 0.2s;
}

.radio:not(:checked):not(:focus) + label:hover::before,
.checkbox:not(:checked):not(:focus) + label:hover::before {
  border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 1);
}

.radio + label::before {
  border-radius: 50%;
}

.checkbox + label::before {
  border-radius: var(--checkbox-radius);
}

.radio:checked + label::before,
.checkbox:checked + label::before {
  background-color: var(--color-primary);
  box-shadow: var(--shadow-xs);
  border-color: var(--color-primary);
  transition: transform 0.2s;
}

.radio:active + label::before,
.checkbox:active + label::before {
  transform: scale(0.8);
  transition: transform 0.2s;
}

.radio:checked:active + label::before,
.checkbox:checked:active + label::before {
  transform: none;
  transition: none;
}

.radio:checked + label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  background-size: var(--radio-marker-size);
}

.checkbox:checked + label::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-size: var(--checkbox-marker-size);
}

.radio:checked:active + label::before,
.checkbox:checked:active + label::before,
.radio:focus + label::before,
.checkbox:focus + label::before {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
}

.radio--bg + label, .checkbox--bg + label {
  padding: var(--space-4xs) var(--space-3xs);
  padding-left: calc(var(--checkbox-radio-size) + var(--checkbox-radio-gap) + var(--space-3xs));
  border-radius: var(--radius-md);
  transition: background 0.2s;
}

.radio--bg + label:hover, .checkbox--bg + label:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
}

.radio--bg:active + label,
.checkbox--bg:active + label,
.radio--bg:focus + label,
.checkbox--bg:focus + label {
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
}

/* -------------------------------- 

File#: _1_responsive-sidebar
Title: Responsive Sidebar
Descr: Responsive sidebar container
Usage: codyhouse.co/license

-------------------------------- */
/* mobile version only (--default) 👇 */
.sidebar:not(.sidebar--static) {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-fixed-element, 10);
  width: 100%;
  height: 100%;
  visibility: hidden;
  transition: visibility 0s 0.3s;
}
.sidebar:not(.sidebar--static)::after { /* overlay layer */
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0);
  transition: background-color 0.3s;
  z-index: 1;
}
.sidebar:not(.sidebar--static) .sidebar__panel { /* content */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  max-width: 380px;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background-color: var(--color-bg);
  transform: translateX(-100%);
  transition: 0.3s;
}
.sidebar:not(.sidebar--static).sidebar--right-on-mobile .sidebar__panel {
  left: auto;
  right: 0;
  transform: translateX(100%);
}
.sidebar:not(.sidebar--static).sidebar--is-visible {
  visibility: visible;
  transition: none;
}
.sidebar:not(.sidebar--static).sidebar--is-visible::after {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.85);
}
.sidebar:not(.sidebar--static).sidebar--is-visible .sidebar__panel {
  transform: translateX(0);
  box-shadow: var(--shadow-md);
}

/* end mobile version */
.sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
}

.sidebar__close-btn {
  --size: 32px;
  width: var(--size);
  height: var(--size);
  display: flex;
  border-radius: 50%;
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  transition: 0.2s;
  flex-shrink: 0;
}
.sidebar__close-btn .icon {
  display: block;
  margin: auto;
}
.sidebar__close-btn:hover {
  background-color: var(--color-bg-lighter);
  box-shadow: var(--inner-glow), var(--shadow-md);
}

/* desktop version only (--static) 👇 */
.sidebar--static, html:not(.js) .sidebar {
  flex-shrink: 0;
  position: relative;
  width: 260px;
  z-index: 1;
  position: sticky;
  top: 0;
  height: 100vh;
}
.sidebar--static::after, html:not(.js) .sidebar::after { /* right linear gradient */
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 14px;
  z-index: 2;
  background: linear-gradient(to left, hsla(0, 0%, 0%, 0.03), hsla(0, 0%, 0%, 0));
  pointer-events: none;
}
.sidebar--static .sidebar__header, html:not(.js) .sidebar .sidebar__header {
  display: none;
}
.sidebar--static .sidebar__panel, html:not(.js) .sidebar .sidebar__panel {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* end desktop version */
/* fixed width */
.js .sidebar, .js .sidebar-loaded\:show {
  opacity: 0; /* hide sidebar - or other elements using the .sidebar-loaded:show class - while it is initialized in JS */
}
.js .sidebar--loaded {
  opacity: 1;
}

/* no-js */
html:not(.js) .sidebar {
  position: static;
}

/* detect when the sidebar needs to switch from the mobile layout to a static one - used in JS */
[class*=sidebar--static]::before {
  display: none;
}

.sidebar--static\@xs::before {
  content: "mobile";
}
@media (min-width: 32rem) {
  .sidebar--static\@xs::before {
    content: "static";
  }
}

.sidebar--static\@sm::before {
  content: "mobile";
}
@media (min-width: 48rem) {
  .sidebar--static\@sm::before {
    content: "static";
  }
}

.sidebar--static\@md::before {
  content: "mobile";
}
@media (min-width: 64rem) {
  .sidebar--static\@md::before {
    content: "static";
  }
}

.sidebar--static\@lg::before {
  content: "mobile";
}
@media (min-width: 80rem) {
  .sidebar--static\@lg::before {
    content: "static";
  }
}

.sidebar--static\@xl::before {
  content: "mobile";
}
@media (min-width: 90rem) {
  .sidebar--static\@xl::before {
    content: "static";
  }
}

/* -------------------------------- 

File#: _1_search-input
Title: Search input
Descr: Search input field with custom button
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --search-input-btn-width: 2.2em;
  --search-input-icon-size: 1em;
  --search-input-shortcut-margin: 0.325em; /* gap between the shortcut badge and the input edges */
}

.search-input {
  position: relative;
}

.search-input__input {
  width: 100%;
  height: 100%;
}
.search-input__input::-webkit-search-decoration, .search-input__input::-webkit-search-cancel-button, .search-input__input::-webkit-search-results-button, .search-input__input::-webkit-search-results-decoration {
  -webkit-appearance: none;
}
.search-input__input::-ms-clear, .search-input__input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
.search-input--icon-right .search-input__input {
  padding-right: var(--search-input-btn-width);
}
.search-input--icon-left .search-input__input {
  padding-left: var(--search-input-btn-width);
}

.search-input__btn {
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: var(--search-input-btn-width);
}
.search-input__btn:active .icon {
  transform: translateY(2px);
}
.search-input__btn .icon {
  display: block;
  --size: var(--search-input-icon-size);
  margin-left: auto;
  margin-right: auto;
  color: var(--color-contrast-low); /* icon color */
  transition: 0.2s;
}
.search-input--icon-left .search-input__btn {
  left: 0;
  right: auto;
  pointer-events: none;
}

.search-input__btn:focus .icon,
.search-input .search-input__input:focus + .search-input__btn .icon {
  color: var(--color-primary); /* active icon color */
}

/* --shortcut */
.search-input__shortcut {
  position: absolute;
  right: var(--search-input-shortcut-margin);
  top: var(--search-input-shortcut-margin);
  height: calc(100% - var(--search-input-shortcut-margin) * 2);
  display: flex;
  align-items: center;
  background-color: var(--color-bg-dark);
  border: 1px solid var(--color-contrast-lower);
  border-radius: var(--radius-sm);
  --space-unit: 1em;
  padding: 0 var(--space-3xs);
  line-height: 1;
  color: var(--color-contrast-medium);
}

.search-input:focus-within .search-input__shortcut {
  display: none;
}

/* -------------------------------- 

File#: _1_smooth-scrolling
Title: Smooth Scrolling
Descr: Replace the default browser behaviour (jump) with a smooth scrolling transition
Usage: codyhouse.co/license

-------------------------------- */
.side-template-v3__main {
  scroll-padding: calc(var(--side-template-mobile-header-height) + var(--space-2xs));
}
@media (min-width: 64rem) {
  .side-template-v3__main {
    scroll-padding: calc(var(--side-template-desktop-header-height) + var(--space-2xs));
  }
}

/* -------------------------------- 

File#: _1_table-v2
Title: Table v2
Descr: Basic table template
Usage: codyhouse.co/license

-------------------------------- */
.tbl {
  position: relative;
  z-index: 1;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.tbl::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}
.tbl::-webkit-scrollbar-track {
  background-color: var(--color-contrast-lower);
}
.tbl::-webkit-scrollbar-thumb {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.9);
  border-radius: 50em;
}
.tbl::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-contrast-higher);
}

.tbl__table {
  width: 100%;
}

.tbl__body .tbl__row {
  border-bottom: 1px solid var(--color-contrast-lower);
  transition: 0.2s;
}
.tbl__body .tbl__row:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.05);
}
.tbl__body .tbl__row:last-child {
  border-bottom: none;
}

.tbl__cell {
  padding: var(--space-xs);
}

/* -------------------------------- 

File#: _2_accordion-v2
Title: Accordion v2
Descr: Stacked, expandable content sections
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --accordion-v2-icon-size: 20px;
  --accordion-v2-icon-stroke-width: 2px;
}

.accordion-v2__item {
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow-top), var(--shadow-sm);
  border-radius: var(--radius-md);
  transition: 0.3s;
}
.accordion-v2__item:hover {
  box-shadow: var(--inner-glow-top), var(--shadow-md);
}

.accordion-v2__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}
.accordion-v2__header .icon {
  --size: var(--accordion-v2-icon-size);
}
.accordion-v2__header .icon .icon__group {
  stroke-width: var(--accordion-v2-icon-stroke-width);
}

.accordion-v2__icon-arrow .icon__group {
  will-change: transform;
  transform-origin: 50% 50%;
}
.accordion-v2__icon-arrow .icon__group > * {
  transform-origin: 50% 50%;
  stroke-dasharray: 20;
  transform: translateY(4px);
}
.accordion-v2__icon-arrow .icon__group > *:first-child {
  stroke-dashoffset: 10.15;
}
.accordion-v2__icon-arrow .icon__group > *:last-child {
  stroke-dashoffset: 10.15;
}

.accordion-v2__item--is-open > .accordion-v2__header > .accordion-v2__icon-arrow .icon__group {
  transform: rotate(-90deg);
}
.accordion-v2__item--is-open > .accordion-v2__header > .accordion-v2__icon-arrow .icon__group > *:first-child, .accordion-v2__item--is-open > .accordion-v2__header > .accordion-v2__icon-arrow .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}

.js .accordion-v2__panel {
  display: none;
  will-change: height;
  transform: translateZ(0px);
}
.js .accordion-v2__item--is-open > .accordion-v2__panel {
  display: block;
}

.accordion-v2[data-animation=on] .accordion-v2__item--is-open .accordion-v2__panel > * {
  animation: accordion-v2-entry-animation 0.4s var(--ease-out);
}
.accordion-v2[data-animation=on] .accordion-v2__icon-arrow .icon__group {
  transition: transform 0.3s var(--ease-out);
}
.accordion-v2[data-animation=on] .accordion-v2__icon-arrow .icon__group > * {
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}

@keyframes accordion-v2-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
/* --------------------------------

File#: _2_autocomplete
Title: Autocomplete
Descr: Autocomplete plugin for input elements
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --autocomplete-dropdown-vertical-gap: 4px;
  --autocomplete-dropdown-max-height: 160px;
  --autocomplete-dropdown-scrollbar-width: 6px;
}

.autocomplete__loader {
  --circle-loader-v1-size: 1em;
  --circle-loader-v1-stroke-width: 2px;
}

.autocomplete:not(.autocomplete--searching) .autocomplete__loader {
  display: none;
}

.autocomplete__results {
  position: absolute;
  z-index: var(--z-index-popover, 5);
  width: 100%;
  left: 0;
  top: calc(100% + var(--autocomplete-dropdown-vertical-gap));
  transform: translateY(4px);
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-md);
  border-radius: var(--radius-md);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0s 0.3s, transform 0.3s var(--ease-in);
  overflow: hidden;
}
.autocomplete--results-visible .autocomplete__results {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s, transform 0.3s var(--ease-out);
  transform: translateY(0);
}

.autocomplete__list {
  max-height: var(--autocomplete-dropdown-max-height);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.autocomplete__list::-webkit-scrollbar {
  width: var(--autocomplete-dropdown-scrollbar-width);
}
.autocomplete__list::-webkit-scrollbar-track {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.08);
  border-radius: 0;
}
.autocomplete__list::-webkit-scrollbar-thumb {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.12);
  border-radius: 0;
}
.autocomplete__list::-webkit-scrollbar-thumb:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
}

.autocomplete__item {
  cursor: pointer;
  transition: 0.2s;
}
.autocomplete__item:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.075);
}

.autocomplete__link:focus {
  outline: none;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.15);
}

/* -------------------------------- 

File#: _2_changelog
Title: Changelog
Descr: A list of updates, grouped by release date
Usage: codyhouse.co/license

-------------------------------- */
@media (min-width: 64rem) {
  .changelog__metadata {
    position: sticky;
    top: var(--space-sm);
  }
}

.changelog__separator {
  height: 1px;
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
  margin: var(--space-lg) 0;
}

/* -------------------------------- 

File#: _2_content-rating
Title: Content Rating
Descr: A like/dislike feedback rating widget
Usage: codyhouse.co/license

-------------------------------- */
.rate-cont__custom-input {
  display: inline-flex;
  align-items: center;
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.15);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-md);
  color: var(--color-contrast-high);
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.rate-cont__custom-input:hover {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
}
.rate-cont__native-input:checked + .rate-cont__custom-input {
  background-color: var(--color-contrast-higher);
  color: var(--color-bg);
}
.rate-cont__native-input:focus + .rate-cont__custom-input {
  box-shadow: 0 0 0 3px hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2);
}

.rate-cont__icon {
  margin-right: var(--space-2xs);
}
.rate-cont__native-input:checked + .rate-cont__custom-input--yes .rate-cont__icon, .rate-cont__native-input:checked + .rate-cont__custom-input--no .rate-cont__icon {
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  will-change: transform;
  transform-origin: left center;
}
.rate-cont__native-input:checked + .rate-cont__custom-input--yes .rate-cont__icon {
  animation-name: rate-cont-anim-yes;
}
.rate-cont__native-input:checked + .rate-cont__custom-input--no .rate-cont__icon {
  animation-name: rate-cont-anim-no;
}

@keyframes rate-cont-anim-yes {
  0% {
    transform: rotate(0) scale(1);
  }
  20% {
    transform: rotate(10deg) scale(1.1);
  }
  50% {
    transform: rotate(-25deg) scale(1.2);
  }
  80% {
    transform: rotate(5deg) scale(1.2);
  }
  100% {
    transform: rotate(0) scale(1.2);
  }
}
@keyframes rate-cont-anim-no {
  0% {
    transform: rotate(0) scale(1);
  }
  20% {
    transform: rotate(-10deg) scale(1.1);
  }
  50% {
    transform: rotate(25deg) scale(1.2);
  }
  80% {
    transform: rotate(-5deg) scale(1.2);
  }
  100% {
    transform: rotate(0) scale(1.2);
  }
}
/* -------------------------------- 

File#: _2_hash-link
Title: Hash Link
Descr: Add a hash anchor to heading elements
Usage: codyhouse.co/license

-------------------------------- */
.hash-link__anchor {
  opacity: 0;
  text-decoration: none;
  color: var(--color-contrast-low);
}

.hash-link:hover .hash-link__anchor,
.hash-link__anchor:focus {
  opacity: 1;
}

.hash-link--visible .hash-link__anchor {
  opacity: 1;
}

.hash-link--left {
  position: relative;
}
.hash-link--left .hash-link__anchor {
  position: absolute;
  left: 0%;
  transform: translateX(-100%);
  padding: 0 var(--space-4xs);
}

/* -------------------------------- 

File#: _2_modal-video
Title: Modal Video
Descr: A modal window used to display a responsive video
Usage: codyhouse.co/license

-------------------------------- */
/* --------------------------------

File#: _2_side-navigation-v3
Title: Side Navigation v3
Descr: A primary navigation located in the sidebar
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --side-template-mobile-header-height: 50px;
  --side-template-desktop-header-height: 64px;
}

@media not all and (min-width: 64rem) {
  .side-template-v3 .sidebar {
    --space-unit: 1.2rem;
    --text-unit: 1.2rem;
    font-size: var(--text-unit);
  }
}

/* mobile header - hidden on bigger screens */
.side-template-v3__mobile-header {
  background: var(--color-bg-light);
  height: var(--side-template-mobile-header-height);
  box-shadow: var(--shadow-xs);
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
}

.side-template-v3__logo {
  display: block;
  width: 204px;
  flex-shrink: 0;
  text-decoration: none;
}
.side-template-v3__logo svg, .side-template-v3__logo img {
  display: block;
  width: inherit;
}

/* desktop header */
.side-template-v3__logo-wrapper {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
}
.side-template-v3__logo-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  width: 100%;
  height: 30px;
  background: linear-gradient(to bottom, var(--color-bg-dark), hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), 0));
  pointer-events: none;
}

.side-template-v3__desktop-header {
  position: sticky;
  top: 0;
  z-index: var(--z-index-header);
  display: flex;
  align-items: center;
  background: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), 0.9);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  height: var(--side-template-desktop-header-height);
  border-bottom: 1px solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1); /* remember to update also .side-template-v3::after 👇 */
  font-size: 1rem;
}

/* main */
.side-template-v3__main {
  background-color: var(--color-bg);
}

/* footer */
.side-template-v3__footer {
  background-color: var(--color-bg);
}

@media (min-width: 64rem) {
  .side-template-v3 {
    background: linear-gradient(to right, var(--color-bg-dark) 50%, var(--color-bg) 50%);
  }
  .side-template-v3::after { /* extended header (right) background visible on bigger screens */
    content: "";
    position: fixed;
    top: 0;
    left: 50%;
    width: 50%;
    height: var(--side-template-desktop-header-height);
    border-bottom: 1px solid hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.1); /* 👆 same as .side-template-v3__desktop-header */
  }
  .side-template-v3__mobile-header {
    display: none;
  }
  .side-template-v3__main {
    min-height: 100vh;
  }
  .side-template-v3__footer {
    background-color: var(--color-bg-dark);
  }
}
/* -------------------------------- 

File#: _2_table-of-contents
Title: Table of Contents
Descr: A navigation with a list of links to the main sections of the page 
Usage: codyhouse.co/license

-------------------------------- */
:root {
  --toc-border-width: 1px;
}

/* #region (style affecting collapsed + static versions) 👇 */
.toc__list {
  position: relative;
}
.toc__list .toc__list .toc__link {
  padding-left: calc(var(--space-sm) * 1.5);
}

.toc__link,
.toc__label {
  padding: var(--space-3xs) var(--space-sm);
}

.toc__link {
  position: relative;
  color: var(--color-contrast-medium);
  text-decoration: none;
}
.toc__link::before {
  content: "";
  width: var(--toc-border-width);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.toc__link:hover {
  color: var(--color-contrast-high);
}

.toc__link--selected {
  color: var(--color-primary);
}
.toc__link--selected:hover {
  color: var(--color-primary);
}

.toc__label {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: var(--text-sm);
}

.toc__control {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.toc__control-text {
  position: relative;
}
.toc__control-text > * {
  display: inline-block;
  transition: opacity 0.4s, transform 0.4s var(--ease-out);
}
.toc__control-text > *:last-child {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
}

.toc__icon-arrow {
  --size: 16px;
}
.toc__icon-arrow .icon__group {
  will-change: transform;
  transform-origin: 8px 8px;
  transition: transform 0.3s var(--ease-out);
}
.toc__icon-arrow .icon__group > * {
  transform-origin: 8px 8px;
  stroke-dasharray: 17;
  transform: translateY(3px);
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}
.toc__icon-arrow .icon__group > *:first-child {
  stroke-dashoffset: 10;
}
.toc__icon-arrow .icon__group > *:last-child {
  stroke-dashoffset: 10;
}

.toc-content__target {
  scroll-margin-top: var(--space-4xs);
}

/* #endregion */
/* #region (collapsed version only - mobile 👇) */
.toc:not(.toc--static) {
  border-radius: var(--radius-md);
  background-color: var(--color-bg-light);
  box-shadow: var(--inner-glow), var(--shadow-sm);
  transition: 0.3s;
}
.toc:not(.toc--static):hover {
  box-shadow: var(--inner-glow), var(--shadow-md);
}
.toc:not(.toc--static) .toc__nav {
  display: none;
  margin: var(--space-2xs) 0;
}
.toc:not(.toc--static) .toc__list {
  padding-bottom: var(--space-xs);
}
.toc:not(.toc--static) .toc__label {
  display: none;
}
.toc:not(.toc--static) .toc__link {
  display: flex;
}
.toc:not(.toc--static).toc--expanded .toc__control-text > *:first-child {
  transform: translateY(10px);
  opacity: 0;
  pointer-events: none;
}
.toc:not(.toc--static).toc--expanded .toc__control-text > *:last-child {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.toc:not(.toc--static).toc--expanded .toc__nav {
  display: block;
  animation: toc-entry-animation 0.4s var(--ease-out);
}
.toc:not(.toc--static).toc--expanded .toc__icon-arrow .icon__group {
  transform: rotate(-90deg);
}
.toc:not(.toc--static).toc--expanded .toc__icon-arrow .icon__group > *:first-child, .toc:not(.toc--static).toc--expanded .toc__icon-arrow .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}

/* #endregion */
/* #region (static version only - desktop 👇) */
.toc--static {
  box-shadow: inset var(--toc-border-width) 0 0 var(--color-contrast-lower);
}
.toc--static[class*=position-sticky] {
  top: calc(var(--space-md) + var(--side-template-desktop-header-height));
  max-height: calc(100vh - var(--space-md) * 2 - var(--side-template-desktop-header-height));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.toc--static .toc__label {
  font-size: var(--text-xs);
}
.toc--static .toc__link {
  display: inline-flex;
  font-size: var(--text-sm);
}
.toc--static .toc__link--selected::before {
  background-color: var(--color-primary);
}
.toc--static .toc__control {
  display: none;
}

.toc-content--toc-static *:target,
.toc-content__target.toc-content__target--selected {
  animation: toc-target 2s;
}

.toc-content__target:focus {
  outline: none;
}

/* #endregion */
@keyframes toc-target {
  0%, 50% {
    outline: 2px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.5);
  }
  100% {
    outline: 2px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0);
  }
}
@keyframes toc-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
html:not(.js) .toc .toc__nav {
  display: block;
}

[class*=toc--static]::before {
  display: none;
  content: "collapsed";
}

@media (min-width: 32rem) {
  .toc--static\@xs::before {
    content: "static";
  }
}
@media (min-width: 48rem) {
  .toc--static\@sm::before {
    content: "static";
  }
}
@media (min-width: 64rem) {
  .toc--static\@md::before {
    content: "static";
  }
}
@media (min-width: 80rem) {
  .toc--static\@lg::before {
    content: "static";
  }
}
@media (min-width: 90rem) {
  .toc--static\@xl::before {
    content: "static";
  }
}
/*! purgecss end ignore */
/* variables */
:root {
  /* spacing */
  --space-4xs: clamp(0.125rem, calc(0.125rem + 0vw), 0.125rem);
  --space-3xs: clamp(0.25rem, calc(0.25rem + 0vw), 0.25rem);
  --space-2xs: clamp(0.5rem, calc(0.5rem + 0vw), 0.5rem);
  --space-xs: clamp(0.75rem, calc(0.75rem + 0vw), 0.75rem);
  --space-sm: clamp(1rem, calc(1rem + 0vw), 1rem);
  --space-md: clamp(1.5rem, calc(1.125rem + 0.78125vw), 1.75rem);
  --space-lg: clamp(2.25rem, calc(1.125rem + 2.34375vw), 3rem);
  --space-xl: clamp(3.5rem, calc(1.25rem + 4.6875vw), 5rem);
  --space-2xl: clamp(5.75rem, calc(2.375rem + 7.03125vw), 8rem);
  --space-3xl: clamp(9.25rem, calc(4.75rem + 9.375vw), 12.25rem);
  --space-4xl: clamp(15rem, calc(7.5rem + 15.625vw), 20rem);
  /* font-family */
  --font-primary: system-ui, sans-serif;
  /* font-size */
  --text-xs: 0.694rem;
  --text-sm: 0.833rem;
  --text-base: 1rem;
  --text-md: 1.2rem;
  --text-lg: 1.44rem;
  --text-xl: 1.728rem;
  --text-2xl: 2.074rem;
  --text-3xl: 2.488rem;
  --text-4xl: 2.986rem;
  /* line-height */
  --line-height-xs: 1.1;
  --line-height-sm: 1.2;
  --line-height-md: 1.4;
  --line-height-lg: 1.58;
  --line-height-xl: 1.72;
  /* max-width */
  --max-width-5xs: 17.5rem;
  --max-width-4xs: 20rem;
  --max-width-3xs: 26rem;
  --max-width-2xs: 32rem;
  --max-width-xs: 38rem;
  --max-width-sm: 48rem;
  --max-width-md: 64rem;
  --max-width-lg: 80rem;
  --max-width-xl: 90rem;
  --max-width-2xl: 100rem;
  --max-width-3xl: 120rem;
  --max-width-4xl: 150rem;
  --container-margin-x: var(--space-md);
  /* box-shadow */
  --shadow-ring: 0 0 0 1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
  --shadow-xs: 0 0 0 1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.02), 0 1px 3px -1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
  --shadow-sm: 0 0.3px 0.4px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.02), 0 0.9px 1.5px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.045), 0 3.5px 6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.09);
  --shadow-md: 0 0.9px 1.25px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.025), 0 3px 5px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05), 0 12px 20px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.09);
  --shadow-lg: 0 1.2px 1.9px -1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.01), 0 3px 5px -1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.015), 0 8px 15px -1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05), 0 28px 40px -1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  --shadow-xl: 0 1.5px 2.1px -6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.009), 0 3.6px 5.2px -6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.0115), 0 7.3px 10.6px -6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.0125), 0 16.2px 21.9px -6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.025), 0 46px 60px -6px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15);
  /* inner-glow */
  --inner-glow: inset 0 0 0.5px 1px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.075);
  --inner-glow-top: inset 0 1px 0.5px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.075);
  /* border-radius */
  --radius-sm: 0.1875em;
  --radius-md: 0.375em;
  --radius-lg: 0.75em;
  /* z-index */
  --z-index-header: 3;
  --z-index-popover: 5;
  --z-index-fixed-element: 10;
  --z-index-overlay: 15;
  /* timing functions */
  --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* colors */
:root, [data-theme=default] {
  --color-primary-darker-h: 203;
  --color-primary-darker-s: 22%;
  --color-primary-darker-l: 26%;
  --color-primary-darker: hsl(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l));
  --color-primary-dark-h: 203;
  --color-primary-dark-s: 22%;
  --color-primary-dark-l: 32%;
  --color-primary-dark: hsl(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l));
  --color-primary-h: 203;
  --color-primary-s: 22%;
  --color-primary-l: 38%;
  --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l));
  --color-primary-light-h: 203;
  --color-primary-light-s: 22%;
  --color-primary-light-l: 44%;
  --color-primary-light: hsl(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l));
  --color-primary-lighter-h: 203;
  --color-primary-lighter-s: 22%;
  --color-primary-lighter-l: 50%;
  --color-primary-lighter: hsl(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l));
  --color-accent-darker-h: 173;
  --color-accent-darker-s: 54%;
  --color-accent-darker-l: 33%;
  --color-accent-darker: hsl(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l));
  --color-accent-dark-h: 173;
  --color-accent-dark-s: 54%;
  --color-accent-dark-l: 39%;
  --color-accent-dark: hsl(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l));
  --color-accent-h: 173;
  --color-accent-s: 54%;
  --color-accent-l: 45%;
  --color-accent: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l));
  --color-accent-light-h: 173;
  --color-accent-light-s: 54%;
  --color-accent-light-l: 51%;
  --color-accent-light: hsl(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l));
  --color-accent-lighter-h: 173;
  --color-accent-lighter-s: 54%;
  --color-accent-lighter-l: 57%;
  --color-accent-lighter: hsl(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l));
  --color-black-h: 204;
  --color-black-s: 28%;
  --color-black-l: 7%;
  --color-black: hsl(var(--color-black-h), var(--color-black-s), var(--color-black-l));
  --color-white-h: 0;
  --color-white-s: 0%;
  --color-white-l: 100%;
  --color-white: hsl(var(--color-white-h), var(--color-white-s), var(--color-white-l));
  --color-warning-darker-h: 46;
  --color-warning-darker-s: 100%;
  --color-warning-darker-l: 47%;
  --color-warning-darker: hsl(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l));
  --color-warning-dark-h: 46;
  --color-warning-dark-s: 100%;
  --color-warning-dark-l: 50%;
  --color-warning-dark: hsl(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l));
  --color-warning-h: 46;
  --color-warning-s: 100%;
  --color-warning-l: 61%;
  --color-warning: hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l));
  --color-warning-light-h: 46;
  --color-warning-light-s: 100%;
  --color-warning-light-l: 71%;
  --color-warning-light: hsl(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l));
  --color-warning-lighter-h: 46;
  --color-warning-lighter-s: 100%;
  --color-warning-lighter-l: 80%;
  --color-warning-lighter: hsl(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l));
  --color-success-darker-h: 122;
  --color-success-darker-s: 50%;
  --color-success-darker-l: 47%;
  --color-success-darker: hsl(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l));
  --color-success-dark-h: 122;
  --color-success-dark-s: 50%;
  --color-success-dark-l: 52%;
  --color-success-dark: hsl(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l));
  --color-success-h: 122;
  --color-success-s: 50%;
  --color-success-l: 60%;
  --color-success: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));
  --color-success-light-h: 122;
  --color-success-light-s: 50%;
  --color-success-light-l: 69%;
  --color-success-light: hsl(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l));
  --color-success-lighter-h: 122;
  --color-success-lighter-s: 50%;
  --color-success-lighter-l: 76%;
  --color-success-lighter: hsl(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l));
  --color-error-darker-h: 342;
  --color-error-darker-s: 89%;
  --color-error-darker-l: 38%;
  --color-error-darker: hsl(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l));
  --color-error-dark-h: 342;
  --color-error-dark-s: 89%;
  --color-error-dark-l: 43%;
  --color-error-dark: hsl(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l));
  --color-error-h: 342;
  --color-error-s: 89%;
  --color-error-l: 48%;
  --color-error: hsl(var(--color-error-h), var(--color-error-s), var(--color-error-l));
  --color-error-light-h: 342;
  --color-error-light-s: 89%;
  --color-error-light-l: 56%;
  --color-error-light: hsl(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l));
  --color-error-lighter-h: 342;
  --color-error-lighter-s: 89%;
  --color-error-lighter-l: 62%;
  --color-error-lighter: hsl(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l));
  --color-bg-darker-h: 210;
  --color-bg-darker-s: 4%;
  --color-bg-darker-l: 89%;
  --color-bg-darker: hsl(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l));
  --color-bg-dark-h: 180;
  --color-bg-dark-s: 3%;
  --color-bg-dark-l: 94%;
  --color-bg-dark: hsl(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l));
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 100%;
  --color-bg: hsl(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l));
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 100%;
  --color-bg-light: hsl(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l));
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 100%;
  --color-bg-lighter: hsl(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l));
  --color-contrast-lower-h: 180;
  --color-contrast-lower-s: 1%;
  --color-contrast-lower-l: 84%;
  --color-contrast-lower: hsl(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l));
  --color-contrast-low-h: 210;
  --color-contrast-low-s: 2%;
  --color-contrast-low-l: 64%;
  --color-contrast-low: hsl(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l));
  --color-contrast-medium-h: 204;
  --color-contrast-medium-s: 2%;
  --color-contrast-medium-l: 46%;
  --color-contrast-medium: hsl(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l));
  --color-contrast-high-h: 210;
  --color-contrast-high-s: 7%;
  --color-contrast-high-l: 21%;
  --color-contrast-high: hsl(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l));
  --color-contrast-higher-h: 204;
  --color-contrast-higher-s: 28%;
  --color-contrast-higher-l: 7%;
  --color-contrast-higher: hsl(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l));
}

[data-theme=dark] {
  --color-primary-darker-h: 250;
  --color-primary-darker-s: 93%;
  --color-primary-darker-l: 57%;
  --color-primary-darker: hsl(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l));
  --color-primary-dark-h: 250;
  --color-primary-dark-s: 93%;
  --color-primary-dark-l: 61%;
  --color-primary-dark: hsl(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l));
  --color-primary-h: 250;
  --color-primary-s: 93%;
  --color-primary-l: 65%;
  --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l));
  --color-primary-light-h: 250;
  --color-primary-light-s: 93%;
  --color-primary-light-l: 69%;
  --color-primary-light: hsl(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l));
  --color-primary-lighter-h: 250;
  --color-primary-lighter-s: 93%;
  --color-primary-lighter-l: 72%;
  --color-primary-lighter: hsl(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l));
  --color-accent-darker-h: 342;
  --color-accent-darker-s: 92%;
  --color-accent-darker-l: 41%;
  --color-accent-darker: hsl(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l));
  --color-accent-dark-h: 342;
  --color-accent-dark-s: 92%;
  --color-accent-dark-l: 47%;
  --color-accent-dark: hsl(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l));
  --color-accent-h: 342;
  --color-accent-s: 92%;
  --color-accent-l: 54%;
  --color-accent: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l));
  --color-accent-light-h: 342;
  --color-accent-light-s: 92%;
  --color-accent-light-l: 60%;
  --color-accent-light: hsl(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l));
  --color-accent-lighter-h: 342;
  --color-accent-lighter-s: 92%;
  --color-accent-lighter-l: 65%;
  --color-accent-lighter: hsl(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l));
  --color-black-h: 204;
  --color-black-s: 28%;
  --color-black-l: 7%;
  --color-black: hsl(var(--color-black-h), var(--color-black-s), var(--color-black-l));
  --color-white-h: 0;
  --color-white-s: 0%;
  --color-white-l: 100%;
  --color-white: hsl(var(--color-white-h), var(--color-white-s), var(--color-white-l));
  --color-warning-darker-h: 46;
  --color-warning-darker-s: 100%;
  --color-warning-darker-l: 47%;
  --color-warning-darker: hsl(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l));
  --color-warning-dark-h: 46;
  --color-warning-dark-s: 100%;
  --color-warning-dark-l: 50%;
  --color-warning-dark: hsl(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l));
  --color-warning-h: 46;
  --color-warning-s: 100%;
  --color-warning-l: 61%;
  --color-warning: hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l));
  --color-warning-light-h: 46;
  --color-warning-light-s: 100%;
  --color-warning-light-l: 71%;
  --color-warning-light: hsl(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l));
  --color-warning-lighter-h: 46;
  --color-warning-lighter-s: 100%;
  --color-warning-lighter-l: 80%;
  --color-warning-lighter: hsl(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l));
  --color-success-darker-h: 122;
  --color-success-darker-s: 50%;
  --color-success-darker-l: 47%;
  --color-success-darker: hsl(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l));
  --color-success-dark-h: 122;
  --color-success-dark-s: 50%;
  --color-success-dark-l: 52%;
  --color-success-dark: hsl(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l));
  --color-success-h: 122;
  --color-success-s: 50%;
  --color-success-l: 60%;
  --color-success: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));
  --color-success-light-h: 122;
  --color-success-light-s: 50%;
  --color-success-light-l: 69%;
  --color-success-light: hsl(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l));
  --color-success-lighter-h: 122;
  --color-success-lighter-s: 50%;
  --color-success-lighter-l: 76%;
  --color-success-lighter: hsl(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l));
  --color-error-darker-h: 342;
  --color-error-darker-s: 92%;
  --color-error-darker-l: 41%;
  --color-error-darker: hsl(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l));
  --color-error-dark-h: 342;
  --color-error-dark-s: 92%;
  --color-error-dark-l: 47%;
  --color-error-dark: hsl(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l));
  --color-error-h: 342;
  --color-error-s: 92%;
  --color-error-l: 54%;
  --color-error: hsl(var(--color-error-h), var(--color-error-s), var(--color-error-l));
  --color-error-light-h: 342;
  --color-error-light-s: 92%;
  --color-error-light-l: 60%;
  --color-error-light: hsl(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l));
  --color-error-lighter-h: 342;
  --color-error-lighter-s: 92%;
  --color-error-lighter-l: 65%;
  --color-error-lighter: hsl(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l));
  --color-bg-darker-h: 204;
  --color-bg-darker-s: 15%;
  --color-bg-darker-l: 6%;
  --color-bg-darker: hsl(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l));
  --color-bg-dark-h: 203;
  --color-bg-dark-s: 18%;
  --color-bg-dark-l: 9%;
  --color-bg-dark: hsl(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l));
  --color-bg-h: 203;
  --color-bg-s: 24%;
  --color-bg-l: 13%;
  --color-bg: hsl(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l));
  --color-bg-light-h: 203;
  --color-bg-light-s: 18%;
  --color-bg-light-l: 17%;
  --color-bg-light: hsl(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l));
  --color-bg-lighter-h: 204;
  --color-bg-lighter-s: 15%;
  --color-bg-lighter-l: 20%;
  --color-bg-lighter: hsl(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l));
  --color-contrast-lower-h: 208;
  --color-contrast-lower-s: 12%;
  --color-contrast-lower-l: 24%;
  --color-contrast-lower: hsl(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l));
  --color-contrast-low-h: 208;
  --color-contrast-low-s: 6%;
  --color-contrast-low-l: 40%;
  --color-contrast-low: hsl(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l));
  --color-contrast-medium-h: 213;
  --color-contrast-medium-s: 5%;
  --color-contrast-medium-l: 56%;
  --color-contrast-medium: hsl(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l));
  --color-contrast-high-h: 223;
  --color-contrast-high-s: 8%;
  --color-contrast-high-l: 82%;
  --color-contrast-high: hsl(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l));
  --color-contrast-higher-h: 240;
  --color-contrast-higher-s: 100%;
  --color-contrast-higher-l: 99%;
  --color-contrast-higher: hsl(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l));
}

/* grid */
.grid {
  --grid-columns: 12;
  --column-gap: 0px;
  --row-gap: 0px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap) var(--column-gap);
}

.grid > * {
  width: 100%;
  min-width: 0;
}

.grid-col-1 {
  --grid-columns: 1;
}

.col-1 {
  --column-span: 1;
}

.grid-col-2 {
  --grid-columns: 2;
}

.col-2 {
  --column-span: 2;
}

.grid-col-3 {
  --grid-columns: 3;
}

.col-3 {
  --column-span: 3;
}

.grid-col-4 {
  --grid-columns: 4;
}

.col-4 {
  --column-span: 4;
}

.grid-col-5 {
  --grid-columns: 5;
}

.col-5 {
  --column-span: 5;
}

.grid-col-6 {
  --grid-columns: 6;
}

.col-6 {
  --column-span: 6;
}

.grid-col-7 {
  --grid-columns: 7;
}

.col-7 {
  --column-span: 7;
}

.grid-col-8 {
  --grid-columns: 8;
}

.col-8 {
  --column-span: 8;
}

.grid-col-9 {
  --grid-columns: 9;
}

.col-9 {
  --column-span: 9;
}

.grid-col-10 {
  --grid-columns: 10;
}

.col-10 {
  --column-span: 10;
}

.grid-col-11 {
  --grid-columns: 11;
}

.col-11 {
  --column-span: 11;
}

.grid-col-12 {
  --grid-columns: 12;
}

.col-12 {
  --column-span: 12;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
  flex: initial;
}

.col {
  width: auto;
  flex: 1 1 0;
}

.col-content {
  width: auto;
  flex: 0 1 auto;
}

.offset-1 {
  --column-offset: 1;
}

.offset-2 {
  --column-offset: 2;
}

.offset-3 {
  --column-offset: 3;
}

.offset-4 {
  --column-offset: 4;
}

.offset-5 {
  --column-offset: 5;
}

.offset-6 {
  --column-offset: 6;
}

.offset-7 {
  --column-offset: 7;
}

.offset-8 {
  --column-offset: 8;
}

.offset-9 {
  --column-offset: 9;
}

.offset-10 {
  --column-offset: 10;
}

.offset-11 {
  --column-offset: 11;
}

.offset-1, .offset-2, .offset-3, .offset-4, .offset-5, .offset-6, .offset-7, .offset-8, .offset-9, .offset-10, .offset-11 {
  margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
}

/* gap */
.gap-4xs {
  --row-gap: var(--space-4xs);
  --column-gap: var(--space-4xs);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-4xs {
  --column-gap: var(--space-4xs);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-4xs {
  --row-gap: var(--space-4xs);
  row-gap: var(--row-gap);
}

.gap-3xs {
  --row-gap: var(--space-3xs);
  --column-gap: var(--space-3xs);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-3xs {
  --column-gap: var(--space-3xs);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-3xs {
  --row-gap: var(--space-3xs);
  row-gap: var(--row-gap);
}

.gap-2xs {
  --row-gap: var(--space-2xs);
  --column-gap: var(--space-2xs);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-2xs {
  --column-gap: var(--space-2xs);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-2xs {
  --row-gap: var(--space-2xs);
  row-gap: var(--row-gap);
}

.gap-xs {
  --row-gap: var(--space-xs);
  --column-gap: var(--space-xs);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-xs {
  --column-gap: var(--space-xs);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-xs {
  --row-gap: var(--space-xs);
  row-gap: var(--row-gap);
}

.gap-sm {
  --row-gap: var(--space-sm);
  --column-gap: var(--space-sm);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-sm {
  --column-gap: var(--space-sm);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-sm {
  --row-gap: var(--space-sm);
  row-gap: var(--row-gap);
}

.gap-md {
  --row-gap: var(--space-md);
  --column-gap: var(--space-md);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-md {
  --column-gap: var(--space-md);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-md {
  --row-gap: var(--space-md);
  row-gap: var(--row-gap);
}

.gap-lg {
  --row-gap: var(--space-lg);
  --column-gap: var(--space-lg);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-lg {
  --column-gap: var(--space-lg);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-lg {
  --row-gap: var(--space-lg);
  row-gap: var(--row-gap);
}

.gap-xl {
  --row-gap: var(--space-xl);
  --column-gap: var(--space-xl);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-xl {
  --column-gap: var(--space-xl);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-xl {
  --row-gap: var(--space-xl);
  row-gap: var(--row-gap);
}

.gap-2xl {
  --row-gap: var(--space-2xl);
  --column-gap: var(--space-2xl);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-2xl {
  --column-gap: var(--space-2xl);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-2xl {
  --row-gap: var(--space-2xl);
  row-gap: var(--row-gap);
}

.gap-3xl {
  --row-gap: var(--space-3xl);
  --column-gap: var(--space-3xl);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-3xl {
  --column-gap: var(--space-3xl);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-3xl {
  --row-gap: var(--space-3xl);
  row-gap: var(--row-gap);
}

.gap-4xl {
  --row-gap: var(--space-4xl);
  --column-gap: var(--space-4xl);
  gap: var(--row-gap) var(--column-gap);
}

.gap-x-4xl {
  --column-gap: var(--space-4xl);
  -moz-column-gap: var(--column-gap);
       column-gap: var(--column-gap);
}

.gap-y-4xl {
  --row-gap: var(--space-4xl);
  row-gap: var(--row-gap);
}

.gap-0 {
  --row-gap: 0px;
  --column-gap: 0px;
  gap: 0px;
}

.gap-x-0 {
  --column-gap: 0px;
  -moz-column-gap: 0px;
       column-gap: 0px;
}

.gap-y-0 {
  --row-gap: 0px;
  row-gap: 0px;
}

/* flexbox */
.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

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

.flex-column-reverse {
  flex-direction: column-reverse;
}

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

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

.flex-center {
  justify-content: center;
  align-items: center;
}

.flex-grow {
  flex-grow: 1;
}

.flex-grow-0 {
  flex-grow: 0;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.flex-basis-0 {
  flex-basis: 0;
}

/* justify-content */
.justify-start {
  justify-content: start;
}

.justify-end {
  justify-content: end;
}

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

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

/* align-items */
.items-center {
  align-items: center;
}

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

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

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

/* align-content */
.content-start {
  align-content: start;
}

.content-end {
  align-content: end;
}

.content-center {
  align-content: center;
}

.content-between {
  align-content: space-between;
}

/* order */
.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

/* aspect-ratio */
.aspect-ratio-16\:9 {
  aspect-ratio: 16/9;
}

.aspect-ratio-3\:2 {
  aspect-ratio: 3/2;
}

.aspect-ratio-4\:3 {
  aspect-ratio: 4/3;
}

.aspect-ratio-5\:4 {
  aspect-ratio: 5/4;
}

.aspect-ratio-1\:1 {
  aspect-ratio: 1/1;
}

.aspect-ratio-4\:5 {
  aspect-ratio: 4/5;
}

.aspect-ratio-3\:4 {
  aspect-ratio: 3/4;
}

.aspect-ratio-2\:3 {
  aspect-ratio: 2/3;
}

.aspect-ratio-9\:16 {
  aspect-ratio: 9/16;
}

/* media wrapper */
:where([class^=media-wrapper], [class*=" media-wrapper"]) {
  position: relative;
}

[class^=media-wrapper], [class*=" media-wrapper"] {
  height: 0;
}

[class^=media-wrapper] > *,
[class*=" media-wrapper"] > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[class^=media-wrapper] > *:not(iframe),
[class*=" media-wrapper"] > *:not(iframe) {
  -o-object-fit: cover;
     object-fit: cover;
}

.media-wrapper-16\:9 {
  padding-bottom: 56.25%;
}

.media-wrapper-3\:2 {
  padding-bottom: 66.6666666667%;
}

.media-wrapper-4\:3 {
  padding-bottom: 75%;
}

.media-wrapper-1\:1 {
  padding-bottom: 100%;
}

/* display */
.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.contents {
  display: contents;
}

.css-grid {
  display: grid;
}

.css-inline-grid {
  display: inline-grid;
}

.hide {
  display: none;
}

.is-visible {
  display: var(--display, block) !important;
}

.is-hidden {
  display: none !important;
}

/* margin */
.margin-4xs {
  margin: var(--space-4xs);
}

.margin-3xs {
  margin: var(--space-3xs);
}

.margin-2xs {
  margin: var(--space-2xs);
}

.margin-xs {
  margin: var(--space-xs);
}

.margin-sm {
  margin: var(--space-sm);
}

.margin-md {
  margin: var(--space-md);
}

.margin-lg {
  margin: var(--space-lg);
}

.margin-xl {
  margin: var(--space-xl);
}

.margin-2xl {
  margin: var(--space-2xl);
}

.margin-3xl {
  margin: var(--space-3xl);
}

.margin-4xl {
  margin: var(--space-4xl);
}

.margin-auto {
  margin: auto;
}

.margin-0 {
  margin: 0;
}

.margin-y-4xs {
  margin-top: var(--space-4xs);
  margin-bottom: var(--space-4xs);
}

.margin-x-4xs {
  margin-right: var(--space-4xs);
  margin-left: var(--space-4xs);
}

.margin-y-3xs {
  margin-top: var(--space-3xs);
  margin-bottom: var(--space-3xs);
}

.margin-x-3xs {
  margin-right: var(--space-3xs);
  margin-left: var(--space-3xs);
}

.margin-y-2xs {
  margin-top: var(--space-2xs);
  margin-bottom: var(--space-2xs);
}

.margin-x-2xs {
  margin-right: var(--space-2xs);
  margin-left: var(--space-2xs);
}

.margin-y-xs {
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.margin-x-xs {
  margin-right: var(--space-xs);
  margin-left: var(--space-xs);
}

.margin-y-sm {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.margin-x-sm {
  margin-right: var(--space-sm);
  margin-left: var(--space-sm);
}

.margin-y-md {
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
}

.margin-x-md {
  margin-right: var(--space-md);
  margin-left: var(--space-md);
}

.margin-y-lg {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.margin-x-lg {
  margin-right: var(--space-lg);
  margin-left: var(--space-lg);
}

.margin-y-xl {
  margin-top: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.margin-x-xl {
  margin-right: var(--space-xl);
  margin-left: var(--space-xl);
}

.margin-y-2xl {
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-2xl);
}

.margin-x-2xl {
  margin-right: var(--space-2xl);
  margin-left: var(--space-2xl);
}

.margin-y-3xl {
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-3xl);
}

.margin-x-3xl {
  margin-right: var(--space-3xl);
  margin-left: var(--space-3xl);
}

.margin-y-4xl {
  margin-top: var(--space-4xl);
  margin-bottom: var(--space-4xl);
}

.margin-x-4xl {
  margin-right: var(--space-4xl);
  margin-left: var(--space-4xl);
}

.margin-y-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.margin-y-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.margin-x-auto {
  margin-left: auto;
  margin-right: auto;
}

.margin-x-0 {
  margin-left: 0;
  margin-right: 0;
}

.margin-top-4xs {
  margin-top: var(--space-4xs);
}

.margin-right-4xs {
  margin-right: var(--space-4xs);
}

.margin-bottom-4xs {
  margin-bottom: var(--space-4xs);
}

.margin-left-4xs {
  margin-left: var(--space-4xs);
}

.margin-top-3xs {
  margin-top: var(--space-3xs);
}

.margin-right-3xs {
  margin-right: var(--space-3xs);
}

.margin-bottom-3xs {
  margin-bottom: var(--space-3xs);
}

.margin-left-3xs {
  margin-left: var(--space-3xs);
}

.margin-top-2xs {
  margin-top: var(--space-2xs);
}

.margin-right-2xs {
  margin-right: var(--space-2xs);
}

.margin-bottom-2xs {
  margin-bottom: var(--space-2xs);
}

.margin-left-2xs {
  margin-left: var(--space-2xs);
}

.margin-top-xs {
  margin-top: var(--space-xs);
}

.margin-right-xs {
  margin-right: var(--space-xs);
}

.margin-bottom-xs {
  margin-bottom: var(--space-xs);
}

.margin-left-xs {
  margin-left: var(--space-xs);
}

.margin-top-sm {
  margin-top: var(--space-sm);
}

.margin-right-sm {
  margin-right: var(--space-sm);
}

.margin-bottom-sm {
  margin-bottom: var(--space-sm);
}

.margin-left-sm {
  margin-left: var(--space-sm);
}

.margin-top-md {
  margin-top: var(--space-md);
}

.margin-right-md {
  margin-right: var(--space-md);
}

.margin-bottom-md {
  margin-bottom: var(--space-md);
}

.margin-left-md {
  margin-left: var(--space-md);
}

.margin-top-lg {
  margin-top: var(--space-lg);
}

.margin-right-lg {
  margin-right: var(--space-lg);
}

.margin-bottom-lg {
  margin-bottom: var(--space-lg);
}

.margin-left-lg {
  margin-left: var(--space-lg);
}

.margin-top-xl {
  margin-top: var(--space-xl);
}

.margin-right-xl {
  margin-right: var(--space-xl);
}

.margin-bottom-xl {
  margin-bottom: var(--space-xl);
}

.margin-left-xl {
  margin-left: var(--space-xl);
}

.margin-top-2xl {
  margin-top: var(--space-2xl);
}

.margin-right-2xl {
  margin-right: var(--space-2xl);
}

.margin-bottom-2xl {
  margin-bottom: var(--space-2xl);
}

.margin-left-2xl {
  margin-left: var(--space-2xl);
}

.margin-top-3xl {
  margin-top: var(--space-3xl);
}

.margin-right-3xl {
  margin-right: var(--space-3xl);
}

.margin-bottom-3xl {
  margin-bottom: var(--space-3xl);
}

.margin-left-3xl {
  margin-left: var(--space-3xl);
}

.margin-top-4xl {
  margin-top: var(--space-4xl);
}

.margin-right-4xl {
  margin-right: var(--space-4xl);
}

.margin-bottom-4xl {
  margin-bottom: var(--space-4xl);
}

.margin-left-4xl {
  margin-left: var(--space-4xl);
}

.margin-top-auto {
  margin-top: auto;
}

.margin-top-0 {
  margin-top: 0;
}

.margin-right-auto {
  margin-right: auto;
}

.margin-right-0 {
  margin-right: 0;
}

.margin-bottom-auto {
  margin-bottom: auto;
}

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

.margin-left-auto {
  margin-left: auto;
}

.margin-left-0 {
  margin-left: 0;
}

/* padding */
.padding-4xs {
  padding: var(--space-4xs);
}

.padding-3xs {
  padding: var(--space-3xs);
}

.padding-2xs {
  padding: var(--space-2xs);
}

.padding-xs {
  padding: var(--space-xs);
}

.padding-sm {
  padding: var(--space-sm);
}

.padding-md {
  padding: var(--space-md);
}

.padding-lg {
  padding: var(--space-lg);
}

.padding-xl {
  padding: var(--space-xl);
}

.padding-2xl {
  padding: var(--space-2xl);
}

.padding-3xl {
  padding: var(--space-3xl);
}

.padding-4xl {
  padding: var(--space-4xl);
}

.padding-0 {
  padding: 0;
}

.padding-y-4xs {
  padding-top: var(--space-4xs);
  padding-bottom: var(--space-4xs);
}

.padding-x-4xs {
  padding-right: var(--space-4xs);
  padding-left: var(--space-4xs);
}

.padding-y-3xs {
  padding-top: var(--space-3xs);
  padding-bottom: var(--space-3xs);
}

.padding-x-3xs {
  padding-right: var(--space-3xs);
  padding-left: var(--space-3xs);
}

.padding-y-2xs {
  padding-top: var(--space-2xs);
  padding-bottom: var(--space-2xs);
}

.padding-x-2xs {
  padding-right: var(--space-2xs);
  padding-left: var(--space-2xs);
}

.padding-y-xs {
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
}

.padding-x-xs {
  padding-right: var(--space-xs);
  padding-left: var(--space-xs);
}

.padding-y-sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}

.padding-x-sm {
  padding-right: var(--space-sm);
  padding-left: var(--space-sm);
}

.padding-y-md {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}

.padding-x-md {
  padding-right: var(--space-md);
  padding-left: var(--space-md);
}

.padding-y-lg {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

.padding-x-lg {
  padding-right: var(--space-lg);
  padding-left: var(--space-lg);
}

.padding-y-xl {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.padding-x-xl {
  padding-right: var(--space-xl);
  padding-left: var(--space-xl);
}

.padding-y-2xl {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

.padding-x-2xl {
  padding-right: var(--space-2xl);
  padding-left: var(--space-2xl);
}

.padding-y-3xl {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.padding-x-3xl {
  padding-right: var(--space-3xl);
  padding-left: var(--space-3xl);
}

.padding-y-4xl {
  padding-top: var(--space-4xl);
  padding-bottom: var(--space-4xl);
}

.padding-x-4xl {
  padding-right: var(--space-4xl);
  padding-left: var(--space-4xl);
}

.padding-y-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.padding-x-0 {
  padding-left: 0;
  padding-right: 0;
}

.padding-top-4xs {
  padding-top: var(--space-4xs);
}

.padding-right-4xs {
  padding-right: var(--space-4xs);
}

.padding-bottom-4xs {
  padding-bottom: var(--space-4xs);
}

.padding-left-4xs {
  padding-left: var(--space-4xs);
}

.padding-top-3xs {
  padding-top: var(--space-3xs);
}

.padding-right-3xs {
  padding-right: var(--space-3xs);
}

.padding-bottom-3xs {
  padding-bottom: var(--space-3xs);
}

.padding-left-3xs {
  padding-left: var(--space-3xs);
}

.padding-top-2xs {
  padding-top: var(--space-2xs);
}

.padding-right-2xs {
  padding-right: var(--space-2xs);
}

.padding-bottom-2xs {
  padding-bottom: var(--space-2xs);
}

.padding-left-2xs {
  padding-left: var(--space-2xs);
}

.padding-top-xs {
  padding-top: var(--space-xs);
}

.padding-right-xs {
  padding-right: var(--space-xs);
}

.padding-bottom-xs {
  padding-bottom: var(--space-xs);
}

.padding-left-xs {
  padding-left: var(--space-xs);
}

.padding-top-sm {
  padding-top: var(--space-sm);
}

.padding-right-sm {
  padding-right: var(--space-sm);
}

.padding-bottom-sm {
  padding-bottom: var(--space-sm);
}

.padding-left-sm {
  padding-left: var(--space-sm);
}

.padding-top-md {
  padding-top: var(--space-md);
}

.padding-right-md {
  padding-right: var(--space-md);
}

.padding-bottom-md {
  padding-bottom: var(--space-md);
}

.padding-left-md {
  padding-left: var(--space-md);
}

.padding-top-lg {
  padding-top: var(--space-lg);
}

.padding-right-lg {
  padding-right: var(--space-lg);
}

.padding-bottom-lg {
  padding-bottom: var(--space-lg);
}

.padding-left-lg {
  padding-left: var(--space-lg);
}

.padding-top-xl {
  padding-top: var(--space-xl);
}

.padding-right-xl {
  padding-right: var(--space-xl);
}

.padding-bottom-xl {
  padding-bottom: var(--space-xl);
}

.padding-left-xl {
  padding-left: var(--space-xl);
}

.padding-top-2xl {
  padding-top: var(--space-2xl);
}

.padding-right-2xl {
  padding-right: var(--space-2xl);
}

.padding-bottom-2xl {
  padding-bottom: var(--space-2xl);
}

.padding-left-2xl {
  padding-left: var(--space-2xl);
}

.padding-top-3xl {
  padding-top: var(--space-3xl);
}

.padding-right-3xl {
  padding-right: var(--space-3xl);
}

.padding-bottom-3xl {
  padding-bottom: var(--space-3xl);
}

.padding-left-3xl {
  padding-left: var(--space-3xl);
}

.padding-top-4xl {
  padding-top: var(--space-4xl);
}

.padding-right-4xl {
  padding-right: var(--space-4xl);
}

.padding-bottom-4xl {
  padding-bottom: var(--space-4xl);
}

.padding-left-4xl {
  padding-left: var(--space-4xl);
}

.padding-top-0 {
  padding-top: 0;
}

.padding-right-0 {
  padding-right: 0;
}

.padding-bottom-0 {
  padding-bottom: 0;
}

.padding-left-0 {
  padding-left: 0;
}

/* vertical-align */
.align-baseline {
  vertical-align: baseline;
}

.align-sub {
  vertical-align: sub;
}

.align-super {
  vertical-align: super;
}

.align-text-top {
  vertical-align: text-top;
}

.align-text-bottom {
  vertical-align: text-bottom;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

/* typography */
.truncate, .text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-replace {
  overflow: hidden;
  color: transparent;
  text-indent: 100%;
  white-space: nowrap;
}

.break-word {
  overflow-wrap: break-word;
  min-width: 0;
}

/* font-size */
.text-xs {
  font-size: var(--text-xs);
}

.text-sm {
  font-size: var(--text-sm);
}

.text-base {
  font-size: var(--text-base);
}

.text-md {
  font-size: var(--text-md);
}

.text-lg {
  font-size: var(--text-lg);
}

.text-xl {
  font-size: var(--text-xl);
}

.text-2xl {
  font-size: var(--text-2xl);
}

.text-3xl {
  font-size: var(--text-3xl);
}

.text-4xl {
  font-size: var(--text-4xl);
}

/* text-transform */
.text-uppercase {
  text-transform: uppercase;
}

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

/* letter-spacing */
.letter-spacing-xs {
  letter-spacing: -0.1em;
}

.letter-spacing-sm {
  letter-spacing: -0.05em;
}

.letter-spacing-md {
  letter-spacing: 0.05em;
}

.letter-spacing-lg {
  letter-spacing: 0.1em;
}

.letter-spacing-xl {
  letter-spacing: 0.2em;
}

/* font-weight */
.font-thin {
  font-weight: 100;
}

.font-extralight {
  font-weight: 200;
}

.font-light {
  font-weight: 300;
}

.font-normal {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

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

/* font-style */
.font-italic {
  font-style: italic;
}

/* font-smooth */
.font-smooth {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-primary {
  font-family: var(--font-primary);
}

/* text-align */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

/* text-decoration */
.text-line-through {
  text-decoration: line-through;
}

.text-underline {
  text-decoration: underline;
}

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

/* text-shadow */
.text-shadow-xs {
  text-shadow: 0 1px 1px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15);
}

.text-shadow-sm {
  text-shadow: 0 1px 2px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.25);
}

.text-shadow-md {
  text-shadow: 0 1px 2px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1), 0 2px 4px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
}

.text-shadow-lg {
  text-shadow: 0 1px 4px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1), 0 2px 8px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15), 0 4px 16px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
}

.text-shadow-xl {
  text-shadow: 0 1px 4px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1), 0 2px 8px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15), 0 4px 16px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2), 0 6px 24px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.25);
}

.text-shadow-none {
  text-shadow: none;
}

/* text-indent */
.text-indent-sm {
  text-indent: 0.5em;
}

.text-indent-md {
  text-indent: 1em;
}

.text-indent-lg {
  text-indent: 1.5em;
}

/* line-height */
.line-height-normal {
  line-height: normal;
}

.line-height-1 {
  line-height: 1;
}

.line-height-xs {
  line-height: var(--line-height-xs);
}

.line-height-sm {
  line-height: var(--line-height-sm);
}

.line-height-md {
  line-height: var(--line-height-md);
}

.line-height-lg {
  line-height: var(--line-height-lg);
}

.line-height-xl {
  line-height: var(--line-height-xl);
}

/* line-clamp */
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* white-space */
.ws-nowrap {
  white-space: nowrap;
}

/* column-count */
.column-count-1 {
  -moz-column-count: 1;
       column-count: 1;
}

.column-count-2 {
  -moz-column-count: 2;
       column-count: 2;
}

.column-count-3 {
  -moz-column-count: 3;
       column-count: 3;
}

.column-count-4 {
  -moz-column-count: 4;
       column-count: 4;
}

/* list-style */
.list-style-none {
  list-style: none;
}

/* cursor */
.cursor-pointer {
  cursor: pointer;
}

.cursor-default {
  cursor: default;
}

/* pointer-events */
.pointer-events-auto {
  pointer-events: auto;
}

.pointer-events-none {
  pointer-events: none;
}

/* user-select */
.user-select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.user-select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}

/* color */
[class^=color-], [class*=" color-"] {
  --color-opacity: 1;
}

.color-inherit {
  color: inherit;
}

.color-primary-darker {
  color: hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), var(--color-opacity, 1));
}

.color-primary-dark {
  color: hsla(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l), var(--color-opacity, 1));
}

.color-primary {
  color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), var(--color-opacity, 1));
}

.color-primary-light {
  color: hsla(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l), var(--color-opacity, 1));
}

.color-primary-lighter {
  color: hsla(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l), var(--color-opacity, 1));
}

.color-accent-darker {
  color: hsla(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l), var(--color-opacity, 1));
}

.color-accent-dark {
  color: hsla(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l), var(--color-opacity, 1));
}

.color-accent {
  color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), var(--color-opacity, 1));
}

.color-accent-light {
  color: hsla(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l), var(--color-opacity, 1));
}

.color-accent-lighter {
  color: hsla(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l), var(--color-opacity, 1));
}

.color-black {
  color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), var(--color-opacity, 1));
}

.color-white {
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), var(--color-opacity, 1));
}

.color-warning-darker {
  color: hsla(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l), var(--color-opacity, 1));
}

.color-warning-dark {
  color: hsla(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l), var(--color-opacity, 1));
}

.color-warning {
  color: hsla(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l), var(--color-opacity, 1));
}

.color-warning-light {
  color: hsla(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l), var(--color-opacity, 1));
}

.color-warning-lighter {
  color: hsla(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l), var(--color-opacity, 1));
}

.color-success-darker {
  color: hsla(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l), var(--color-opacity, 1));
}

.color-success-dark {
  color: hsla(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l), var(--color-opacity, 1));
}

.color-success {
  color: hsla(var(--color-success-h), var(--color-success-s), var(--color-success-l), var(--color-opacity, 1));
}

.color-success-light {
  color: hsla(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l), var(--color-opacity, 1));
}

.color-success-lighter {
  color: hsla(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l), var(--color-opacity, 1));
}

.color-error-darker {
  color: hsla(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l), var(--color-opacity, 1));
}

.color-error-dark {
  color: hsla(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l), var(--color-opacity, 1));
}

.color-error {
  color: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), var(--color-opacity, 1));
}

.color-error-light {
  color: hsla(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l), var(--color-opacity, 1));
}

.color-error-lighter {
  color: hsla(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l), var(--color-opacity, 1));
}

.color-bg-darker {
  color: hsla(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l), var(--color-opacity, 1));
}

.color-bg-dark {
  color: hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), var(--color-opacity, 1));
}

.color-bg {
  color: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), var(--color-opacity, 1));
}

.color-bg-light {
  color: hsla(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l), var(--color-opacity, 1));
}

.color-bg-lighter {
  color: hsla(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l), var(--color-opacity, 1));
}

.color-contrast-lower {
  color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), var(--color-opacity, 1));
}

.color-contrast-low {
  color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), var(--color-opacity, 1));
}

.color-contrast-medium {
  color: hsla(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l), var(--color-opacity, 1));
}

.color-contrast-high {
  color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), var(--color-opacity, 1));
}

.color-contrast-higher {
  color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--color-opacity, 1));
}

.color-opacity-0 {
  --color-opacity: 0;
}

.color-opacity-5\% {
  --color-opacity: 0.05;
}

.color-opacity-10\% {
  --color-opacity: 0.1;
}

.color-opacity-15\% {
  --color-opacity: 0.15;
}

.color-opacity-20\% {
  --color-opacity: 0.2;
}

.color-opacity-25\% {
  --color-opacity: 0.25;
}

.color-opacity-30\% {
  --color-opacity: 0.3;
}

.color-opacity-40\% {
  --color-opacity: 0.4;
}

.color-opacity-50\% {
  --color-opacity: 0.5;
}

.color-opacity-60\% {
  --color-opacity: 0.6;
}

.color-opacity-70\% {
  --color-opacity: 0.7;
}

.color-opacity-75\% {
  --color-opacity: 0.75;
}

.color-opacity-80\% {
  --color-opacity: 0.8;
}

.color-opacity-85\% {
  --color-opacity: 0.85;
}

.color-opacity-90\% {
  --color-opacity: 0.9;
}

.color-opacity-95\% {
  --color-opacity: 0.95;
}

/* gradient */
[class^=color-gradient], [class*=" color-gradient"] {
  color: transparent !important;
  -webkit-background-clip: text;
          background-clip: text;
  opacity: var(--color-opacity);
}

/* width */
.width-4xs {
  width: 0.25rem;
}

.width-3xs {
  width: 0.5rem;
}

.width-2xs {
  width: 0.75rem;
}

.width-xs {
  width: 1rem;
}

.width-sm {
  width: 1.5rem;
}

.width-md {
  width: 2rem;
}

.width-lg {
  width: 3rem;
}

.width-xl {
  width: 4rem;
}

.width-2xl {
  width: 6rem;
}

.width-3xl {
  width: 8rem;
}

.width-4xl {
  width: 16rem;
}

.width-0 {
  width: 0;
}

.width-10\% {
  width: 10%;
}

.width-20\% {
  width: 20%;
}

.width-25\% {
  width: 25%;
}

.width-30\% {
  width: 30%;
}

.width-33\% {
  width: 33%;
}

.width-40\% {
  width: 40%;
}

.width-50\% {
  width: 50%;
}

.width-60\% {
  width: 60%;
}

.width-70\% {
  width: 70%;
}

.width-75\% {
  width: 75%;
}

.width-80\% {
  width: 80%;
}

.width-90\% {
  width: 90%;
}

.width-100\% {
  width: 100%;
}

.width-100vw {
  width: 100vw;
}

.width-auto {
  width: auto;
}

.width-inherit {
  width: inherit;
}

/* height */
.height-4xs {
  height: 0.25rem;
}

.height-3xs {
  height: 0.5rem;
}

.height-2xs {
  height: 0.75rem;
}

.height-xs {
  height: 1rem;
}

.height-sm {
  height: 1.5rem;
}

.height-md {
  height: 2rem;
}

.height-lg {
  height: 3rem;
}

.height-xl {
  height: 4rem;
}

.height-2xl {
  height: 6rem;
}

.height-3xl {
  height: 8rem;
}

.height-4xl {
  height: 16rem;
}

.height-0 {
  height: 0;
}

.height-10\% {
  height: 10%;
}

.height-20\% {
  height: 20%;
}

.height-25\% {
  height: 25%;
}

.height-30\% {
  height: 30%;
}

.height-33\% {
  height: 33%;
}

.height-40\% {
  height: 40%;
}

.height-50\% {
  height: 50%;
}

.height-60\% {
  height: 60%;
}

.height-70\% {
  height: 70%;
}

.height-75\% {
  height: 75%;
}

.height-80\% {
  height: 80%;
}

.height-90\% {
  height: 90%;
}

.height-100\% {
  height: 100%;
}

.height-100vh {
  height: 100vh;
}

.height-auto {
  height: auto;
}

.height-inherit {
  height: inherit;
}

/* min-width */
.min-width-0 {
  min-width: 0;
}

.min-width-25\% {
  min-width: 25%;
}

.min-width-33\% {
  min-width: 33.3333333333%;
}

.min-width-50\% {
  min-width: 50%;
}

.min-width-66\% {
  min-width: 66.6666666667%;
}

.min-width-75\% {
  min-width: 75%;
}

.min-width-100\% {
  min-width: 100%;
}

.min-width-100vw {
  min-width: 100vw;
}

/* min-height */
.min-height-0 {
  min-height: 0;
}

.min-height-100\% {
  min-height: 100%;
}

.min-height-100vh {
  min-height: 100vh;
}

/* max-width */
.container {
  width: calc(100% - 2 * var(--container-margin-x));
  margin-left: auto;
  margin-right: auto;
}

.max-width-5xs {
  max-width: var(--max-width-5xs);
}

.max-width-4xs {
  max-width: var(--max-width-4xs);
}

.max-width-3xs {
  max-width: var(--max-width-3xs);
}

.max-width-2xs {
  max-width: var(--max-width-2xs);
}

.max-width-xs {
  max-width: var(--max-width-xs);
}

.max-width-sm {
  max-width: var(--max-width-sm);
}

.max-width-md {
  max-width: var(--max-width-md);
}

.max-width-lg {
  max-width: var(--max-width-lg);
}

.max-width-xl {
  max-width: var(--max-width-xl);
}

.max-width-2xl {
  max-width: var(--max-width-2xl);
}

.max-width-3xl {
  max-width: var(--max-width-3xl);
}

.max-width-4xl {
  max-width: var(--max-width-4xl);
}

.max-width-100\% {
  max-width: 100%;
}

.max-width-none {
  max-width: none;
}

[class^=max-width-adaptive], [class*=" max-width-adaptive"] {
  max-width: 32rem;
}

@media (min-width: 48rem) {
  .max-width-adaptive-sm, .max-width-adaptive-md, .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 48rem;
  }
}
@media (min-width: 64rem) {
  .max-width-adaptive-md, .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 64rem;
  }
}
@media (min-width: 80rem) {
  .max-width-adaptive-lg, .max-width-adaptive-xl {
    max-width: 80rem;
  }
}
@media (min-width: 90rem) {
  .max-width-adaptive-xl {
    max-width: 90rem;
  }
}
/* max-height */
.max-height-100\% {
  max-height: 100%;
}

.max-height-100vh {
  max-height: 100vh;
}

/* box-shadow */
.shadow-ring {
  box-shadow: var(--shadow-ring);
}

.shadow-xs {
  box-shadow: var(--shadow-xs);
}

.shadow-xs.shadow-ring {
  box-shadow: var(--shadow-xs), var(--shadow-ring);
}

.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow-sm.shadow-ring {
  box-shadow: var(--shadow-sm), var(--shadow-ring);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-md.shadow-ring {
  box-shadow: var(--shadow-md), var(--shadow-ring);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

.shadow-lg.shadow-ring {
  box-shadow: var(--shadow-lg), var(--shadow-ring);
}

.shadow-xl {
  box-shadow: var(--shadow-xl);
}

.shadow-xl.shadow-ring {
  box-shadow: var(--shadow-xl), var(--shadow-ring);
}

.shadow-none {
  box-shadow: none;
}

/* inner-glow */
:where(.inner-glow, .inner-glow-top) {
  position: relative;
}

.inner-glow::after, .inner-glow-top::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}

.inner-glow::after {
  box-shadow: var(--inner-glow);
}

.inner-glow-top::after {
  box-shadow: var(--inner-glow-top);
}

/* position */
.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.position-fixed {
  position: fixed;
}

.position-sticky {
  position: sticky;
}

.position-static {
  position: static;
}

.inset-0 {
  inset: 0;
}

.top-4xs {
  top: var(--space-4xs);
}

.right-4xs {
  right: var(--space-4xs);
}

.bottom-4xs {
  bottom: var(--space-4xs);
}

.left-4xs {
  left: var(--space-4xs);
}

.top-3xs {
  top: var(--space-3xs);
}

.right-3xs {
  right: var(--space-3xs);
}

.bottom-3xs {
  bottom: var(--space-3xs);
}

.left-3xs {
  left: var(--space-3xs);
}

.top-2xs {
  top: var(--space-2xs);
}

.right-2xs {
  right: var(--space-2xs);
}

.bottom-2xs {
  bottom: var(--space-2xs);
}

.left-2xs {
  left: var(--space-2xs);
}

.top-xs {
  top: var(--space-xs);
}

.right-xs {
  right: var(--space-xs);
}

.bottom-xs {
  bottom: var(--space-xs);
}

.left-xs {
  left: var(--space-xs);
}

.top-sm {
  top: var(--space-sm);
}

.right-sm {
  right: var(--space-sm);
}

.bottom-sm {
  bottom: var(--space-sm);
}

.left-sm {
  left: var(--space-sm);
}

.top-md {
  top: var(--space-md);
}

.right-md {
  right: var(--space-md);
}

.bottom-md {
  bottom: var(--space-md);
}

.left-md {
  left: var(--space-md);
}

.top-lg {
  top: var(--space-lg);
}

.right-lg {
  right: var(--space-lg);
}

.bottom-lg {
  bottom: var(--space-lg);
}

.left-lg {
  left: var(--space-lg);
}

.top-xl {
  top: var(--space-xl);
}

.right-xl {
  right: var(--space-xl);
}

.bottom-xl {
  bottom: var(--space-xl);
}

.left-xl {
  left: var(--space-xl);
}

.top-2xl {
  top: var(--space-2xl);
}

.right-2xl {
  right: var(--space-2xl);
}

.bottom-2xl {
  bottom: var(--space-2xl);
}

.left-2xl {
  left: var(--space-2xl);
}

.top-3xl {
  top: var(--space-3xl);
}

.right-3xl {
  right: var(--space-3xl);
}

.bottom-3xl {
  bottom: var(--space-3xl);
}

.left-3xl {
  left: var(--space-3xl);
}

.top-4xl {
  top: var(--space-4xl);
}

.right-4xl {
  right: var(--space-4xl);
}

.bottom-4xl {
  bottom: var(--space-4xl);
}

.left-4xl {
  left: var(--space-4xl);
}

.top-50\% {
  top: 50%;
}

.top-auto {
  top: auto;
}

.top-0 {
  top: 0;
}

.right-50\% {
  right: 50%;
}

.right-auto {
  right: auto;
}

.right-0 {
  right: 0;
}

.bottom-50\% {
  bottom: 50%;
}

.bottom-auto {
  bottom: auto;
}

.bottom-0 {
  bottom: 0;
}

.left-50\% {
  left: 50%;
}

.left-auto {
  left: auto;
}

.left-0 {
  left: 0;
}

/* z-index */
.z-index-1 {
  z-index: 1;
}

.z-index-2 {
  z-index: 2;
}

.z-index-3 {
  z-index: 3;
}

.z-index-header {
  z-index: var(--z-index-header);
}

.z-index-popover {
  z-index: var(--z-index-popover);
}

.z-index-fixed-element {
  z-index: var(--z-index-fixed-element);
}

.z-index-overlay {
  z-index: var(--z-index-overlay);
}

/* overflow */
.overflow-visible {
  overflow: visible;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.overflow-clip {
  overflow: clip;
}

.overflow-x-clip {
  overflow-x: clip;
}

.overflow-y-clip {
  overflow-y: clip;
}

.overflow-auto {
  overflow: auto;
}

.momentum-scrolling {
  -webkit-overflow-scrolling: touch;
}

/* overscroll-behavior */
.overscroll-contain {
  overscroll-behavior: contain;
}

/* scroll behavior */
.scroll-smooth {
  scroll-behavior: smooth;
}

.scroll-padding-4xs {
  scroll-padding: var(--space-4xs);
}

.scroll-padding-3xs {
  scroll-padding: var(--space-3xs);
}

.scroll-padding-2xs {
  scroll-padding: var(--space-2xs);
}

.scroll-padding-xs {
  scroll-padding: var(--space-xs);
}

.scroll-padding-sm {
  scroll-padding: var(--space-sm);
}

.scroll-padding-md {
  scroll-padding: var(--space-md);
}

.scroll-padding-lg {
  scroll-padding: var(--space-lg);
}

.scroll-padding-xl {
  scroll-padding: var(--space-xl);
}

.scroll-padding-2xl {
  scroll-padding: var(--space-2xl);
}

.scroll-padding-3xl {
  scroll-padding: var(--space-3xl);
}

.scroll-padding-4xl {
  scroll-padding: var(--space-4xl);
}

/* accessibility */
.sr-only, .sr-only-focusable:not(:focus):not(:focus-within) {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

/* opacity */
.opacity-0 {
  opacity: 0;
}

.opacity-5\% {
  opacity: 0.05;
}

.opacity-10\% {
  opacity: 0.1;
}

.opacity-15\% {
  opacity: 0.15;
}

.opacity-20\% {
  opacity: 0.2;
}

.opacity-25\% {
  opacity: 0.25;
}

.opacity-30\% {
  opacity: 0.3;
}

.opacity-40\% {
  opacity: 0.4;
}

.opacity-50\% {
  opacity: 0.5;
}

.opacity-60\% {
  opacity: 0.6;
}

.opacity-70\% {
  opacity: 0.7;
}

.opacity-75\% {
  opacity: 0.75;
}

.opacity-80\% {
  opacity: 0.8;
}

.opacity-85\% {
  opacity: 0.85;
}

.opacity-90\% {
  opacity: 0.9;
}

.opacity-95\% {
  opacity: 0.95;
}

/* float */
.float-left {
  float: left;
}

.float-right {
  float: right;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* border */
[class^=border-], [class*=" border-"] {
  --border-opacity: 1;
  --border-width: 1px;
  --border-style: solid;
}

.border {
  border: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity-base, 0.1));
}

.border-top {
  border-top: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity-base, 0.1));
}

.border-bottom {
  border-bottom: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity-base, 0.1));
}

.border-left {
  border-left: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity-base, 0.1));
}

.border-right {
  border-right: var(--border-width, 1px) var(--border-style, solid) hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity-base, 0.1));
}

.border-2 {
  --border-width: 2px;
}

.border-3 {
  --border-width: 3px;
}

.border-4 {
  --border-width: 4px;
}

.border-dotted {
  --border-style: dotted;
}

.border-dashed {
  --border-style: dashed;
}

.border-primary-darker {
  border-color: hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), var(--border-opacity, 1));
}

.border-primary-dark {
  border-color: hsla(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l), var(--border-opacity, 1));
}

.border-primary {
  border-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), var(--border-opacity, 1));
}

.border-primary-light {
  border-color: hsla(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l), var(--border-opacity, 1));
}

.border-primary-lighter {
  border-color: hsla(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l), var(--border-opacity, 1));
}

.border-accent-darker {
  border-color: hsla(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l), var(--border-opacity, 1));
}

.border-accent-dark {
  border-color: hsla(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l), var(--border-opacity, 1));
}

.border-accent {
  border-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), var(--border-opacity, 1));
}

.border-accent-light {
  border-color: hsla(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l), var(--border-opacity, 1));
}

.border-accent-lighter {
  border-color: hsla(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l), var(--border-opacity, 1));
}

.border-black {
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), var(--border-opacity, 1));
}

.border-white {
  border-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), var(--border-opacity, 1));
}

.border-warning-darker {
  border-color: hsla(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l), var(--border-opacity, 1));
}

.border-warning-dark {
  border-color: hsla(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l), var(--border-opacity, 1));
}

.border-warning {
  border-color: hsla(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l), var(--border-opacity, 1));
}

.border-warning-light {
  border-color: hsla(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l), var(--border-opacity, 1));
}

.border-warning-lighter {
  border-color: hsla(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l), var(--border-opacity, 1));
}

.border-success-darker {
  border-color: hsla(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l), var(--border-opacity, 1));
}

.border-success-dark {
  border-color: hsla(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l), var(--border-opacity, 1));
}

.border-success {
  border-color: hsla(var(--color-success-h), var(--color-success-s), var(--color-success-l), var(--border-opacity, 1));
}

.border-success-light {
  border-color: hsla(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l), var(--border-opacity, 1));
}

.border-success-lighter {
  border-color: hsla(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l), var(--border-opacity, 1));
}

.border-error-darker {
  border-color: hsla(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l), var(--border-opacity, 1));
}

.border-error-dark {
  border-color: hsla(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l), var(--border-opacity, 1));
}

.border-error {
  border-color: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), var(--border-opacity, 1));
}

.border-error-light {
  border-color: hsla(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l), var(--border-opacity, 1));
}

.border-error-lighter {
  border-color: hsla(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l), var(--border-opacity, 1));
}

.border-bg-darker {
  border-color: hsla(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l), var(--border-opacity, 1));
}

.border-bg-dark {
  border-color: hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), var(--border-opacity, 1));
}

.border-bg {
  border-color: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), var(--border-opacity, 1));
}

.border-bg-light {
  border-color: hsla(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l), var(--border-opacity, 1));
}

.border-bg-lighter {
  border-color: hsla(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l), var(--border-opacity, 1));
}

.border-contrast-lower {
  border-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), var(--border-opacity, 1));
}

.border-contrast-low {
  border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), var(--border-opacity, 1));
}

.border-contrast-medium {
  border-color: hsla(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l), var(--border-opacity, 1));
}

.border-contrast-high {
  border-color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), var(--border-opacity, 1));
}

.border-contrast-higher {
  border-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--border-opacity, 1));
}

.border-opacity-0 {
  --border-opacity: 0;
}

.border-opacity-5\% {
  --border-opacity: 0.05;
}

.border-opacity-10\% {
  --border-opacity: 0.1;
}

.border-opacity-15\% {
  --border-opacity: 0.15;
}

.border-opacity-20\% {
  --border-opacity: 0.2;
}

.border-opacity-25\% {
  --border-opacity: 0.25;
}

.border-opacity-30\% {
  --border-opacity: 0.3;
}

.border-opacity-40\% {
  --border-opacity: 0.4;
}

.border-opacity-50\% {
  --border-opacity: 0.5;
}

.border-opacity-60\% {
  --border-opacity: 0.6;
}

.border-opacity-70\% {
  --border-opacity: 0.7;
}

.border-opacity-75\% {
  --border-opacity: 0.75;
}

.border-opacity-80\% {
  --border-opacity: 0.8;
}

.border-opacity-85\% {
  --border-opacity: 0.85;
}

.border-opacity-90\% {
  --border-opacity: 0.9;
}

.border-opacity-95\% {
  --border-opacity: 0.95;
}

/* border-radius */
.radius-sm {
  border-radius: var(--radius-sm);
}

.radius-md {
  border-radius: var(--radius-md);
}

.radius-lg {
  border-radius: var(--radius-lg);
}

.radius-50\% {
  border-radius: 50%;
}

.radius-full {
  border-radius: 50em;
}

.radius-0 {
  border-radius: 0;
}

.radius-inherit {
  border-radius: inherit;
}

.radius-top-left-0 {
  border-top-left-radius: 0;
}

.radius-top-right-0 {
  border-top-right-radius: 0;
}

.radius-bottom-right-0 {
  border-bottom-right-radius: 0;
}

.radius-bottom-left-0 {
  border-bottom-left-radius: 0;
}

/* background */
.bg, [class^=bg-], [class*=" bg-"] {
  --bg-opacity: 1;
}

.bg-transparent {
  background-color: transparent;
}

.bg-inherit {
  background-color: inherit;
}

.bg-primary-darker {
  background-color: hsla(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l), var(--bg-opacity, 1));
}

.bg-primary-dark {
  background-color: hsla(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l), var(--bg-opacity, 1));
}

.bg-primary {
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), var(--bg-opacity, 1));
}

.bg-primary-light {
  background-color: hsla(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l), var(--bg-opacity, 1));
}

.bg-primary-lighter {
  background-color: hsla(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l), var(--bg-opacity, 1));
}

.bg-accent-darker {
  background-color: hsla(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l), var(--bg-opacity, 1));
}

.bg-accent-dark {
  background-color: hsla(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l), var(--bg-opacity, 1));
}

.bg-accent {
  background-color: hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), var(--bg-opacity, 1));
}

.bg-accent-light {
  background-color: hsla(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l), var(--bg-opacity, 1));
}

.bg-accent-lighter {
  background-color: hsla(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l), var(--bg-opacity, 1));
}

.bg-black {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), var(--bg-opacity, 1));
}

.bg-white {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), var(--bg-opacity, 1));
}

.bg-warning-darker {
  background-color: hsla(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l), var(--bg-opacity, 1));
}

.bg-warning-dark {
  background-color: hsla(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l), var(--bg-opacity, 1));
}

.bg-warning {
  background-color: hsla(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l), var(--bg-opacity, 1));
}

.bg-warning-light {
  background-color: hsla(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l), var(--bg-opacity, 1));
}

.bg-warning-lighter {
  background-color: hsla(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l), var(--bg-opacity, 1));
}

.bg-success-darker {
  background-color: hsla(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l), var(--bg-opacity, 1));
}

.bg-success-dark {
  background-color: hsla(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l), var(--bg-opacity, 1));
}

.bg-success {
  background-color: hsla(var(--color-success-h), var(--color-success-s), var(--color-success-l), var(--bg-opacity, 1));
}

.bg-success-light {
  background-color: hsla(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l), var(--bg-opacity, 1));
}

.bg-success-lighter {
  background-color: hsla(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l), var(--bg-opacity, 1));
}

.bg-error-darker {
  background-color: hsla(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l), var(--bg-opacity, 1));
}

.bg-error-dark {
  background-color: hsla(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l), var(--bg-opacity, 1));
}

.bg-error {
  background-color: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), var(--bg-opacity, 1));
}

.bg-error-light {
  background-color: hsla(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l), var(--bg-opacity, 1));
}

.bg-error-lighter {
  background-color: hsla(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l), var(--bg-opacity, 1));
}

.bg-darker {
  background-color: hsla(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l), var(--bg-opacity, 1));
}

.bg-dark {
  background-color: hsla(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l), var(--bg-opacity, 1));
}

.bg {
  background-color: hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), var(--bg-opacity, 1));
}

.bg-light {
  background-color: hsla(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l), var(--bg-opacity, 1));
}

.bg-lighter {
  background-color: hsla(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l), var(--bg-opacity, 1));
}

.bg-contrast-lower {
  background-color: hsla(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l), var(--bg-opacity, 1));
}

.bg-contrast-low {
  background-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), var(--bg-opacity, 1));
}

.bg-contrast-medium {
  background-color: hsla(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l), var(--bg-opacity, 1));
}

.bg-contrast-high {
  background-color: hsla(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l), var(--bg-opacity, 1));
}

.bg-contrast-higher {
  background-color: hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), var(--bg-opacity, 1));
}

.bg-opacity-0 {
  --bg-opacity: 0;
}

.bg-opacity-5\% {
  --bg-opacity: 0.05;
}

.bg-opacity-10\% {
  --bg-opacity: 0.1;
}

.bg-opacity-15\% {
  --bg-opacity: 0.15;
}

.bg-opacity-20\% {
  --bg-opacity: 0.2;
}

.bg-opacity-25\% {
  --bg-opacity: 0.25;
}

.bg-opacity-30\% {
  --bg-opacity: 0.3;
}

.bg-opacity-40\% {
  --bg-opacity: 0.4;
}

.bg-opacity-50\% {
  --bg-opacity: 0.5;
}

.bg-opacity-60\% {
  --bg-opacity: 0.6;
}

.bg-opacity-70\% {
  --bg-opacity: 0.7;
}

.bg-opacity-75\% {
  --bg-opacity: 0.75;
}

.bg-opacity-80\% {
  --bg-opacity: 0.8;
}

.bg-opacity-85\% {
  --bg-opacity: 0.85;
}

.bg-opacity-90\% {
  --bg-opacity: 0.9;
}

.bg-opacity-95\% {
  --bg-opacity: 0.95;
}

.bg-center {
  background-position: center;
}

.bg-top {
  background-position: center top;
}

.bg-right {
  background-position: right center;
}

.bg-bottom {
  background-position: center bottom;
}

.bg-left {
  background-position: left center;
}

.bg-top-left {
  background-position: left top;
}

.bg-top-right {
  background-position: right top;
}

.bg-bottom-left {
  background-position: left bottom;
}

.bg-bottom-right {
  background-position: right bottom;
}

.bg-cover {
  background-size: cover;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

/* backdrop-filter */
.backdrop-blur-10 {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.backdrop-blur-20 {
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

/* mix-blend-mode */
.isolate {
  isolation: isolate;
}

.blend-multiply {
  mix-blend-mode: multiply;
}

.blend-overlay {
  mix-blend-mode: overlay;
}

.blend-difference {
  mix-blend-mode: difference;
}

/* object-fit */
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

/* perspective */
.perspective-xs {
  perspective: 250px;
}

.perspective-sm {
  perspective: 500px;
}

.perspective-md {
  perspective: 1000px;
}

.perspective-lg {
  perspective: 1500px;
}

.perspective-xl {
  perspective: 3000px;
}

/* transform */
[class^=flip], [class*=" flip"],
[class^=-rotate], [class*=" -rotate"],
[class^=rotate], [class*=" rotate"],
[class^=-translate], [class*=" -translate"],
[class^=translate], [class*=" translate"],
[class^=-scale], [class*=" -scale"],
[class^=scale], [class*=" scale"],
[class^=-skew], [class*=" -skew"] [class^=skew],
[class*=" skew"] {
  --translate: 0;
  --rotate: 0;
  --skew: 0;
  --scale: 1;
  transform: translate3d(var(--translate-x, var(--translate)), var(--translate-y, var(--translate)), var(--translate-z, 0)) rotateX(var(--rotate-x, 0)) rotateY(var(--rotate-y, 0)) rotateZ(var(--rotate-z, var(--rotate))) skewX(var(--skew-x, var(--skew))) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, var(--scale))) scaleY(var(--scale-y, var(--scale)));
}

.flip {
  --scale: -1;
}

.flip-x {
  --scale-x: -1;
}

.flip-y {
  --scale-y: -1;
}

.rotate-90 {
  --rotate: 90deg;
}

.rotate-180 {
  --rotate: 180deg;
}

.rotate-270 {
  --rotate: 270deg;
}

.-translate-50\% {
  --translate: -50%;
}

.-translate-x-50\% {
  --translate-x: -50%;
}

.-translate-y-50\% {
  --translate-y: -50%;
}

.-translate-y-slight {
  --translate-y: -0.1em;
}

.translate-50\% {
  --translate: 50%;
}

.translate-x-50\% {
  --translate-x: 50%;
}

.translate-y-50\% {
  --translate-y: 50%;
}

/* transform-origin */
.origin-center {
  transform-origin: center;
}

.origin-top {
  transform-origin: center top;
}

.origin-right {
  transform-origin: right center;
}

.origin-bottom {
  transform-origin: center bottom;
}

.origin-left {
  transform-origin: left center;
}

.origin-top-left {
  transform-origin: left top;
}

.origin-top-right {
  transform-origin: right top;
}

.origin-bottom-left {
  transform-origin: left bottom;
}

.origin-bottom-right {
  transform-origin: right bottom;
}

/* transition */
.transition {
  transition-property: var(--transition-property, all);
  transition-duration: var(--transition-duration, 0.2s);
  transition-delay: var(--transition-delay, 0s);
}

/* SVG */
.fill-current {
  fill: currentColor;
}

.stroke-current {
  stroke: currentColor;
}

.stroke-1 {
  stroke-width: 1px;
}

.stroke-2 {
  stroke-width: 2px;
}

.stroke-3 {
  stroke-width: 3px;
}

.stroke-4 {
  stroke-width: 4px;
}

/* visibility */
.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

/* print */
@media print {
  .print\:hide, .print\:is-hidden {
    display: none !important;
  }
  .print\:shadow-none {
    box-shadow: none;
  }
}
/* appearance */
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.appearance-auto {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}

@media (min-width: 32rem) {
  /* grid */
  .grid-col-1\@xs {
    --grid-columns: 1;
  }
  .col-1\@xs {
    --column-span: 1;
  }
  .grid-col-2\@xs {
    --grid-columns: 2;
  }
  .col-2\@xs {
    --column-span: 2;
  }
  .grid-col-3\@xs {
    --grid-columns: 3;
  }
  .col-3\@xs {
    --column-span: 3;
  }
  .grid-col-4\@xs {
    --grid-columns: 4;
  }
  .col-4\@xs {
    --column-span: 4;
  }
  .grid-col-5\@xs {
    --grid-columns: 5;
  }
  .col-5\@xs {
    --column-span: 5;
  }
  .grid-col-6\@xs {
    --grid-columns: 6;
  }
  .col-6\@xs {
    --column-span: 6;
  }
  .grid-col-7\@xs {
    --grid-columns: 7;
  }
  .col-7\@xs {
    --column-span: 7;
  }
  .grid-col-8\@xs {
    --grid-columns: 8;
  }
  .col-8\@xs {
    --column-span: 8;
  }
  .grid-col-9\@xs {
    --grid-columns: 9;
  }
  .col-9\@xs {
    --column-span: 9;
  }
  .grid-col-10\@xs {
    --grid-columns: 10;
  }
  .col-10\@xs {
    --column-span: 10;
  }
  .grid-col-11\@xs {
    --grid-columns: 11;
  }
  .col-11\@xs {
    --column-span: 11;
  }
  .grid-col-12\@xs {
    --grid-columns: 12;
  }
  .col-12\@xs {
    --column-span: 12;
  }
  .col-1\@xs, .col-2\@xs, .col-3\@xs, .col-4\@xs, .col-5\@xs, .col-6\@xs, .col-7\@xs, .col-8\@xs, .col-9\@xs, .col-10\@xs, .col-11\@xs, .col-12\@xs {
    width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
    flex: initial;
  }
  .col\@xs {
    width: auto;
    flex: 1 1 0;
  }
  .col-content\@xs {
    width: auto;
    flex: 0 1 auto;
  }
  .offset-1\@xs {
    --column-offset: 1;
  }
  .offset-2\@xs {
    --column-offset: 2;
  }
  .offset-3\@xs {
    --column-offset: 3;
  }
  .offset-4\@xs {
    --column-offset: 4;
  }
  .offset-5\@xs {
    --column-offset: 5;
  }
  .offset-6\@xs {
    --column-offset: 6;
  }
  .offset-7\@xs {
    --column-offset: 7;
  }
  .offset-8\@xs {
    --column-offset: 8;
  }
  .offset-9\@xs {
    --column-offset: 9;
  }
  .offset-10\@xs {
    --column-offset: 10;
  }
  .offset-11\@xs {
    --column-offset: 11;
  }
  .offset-1\@xs, .offset-2\@xs, .offset-3\@xs, .offset-4\@xs, .offset-5\@xs, .offset-6\@xs, .offset-7\@xs, .offset-8\@xs, .offset-9\@xs, .offset-10\@xs, .offset-11\@xs {
    margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
  }
  .offset-0\@xs {
    margin-left: 0;
  }
  /* gap */
  .gap-4xs\@xs {
    --row-gap: var(--space-4xs);
    --column-gap: var(--space-4xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xs\@xs {
    --column-gap: var(--space-4xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xs\@xs {
    --row-gap: var(--space-4xs);
    row-gap: var(--row-gap);
  }
  .gap-3xs\@xs {
    --row-gap: var(--space-3xs);
    --column-gap: var(--space-3xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xs\@xs {
    --column-gap: var(--space-3xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xs\@xs {
    --row-gap: var(--space-3xs);
    row-gap: var(--row-gap);
  }
  .gap-2xs\@xs {
    --row-gap: var(--space-2xs);
    --column-gap: var(--space-2xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xs\@xs {
    --column-gap: var(--space-2xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xs\@xs {
    --row-gap: var(--space-2xs);
    row-gap: var(--row-gap);
  }
  .gap-xs\@xs {
    --row-gap: var(--space-xs);
    --column-gap: var(--space-xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xs\@xs {
    --column-gap: var(--space-xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xs\@xs {
    --row-gap: var(--space-xs);
    row-gap: var(--row-gap);
  }
  .gap-sm\@xs {
    --row-gap: var(--space-sm);
    --column-gap: var(--space-sm);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-sm\@xs {
    --column-gap: var(--space-sm);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-sm\@xs {
    --row-gap: var(--space-sm);
    row-gap: var(--row-gap);
  }
  .gap-md\@xs {
    --row-gap: var(--space-md);
    --column-gap: var(--space-md);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-md\@xs {
    --column-gap: var(--space-md);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-md\@xs {
    --row-gap: var(--space-md);
    row-gap: var(--row-gap);
  }
  .gap-lg\@xs {
    --row-gap: var(--space-lg);
    --column-gap: var(--space-lg);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-lg\@xs {
    --column-gap: var(--space-lg);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-lg\@xs {
    --row-gap: var(--space-lg);
    row-gap: var(--row-gap);
  }
  .gap-xl\@xs {
    --row-gap: var(--space-xl);
    --column-gap: var(--space-xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xl\@xs {
    --column-gap: var(--space-xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xl\@xs {
    --row-gap: var(--space-xl);
    row-gap: var(--row-gap);
  }
  .gap-2xl\@xs {
    --row-gap: var(--space-2xl);
    --column-gap: var(--space-2xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xl\@xs {
    --column-gap: var(--space-2xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xl\@xs {
    --row-gap: var(--space-2xl);
    row-gap: var(--row-gap);
  }
  .gap-3xl\@xs {
    --row-gap: var(--space-3xl);
    --column-gap: var(--space-3xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xl\@xs {
    --column-gap: var(--space-3xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xl\@xs {
    --row-gap: var(--space-3xl);
    row-gap: var(--row-gap);
  }
  .gap-4xl\@xs {
    --row-gap: var(--space-4xl);
    --column-gap: var(--space-4xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xl\@xs {
    --column-gap: var(--space-4xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xl\@xs {
    --row-gap: var(--space-4xl);
    row-gap: var(--row-gap);
  }
  .gap-0\@xs {
    --row-gap: 0px;
    --column-gap: 0px;
    gap: 0px;
  }
  .gap-x-0\@xs {
    --column-gap: 0px;
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
  .gap-y-0\@xs {
    --row-gap: 0px;
    row-gap: 0px;
  }
  /* flexbox */
  .flex\@xs {
    display: flex;
  }
  .inline-flex\@xs {
    display: inline-flex;
  }
  .flex-wrap\@xs {
    flex-wrap: wrap;
  }
  .flex-nowrap\@xs {
    flex-wrap: nowrap;
  }
  .flex-column\@xs {
    flex-direction: column;
  }
  .flex-column-reverse\@xs {
    flex-direction: column-reverse;
  }
  .flex-row\@xs {
    flex-direction: row;
  }
  .flex-row-reverse\@xs {
    flex-direction: row-reverse;
  }
  .flex-center\@xs {
    justify-content: center;
    align-items: center;
  }
  .flex-grow\@xs {
    flex-grow: 1;
  }
  .flex-grow-0\@xs {
    flex-grow: 0;
  }
  .flex-shrink\@xs {
    flex-shrink: 1;
  }
  .flex-shrink-0\@xs {
    flex-shrink: 0;
  }
  .flex-basis-0\@xs {
    flex-basis: 0;
  }
  /* justify-content */
  .justify-start\@xs {
    justify-content: start;
  }
  .justify-end\@xs {
    justify-content: end;
  }
  .justify-center\@xs {
    justify-content: center;
  }
  .justify-between\@xs {
    justify-content: space-between;
  }
  /* align-items */
  .items-center\@xs {
    align-items: center;
  }
  .items-start\@xs {
    align-items: start;
  }
  .items-end\@xs {
    align-items: end;
  }
  .items-baseline\@xs {
    align-items: baseline;
  }
  .items-stretch\@xs {
    align-items: stretch;
  }
  /* align-content */
  .content-start\@xs {
    align-content: start;
  }
  .content-end\@xs {
    align-content: end;
  }
  .content-center\@xs {
    align-content: center;
  }
  .content-between\@xs {
    align-content: space-between;
  }
  /* order */
  .order-1\@xs {
    order: 1;
  }
  .order-2\@xs {
    order: 2;
  }
  .order-3\@xs {
    order: 3;
  }
  /* display */
  .block\@xs {
    display: block;
  }
  .inline-block\@xs {
    display: inline-block;
  }
  .inline\@xs {
    display: inline;
  }
  .contents\@xs {
    display: contents;
  }
  .css-grid\@xs {
    display: grid;
  }
  .css-inline-grid\@xs {
    display: inline-grid;
  }
  .hide\@xs {
    display: none;
  }
  /* margin */
  .margin-4xs\@xs {
    margin: var(--space-4xs);
  }
  .margin-3xs\@xs {
    margin: var(--space-3xs);
  }
  .margin-2xs\@xs {
    margin: var(--space-2xs);
  }
  .margin-xs\@xs {
    margin: var(--space-xs);
  }
  .margin-sm\@xs {
    margin: var(--space-sm);
  }
  .margin-md\@xs {
    margin: var(--space-md);
  }
  .margin-lg\@xs {
    margin: var(--space-lg);
  }
  .margin-xl\@xs {
    margin: var(--space-xl);
  }
  .margin-2xl\@xs {
    margin: var(--space-2xl);
  }
  .margin-3xl\@xs {
    margin: var(--space-3xl);
  }
  .margin-4xl\@xs {
    margin: var(--space-4xl);
  }
  .margin-auto\@xs {
    margin: auto;
  }
  .margin-0\@xs {
    margin: 0;
  }
  .margin-y-4xs\@xs {
    margin-top: var(--space-4xs);
    margin-bottom: var(--space-4xs);
  }
  .margin-x-4xs\@xs {
    margin-right: var(--space-4xs);
    margin-left: var(--space-4xs);
  }
  .margin-y-3xs\@xs {
    margin-top: var(--space-3xs);
    margin-bottom: var(--space-3xs);
  }
  .margin-x-3xs\@xs {
    margin-right: var(--space-3xs);
    margin-left: var(--space-3xs);
  }
  .margin-y-2xs\@xs {
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
  }
  .margin-x-2xs\@xs {
    margin-right: var(--space-2xs);
    margin-left: var(--space-2xs);
  }
  .margin-y-xs\@xs {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
  }
  .margin-x-xs\@xs {
    margin-right: var(--space-xs);
    margin-left: var(--space-xs);
  }
  .margin-y-sm\@xs {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
  }
  .margin-x-sm\@xs {
    margin-right: var(--space-sm);
    margin-left: var(--space-sm);
  }
  .margin-y-md\@xs {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
  }
  .margin-x-md\@xs {
    margin-right: var(--space-md);
    margin-left: var(--space-md);
  }
  .margin-y-lg\@xs {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .margin-x-lg\@xs {
    margin-right: var(--space-lg);
    margin-left: var(--space-lg);
  }
  .margin-y-xl\@xs {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .margin-x-xl\@xs {
    margin-right: var(--space-xl);
    margin-left: var(--space-xl);
  }
  .margin-y-2xl\@xs {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
  }
  .margin-x-2xl\@xs {
    margin-right: var(--space-2xl);
    margin-left: var(--space-2xl);
  }
  .margin-y-3xl\@xs {
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-3xl);
  }
  .margin-x-3xl\@xs {
    margin-right: var(--space-3xl);
    margin-left: var(--space-3xl);
  }
  .margin-y-4xl\@xs {
    margin-top: var(--space-4xl);
    margin-bottom: var(--space-4xl);
  }
  .margin-x-4xl\@xs {
    margin-right: var(--space-4xl);
    margin-left: var(--space-4xl);
  }
  .margin-y-auto\@xs {
    margin-top: auto;
    margin-bottom: auto;
  }
  .margin-y-0\@xs {
    margin-top: 0;
    margin-bottom: 0;
  }
  .margin-x-auto\@xs {
    margin-left: auto;
    margin-right: auto;
  }
  .margin-x-0\@xs {
    margin-left: 0;
    margin-right: 0;
  }
  .margin-top-4xs\@xs {
    margin-top: var(--space-4xs);
  }
  .margin-right-4xs\@xs {
    margin-right: var(--space-4xs);
  }
  .margin-bottom-4xs\@xs {
    margin-bottom: var(--space-4xs);
  }
  .margin-left-4xs\@xs {
    margin-left: var(--space-4xs);
  }
  .margin-top-3xs\@xs {
    margin-top: var(--space-3xs);
  }
  .margin-right-3xs\@xs {
    margin-right: var(--space-3xs);
  }
  .margin-bottom-3xs\@xs {
    margin-bottom: var(--space-3xs);
  }
  .margin-left-3xs\@xs {
    margin-left: var(--space-3xs);
  }
  .margin-top-2xs\@xs {
    margin-top: var(--space-2xs);
  }
  .margin-right-2xs\@xs {
    margin-right: var(--space-2xs);
  }
  .margin-bottom-2xs\@xs {
    margin-bottom: var(--space-2xs);
  }
  .margin-left-2xs\@xs {
    margin-left: var(--space-2xs);
  }
  .margin-top-xs\@xs {
    margin-top: var(--space-xs);
  }
  .margin-right-xs\@xs {
    margin-right: var(--space-xs);
  }
  .margin-bottom-xs\@xs {
    margin-bottom: var(--space-xs);
  }
  .margin-left-xs\@xs {
    margin-left: var(--space-xs);
  }
  .margin-top-sm\@xs {
    margin-top: var(--space-sm);
  }
  .margin-right-sm\@xs {
    margin-right: var(--space-sm);
  }
  .margin-bottom-sm\@xs {
    margin-bottom: var(--space-sm);
  }
  .margin-left-sm\@xs {
    margin-left: var(--space-sm);
  }
  .margin-top-md\@xs {
    margin-top: var(--space-md);
  }
  .margin-right-md\@xs {
    margin-right: var(--space-md);
  }
  .margin-bottom-md\@xs {
    margin-bottom: var(--space-md);
  }
  .margin-left-md\@xs {
    margin-left: var(--space-md);
  }
  .margin-top-lg\@xs {
    margin-top: var(--space-lg);
  }
  .margin-right-lg\@xs {
    margin-right: var(--space-lg);
  }
  .margin-bottom-lg\@xs {
    margin-bottom: var(--space-lg);
  }
  .margin-left-lg\@xs {
    margin-left: var(--space-lg);
  }
  .margin-top-xl\@xs {
    margin-top: var(--space-xl);
  }
  .margin-right-xl\@xs {
    margin-right: var(--space-xl);
  }
  .margin-bottom-xl\@xs {
    margin-bottom: var(--space-xl);
  }
  .margin-left-xl\@xs {
    margin-left: var(--space-xl);
  }
  .margin-top-2xl\@xs {
    margin-top: var(--space-2xl);
  }
  .margin-right-2xl\@xs {
    margin-right: var(--space-2xl);
  }
  .margin-bottom-2xl\@xs {
    margin-bottom: var(--space-2xl);
  }
  .margin-left-2xl\@xs {
    margin-left: var(--space-2xl);
  }
  .margin-top-3xl\@xs {
    margin-top: var(--space-3xl);
  }
  .margin-right-3xl\@xs {
    margin-right: var(--space-3xl);
  }
  .margin-bottom-3xl\@xs {
    margin-bottom: var(--space-3xl);
  }
  .margin-left-3xl\@xs {
    margin-left: var(--space-3xl);
  }
  .margin-top-4xl\@xs {
    margin-top: var(--space-4xl);
  }
  .margin-right-4xl\@xs {
    margin-right: var(--space-4xl);
  }
  .margin-bottom-4xl\@xs {
    margin-bottom: var(--space-4xl);
  }
  .margin-left-4xl\@xs {
    margin-left: var(--space-4xl);
  }
  .margin-top-auto\@xs {
    margin-top: auto;
  }
  .margin-top-0\@xs {
    margin-top: 0;
  }
  .margin-right-auto\@xs {
    margin-right: auto;
  }
  .margin-right-0\@xs {
    margin-right: 0;
  }
  .margin-bottom-auto\@xs {
    margin-bottom: auto;
  }
  .margin-bottom-0\@xs {
    margin-bottom: 0;
  }
  .margin-left-auto\@xs {
    margin-left: auto;
  }
  .margin-left-0\@xs {
    margin-left: 0;
  }
  /* padding */
  .padding-4xs\@xs {
    padding: var(--space-4xs);
  }
  .padding-3xs\@xs {
    padding: var(--space-3xs);
  }
  .padding-2xs\@xs {
    padding: var(--space-2xs);
  }
  .padding-xs\@xs {
    padding: var(--space-xs);
  }
  .padding-sm\@xs {
    padding: var(--space-sm);
  }
  .padding-md\@xs {
    padding: var(--space-md);
  }
  .padding-lg\@xs {
    padding: var(--space-lg);
  }
  .padding-xl\@xs {
    padding: var(--space-xl);
  }
  .padding-2xl\@xs {
    padding: var(--space-2xl);
  }
  .padding-3xl\@xs {
    padding: var(--space-3xl);
  }
  .padding-4xl\@xs {
    padding: var(--space-4xl);
  }
  .padding-0\@xs {
    padding: 0;
  }
  .padding-y-4xs\@xs {
    padding-top: var(--space-4xs);
    padding-bottom: var(--space-4xs);
  }
  .padding-x-4xs\@xs {
    padding-right: var(--space-4xs);
    padding-left: var(--space-4xs);
  }
  .padding-y-3xs\@xs {
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-3xs);
  }
  .padding-x-3xs\@xs {
    padding-right: var(--space-3xs);
    padding-left: var(--space-3xs);
  }
  .padding-y-2xs\@xs {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  .padding-x-2xs\@xs {
    padding-right: var(--space-2xs);
    padding-left: var(--space-2xs);
  }
  .padding-y-xs\@xs {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
  .padding-x-xs\@xs {
    padding-right: var(--space-xs);
    padding-left: var(--space-xs);
  }
  .padding-y-sm\@xs {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  .padding-x-sm\@xs {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }
  .padding-y-md\@xs {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-x-md\@xs {
    padding-right: var(--space-md);
    padding-left: var(--space-md);
  }
  .padding-y-lg\@xs {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  .padding-x-lg\@xs {
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
  }
  .padding-y-xl\@xs {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .padding-x-xl\@xs {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }
  .padding-y-2xl\@xs {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .padding-x-2xl\@xs {
    padding-right: var(--space-2xl);
    padding-left: var(--space-2xl);
  }
  .padding-y-3xl\@xs {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .padding-x-3xl\@xs {
    padding-right: var(--space-3xl);
    padding-left: var(--space-3xl);
  }
  .padding-y-4xl\@xs {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .padding-x-4xl\@xs {
    padding-right: var(--space-4xl);
    padding-left: var(--space-4xl);
  }
  .padding-y-0\@xs {
    padding-top: 0;
    padding-bottom: 0;
  }
  .padding-x-0\@xs {
    padding-left: 0;
    padding-right: 0;
  }
  .padding-top-4xs\@xs {
    padding-top: var(--space-4xs);
  }
  .padding-right-4xs\@xs {
    padding-right: var(--space-4xs);
  }
  .padding-bottom-4xs\@xs {
    padding-bottom: var(--space-4xs);
  }
  .padding-left-4xs\@xs {
    padding-left: var(--space-4xs);
  }
  .padding-top-3xs\@xs {
    padding-top: var(--space-3xs);
  }
  .padding-right-3xs\@xs {
    padding-right: var(--space-3xs);
  }
  .padding-bottom-3xs\@xs {
    padding-bottom: var(--space-3xs);
  }
  .padding-left-3xs\@xs {
    padding-left: var(--space-3xs);
  }
  .padding-top-2xs\@xs {
    padding-top: var(--space-2xs);
  }
  .padding-right-2xs\@xs {
    padding-right: var(--space-2xs);
  }
  .padding-bottom-2xs\@xs {
    padding-bottom: var(--space-2xs);
  }
  .padding-left-2xs\@xs {
    padding-left: var(--space-2xs);
  }
  .padding-top-xs\@xs {
    padding-top: var(--space-xs);
  }
  .padding-right-xs\@xs {
    padding-right: var(--space-xs);
  }
  .padding-bottom-xs\@xs {
    padding-bottom: var(--space-xs);
  }
  .padding-left-xs\@xs {
    padding-left: var(--space-xs);
  }
  .padding-top-sm\@xs {
    padding-top: var(--space-sm);
  }
  .padding-right-sm\@xs {
    padding-right: var(--space-sm);
  }
  .padding-bottom-sm\@xs {
    padding-bottom: var(--space-sm);
  }
  .padding-left-sm\@xs {
    padding-left: var(--space-sm);
  }
  .padding-top-md\@xs {
    padding-top: var(--space-md);
  }
  .padding-right-md\@xs {
    padding-right: var(--space-md);
  }
  .padding-bottom-md\@xs {
    padding-bottom: var(--space-md);
  }
  .padding-left-md\@xs {
    padding-left: var(--space-md);
  }
  .padding-top-lg\@xs {
    padding-top: var(--space-lg);
  }
  .padding-right-lg\@xs {
    padding-right: var(--space-lg);
  }
  .padding-bottom-lg\@xs {
    padding-bottom: var(--space-lg);
  }
  .padding-left-lg\@xs {
    padding-left: var(--space-lg);
  }
  .padding-top-xl\@xs {
    padding-top: var(--space-xl);
  }
  .padding-right-xl\@xs {
    padding-right: var(--space-xl);
  }
  .padding-bottom-xl\@xs {
    padding-bottom: var(--space-xl);
  }
  .padding-left-xl\@xs {
    padding-left: var(--space-xl);
  }
  .padding-top-2xl\@xs {
    padding-top: var(--space-2xl);
  }
  .padding-right-2xl\@xs {
    padding-right: var(--space-2xl);
  }
  .padding-bottom-2xl\@xs {
    padding-bottom: var(--space-2xl);
  }
  .padding-left-2xl\@xs {
    padding-left: var(--space-2xl);
  }
  .padding-top-3xl\@xs {
    padding-top: var(--space-3xl);
  }
  .padding-right-3xl\@xs {
    padding-right: var(--space-3xl);
  }
  .padding-bottom-3xl\@xs {
    padding-bottom: var(--space-3xl);
  }
  .padding-left-3xl\@xs {
    padding-left: var(--space-3xl);
  }
  .padding-top-4xl\@xs {
    padding-top: var(--space-4xl);
  }
  .padding-right-4xl\@xs {
    padding-right: var(--space-4xl);
  }
  .padding-bottom-4xl\@xs {
    padding-bottom: var(--space-4xl);
  }
  .padding-left-4xl\@xs {
    padding-left: var(--space-4xl);
  }
  .padding-top-0\@xs {
    padding-top: 0;
  }
  .padding-right-0\@xs {
    padding-right: 0;
  }
  .padding-bottom-0\@xs {
    padding-bottom: 0;
  }
  .padding-left-0\@xs {
    padding-left: 0;
  }
  /* text-align */
  .text-center\@xs {
    text-align: center;
  }
  .text-left\@xs {
    text-align: left;
  }
  .text-right\@xs {
    text-align: right;
  }
  .text-justify\@xs {
    text-align: justify;
  }
  /* font-size */
  .text-xs\@xs {
    font-size: var(--text-xs);
  }
  .text-sm\@xs {
    font-size: var(--text-sm);
  }
  .text-base\@xs {
    font-size: var(--text-base);
  }
  .text-md\@xs {
    font-size: var(--text-md);
  }
  .text-lg\@xs {
    font-size: var(--text-lg);
  }
  .text-xl\@xs {
    font-size: var(--text-xl);
  }
  .text-2xl\@xs {
    font-size: var(--text-2xl);
  }
  .text-3xl\@xs {
    font-size: var(--text-3xl);
  }
  .text-4xl\@xs {
    font-size: var(--text-4xl);
  }
  /* column-count */
  .column-count-1\@xs {
    -moz-column-count: 1;
         column-count: 1;
  }
  .column-count-2\@xs {
    -moz-column-count: 2;
         column-count: 2;
  }
  .column-count-3\@xs {
    -moz-column-count: 3;
         column-count: 3;
  }
  .column-count-4\@xs {
    -moz-column-count: 4;
         column-count: 4;
  }
  /* width */
  .width-4xs\@xs {
    width: 0.25rem;
  }
  .width-3xs\@xs {
    width: 0.5rem;
  }
  .width-2xs\@xs {
    width: 0.75rem;
  }
  .width-xs\@xs {
    width: 1rem;
  }
  .width-sm\@xs {
    width: 1.5rem;
  }
  .width-md\@xs {
    width: 2rem;
  }
  .width-lg\@xs {
    width: 3rem;
  }
  .width-xl\@xs {
    width: 4rem;
  }
  .width-2xl\@xs {
    width: 6rem;
  }
  .width-3xl\@xs {
    width: 8rem;
  }
  .width-4xl\@xs {
    width: 16rem;
  }
  .width-0\@xs {
    width: 0;
  }
  .width-10\%\@xs {
    width: 10%;
  }
  .width-20\%\@xs {
    width: 20%;
  }
  .width-25\%\@xs {
    width: 25%;
  }
  .width-30\%\@xs {
    width: 30%;
  }
  .width-33\%\@xs {
    width: 33%;
  }
  .width-40\%\@xs {
    width: 40%;
  }
  .width-50\%\@xs {
    width: 50%;
  }
  .width-60\%\@xs {
    width: 60%;
  }
  .width-70\%\@xs {
    width: 70%;
  }
  .width-75\%\@xs {
    width: 75%;
  }
  .width-80\%\@xs {
    width: 80%;
  }
  .width-90\%\@xs {
    width: 90%;
  }
  .width-100\%\@xs {
    width: 100%;
  }
  .width-100\%\@xs {
    width: 100%;
  }
  .width-100vw\@xs {
    width: 100vw;
  }
  .width-auto\@xs {
    width: auto;
  }
  .width-inherit\@xs {
    width: inherit;
  }
  .width-0\@xs {
    width: 0;
  }
  /* height */
  .height-4xs\@xs {
    height: 0.25rem;
  }
  .height-3xs\@xs {
    height: 0.5rem;
  }
  .height-2xs\@xs {
    height: 0.75rem;
  }
  .height-xs\@xs {
    height: 1rem;
  }
  .height-sm\@xs {
    height: 1.5rem;
  }
  .height-md\@xs {
    height: 2rem;
  }
  .height-lg\@xs {
    height: 3rem;
  }
  .height-xl\@xs {
    height: 4rem;
  }
  .height-2xl\@xs {
    height: 6rem;
  }
  .height-3xl\@xs {
    height: 8rem;
  }
  .height-4xl\@xs {
    height: 16rem;
  }
  .height-0\@xs {
    height: 0;
  }
  .height-10\%\@xs {
    height: 10%;
  }
  .height-20\%\@xs {
    height: 20%;
  }
  .height-25\%\@xs {
    height: 25%;
  }
  .height-30\%\@xs {
    height: 30%;
  }
  .height-33\%\@xs {
    height: 33%;
  }
  .height-40\%\@xs {
    height: 40%;
  }
  .height-50\%\@xs {
    height: 50%;
  }
  .height-60\%\@xs {
    height: 60%;
  }
  .height-70\%\@xs {
    height: 70%;
  }
  .height-75\%\@xs {
    height: 75%;
  }
  .height-80\%\@xs {
    height: 80%;
  }
  .height-90\%\@xs {
    height: 90%;
  }
  .height-100\%\@xs {
    height: 100%;
  }
  .height-100\%\@xs {
    height: 100%;
  }
  .height-100vh\@xs {
    height: 100vh;
  }
  .height-auto\@xs {
    height: auto;
  }
  .height-inherit\@xs {
    height: inherit;
  }
  .height-0\@xs {
    height: 0;
  }
  /* max-width */
  .max-width-5xs\@xs {
    max-width: var(--max-width-5xs);
  }
  .max-width-4xs\@xs {
    max-width: var(--max-width-4xs);
  }
  .max-width-3xs\@xs {
    max-width: var(--max-width-3xs);
  }
  .max-width-2xs\@xs {
    max-width: var(--max-width-2xs);
  }
  .max-width-xs\@xs {
    max-width: var(--max-width-xs);
  }
  .max-width-sm\@xs {
    max-width: var(--max-width-sm);
  }
  .max-width-md\@xs {
    max-width: var(--max-width-md);
  }
  .max-width-lg\@xs {
    max-width: var(--max-width-lg);
  }
  .max-width-xl\@xs {
    max-width: var(--max-width-xl);
  }
  .max-width-2xl\@xs {
    max-width: var(--max-width-2xl);
  }
  .max-width-3xl\@xs {
    max-width: var(--max-width-3xl);
  }
  .max-width-4xl\@xs {
    max-width: var(--max-width-4xl);
  }
  .max-width-100\%\@xs {
    max-width: 100%;
  }
  .max-width-none\@xs {
    max-width: none;
  }
  /* position */
  .position-relative\@xs {
    position: relative;
  }
  .position-absolute\@xs {
    position: absolute;
  }
  .position-fixed\@xs {
    position: fixed;
  }
  .position-sticky\@xs {
    position: sticky;
  }
  .position-static\@xs {
    position: static;
  }
  .inset-0\@xs {
    inset: 0;
  }
  .top-4xs\@xs {
    top: var(--space-4xs);
  }
  .right-4xs\@xs {
    right: var(--space-4xs);
  }
  .bottom-4xs\@xs {
    bottom: var(--space-4xs);
  }
  .left-4xs\@xs {
    left: var(--space-4xs);
  }
  .top-3xs\@xs {
    top: var(--space-3xs);
  }
  .right-3xs\@xs {
    right: var(--space-3xs);
  }
  .bottom-3xs\@xs {
    bottom: var(--space-3xs);
  }
  .left-3xs\@xs {
    left: var(--space-3xs);
  }
  .top-2xs\@xs {
    top: var(--space-2xs);
  }
  .right-2xs\@xs {
    right: var(--space-2xs);
  }
  .bottom-2xs\@xs {
    bottom: var(--space-2xs);
  }
  .left-2xs\@xs {
    left: var(--space-2xs);
  }
  .top-xs\@xs {
    top: var(--space-xs);
  }
  .right-xs\@xs {
    right: var(--space-xs);
  }
  .bottom-xs\@xs {
    bottom: var(--space-xs);
  }
  .left-xs\@xs {
    left: var(--space-xs);
  }
  .top-sm\@xs {
    top: var(--space-sm);
  }
  .right-sm\@xs {
    right: var(--space-sm);
  }
  .bottom-sm\@xs {
    bottom: var(--space-sm);
  }
  .left-sm\@xs {
    left: var(--space-sm);
  }
  .top-md\@xs {
    top: var(--space-md);
  }
  .right-md\@xs {
    right: var(--space-md);
  }
  .bottom-md\@xs {
    bottom: var(--space-md);
  }
  .left-md\@xs {
    left: var(--space-md);
  }
  .top-lg\@xs {
    top: var(--space-lg);
  }
  .right-lg\@xs {
    right: var(--space-lg);
  }
  .bottom-lg\@xs {
    bottom: var(--space-lg);
  }
  .left-lg\@xs {
    left: var(--space-lg);
  }
  .top-xl\@xs {
    top: var(--space-xl);
  }
  .right-xl\@xs {
    right: var(--space-xl);
  }
  .bottom-xl\@xs {
    bottom: var(--space-xl);
  }
  .left-xl\@xs {
    left: var(--space-xl);
  }
  .top-2xl\@xs {
    top: var(--space-2xl);
  }
  .right-2xl\@xs {
    right: var(--space-2xl);
  }
  .bottom-2xl\@xs {
    bottom: var(--space-2xl);
  }
  .left-2xl\@xs {
    left: var(--space-2xl);
  }
  .top-3xl\@xs {
    top: var(--space-3xl);
  }
  .right-3xl\@xs {
    right: var(--space-3xl);
  }
  .bottom-3xl\@xs {
    bottom: var(--space-3xl);
  }
  .left-3xl\@xs {
    left: var(--space-3xl);
  }
  .top-4xl\@xs {
    top: var(--space-4xl);
  }
  .right-4xl\@xs {
    right: var(--space-4xl);
  }
  .bottom-4xl\@xs {
    bottom: var(--space-4xl);
  }
  .left-4xl\@xs {
    left: var(--space-4xl);
  }
  .top-50\%\@xs {
    top: 50%;
  }
  .top-auto\@xs {
    top: auto;
  }
  .top-0\@xs {
    top: 0;
  }
  .right-50\%\@xs {
    right: 50%;
  }
  .right-auto\@xs {
    right: auto;
  }
  .right-0\@xs {
    right: 0;
  }
  .bottom-50\%\@xs {
    bottom: 50%;
  }
  .bottom-auto\@xs {
    bottom: auto;
  }
  .bottom-0\@xs {
    bottom: 0;
  }
  .left-50\%\@xs {
    left: 50%;
  }
  .left-auto\@xs {
    left: auto;
  }
  .left-0\@xs {
    left: 0;
  }
  /* overflow */
  .overflow-visible\@xs {
    overflow: visible;
  }
  .overflow-hidden\@xs {
    overflow: hidden;
  }
  .overflow-auto\@xs {
    overflow: auto;
  }
  .momentum-scrolling\@xs {
    -webkit-overflow-scrolling: touch;
  }
  /* visibility */
  .visible\@xs {
    visibility: visible;
  }
  .invisible\@xs {
    visibility: hidden;
  }
}
@media not all and (min-width: 32rem) {
  .display\@xs {
    display: none !important;
  }
}
@media (min-width: 48rem) {
  /* grid */
  .grid-col-1\@sm {
    --grid-columns: 1;
  }
  .col-1\@sm {
    --column-span: 1;
  }
  .grid-col-2\@sm {
    --grid-columns: 2;
  }
  .col-2\@sm {
    --column-span: 2;
  }
  .grid-col-3\@sm {
    --grid-columns: 3;
  }
  .col-3\@sm {
    --column-span: 3;
  }
  .grid-col-4\@sm {
    --grid-columns: 4;
  }
  .col-4\@sm {
    --column-span: 4;
  }
  .grid-col-5\@sm {
    --grid-columns: 5;
  }
  .col-5\@sm {
    --column-span: 5;
  }
  .grid-col-6\@sm {
    --grid-columns: 6;
  }
  .col-6\@sm {
    --column-span: 6;
  }
  .grid-col-7\@sm {
    --grid-columns: 7;
  }
  .col-7\@sm {
    --column-span: 7;
  }
  .grid-col-8\@sm {
    --grid-columns: 8;
  }
  .col-8\@sm {
    --column-span: 8;
  }
  .grid-col-9\@sm {
    --grid-columns: 9;
  }
  .col-9\@sm {
    --column-span: 9;
  }
  .grid-col-10\@sm {
    --grid-columns: 10;
  }
  .col-10\@sm {
    --column-span: 10;
  }
  .grid-col-11\@sm {
    --grid-columns: 11;
  }
  .col-11\@sm {
    --column-span: 11;
  }
  .grid-col-12\@sm {
    --grid-columns: 12;
  }
  .col-12\@sm {
    --column-span: 12;
  }
  .col-1\@sm, .col-2\@sm, .col-3\@sm, .col-4\@sm, .col-5\@sm, .col-6\@sm, .col-7\@sm, .col-8\@sm, .col-9\@sm, .col-10\@sm, .col-11\@sm, .col-12\@sm {
    width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
    flex: initial;
  }
  .col\@sm {
    width: auto;
    flex: 1 1 0;
  }
  .col-content\@sm {
    width: auto;
    flex: 0 1 auto;
  }
  .offset-1\@sm {
    --column-offset: 1;
  }
  .offset-2\@sm {
    --column-offset: 2;
  }
  .offset-3\@sm {
    --column-offset: 3;
  }
  .offset-4\@sm {
    --column-offset: 4;
  }
  .offset-5\@sm {
    --column-offset: 5;
  }
  .offset-6\@sm {
    --column-offset: 6;
  }
  .offset-7\@sm {
    --column-offset: 7;
  }
  .offset-8\@sm {
    --column-offset: 8;
  }
  .offset-9\@sm {
    --column-offset: 9;
  }
  .offset-10\@sm {
    --column-offset: 10;
  }
  .offset-11\@sm {
    --column-offset: 11;
  }
  .offset-1\@sm, .offset-2\@sm, .offset-3\@sm, .offset-4\@sm, .offset-5\@sm, .offset-6\@sm, .offset-7\@sm, .offset-8\@sm, .offset-9\@sm, .offset-10\@sm, .offset-11\@sm {
    margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
  }
  .offset-0\@sm {
    margin-left: 0;
  }
  /* gap */
  .gap-4xs\@sm {
    --row-gap: var(--space-4xs);
    --column-gap: var(--space-4xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xs\@sm {
    --column-gap: var(--space-4xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xs\@sm {
    --row-gap: var(--space-4xs);
    row-gap: var(--row-gap);
  }
  .gap-3xs\@sm {
    --row-gap: var(--space-3xs);
    --column-gap: var(--space-3xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xs\@sm {
    --column-gap: var(--space-3xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xs\@sm {
    --row-gap: var(--space-3xs);
    row-gap: var(--row-gap);
  }
  .gap-2xs\@sm {
    --row-gap: var(--space-2xs);
    --column-gap: var(--space-2xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xs\@sm {
    --column-gap: var(--space-2xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xs\@sm {
    --row-gap: var(--space-2xs);
    row-gap: var(--row-gap);
  }
  .gap-xs\@sm {
    --row-gap: var(--space-xs);
    --column-gap: var(--space-xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xs\@sm {
    --column-gap: var(--space-xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xs\@sm {
    --row-gap: var(--space-xs);
    row-gap: var(--row-gap);
  }
  .gap-sm\@sm {
    --row-gap: var(--space-sm);
    --column-gap: var(--space-sm);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-sm\@sm {
    --column-gap: var(--space-sm);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-sm\@sm {
    --row-gap: var(--space-sm);
    row-gap: var(--row-gap);
  }
  .gap-md\@sm {
    --row-gap: var(--space-md);
    --column-gap: var(--space-md);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-md\@sm {
    --column-gap: var(--space-md);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-md\@sm {
    --row-gap: var(--space-md);
    row-gap: var(--row-gap);
  }
  .gap-lg\@sm {
    --row-gap: var(--space-lg);
    --column-gap: var(--space-lg);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-lg\@sm {
    --column-gap: var(--space-lg);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-lg\@sm {
    --row-gap: var(--space-lg);
    row-gap: var(--row-gap);
  }
  .gap-xl\@sm {
    --row-gap: var(--space-xl);
    --column-gap: var(--space-xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xl\@sm {
    --column-gap: var(--space-xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xl\@sm {
    --row-gap: var(--space-xl);
    row-gap: var(--row-gap);
  }
  .gap-2xl\@sm {
    --row-gap: var(--space-2xl);
    --column-gap: var(--space-2xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xl\@sm {
    --column-gap: var(--space-2xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xl\@sm {
    --row-gap: var(--space-2xl);
    row-gap: var(--row-gap);
  }
  .gap-3xl\@sm {
    --row-gap: var(--space-3xl);
    --column-gap: var(--space-3xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xl\@sm {
    --column-gap: var(--space-3xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xl\@sm {
    --row-gap: var(--space-3xl);
    row-gap: var(--row-gap);
  }
  .gap-4xl\@sm {
    --row-gap: var(--space-4xl);
    --column-gap: var(--space-4xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xl\@sm {
    --column-gap: var(--space-4xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xl\@sm {
    --row-gap: var(--space-4xl);
    row-gap: var(--row-gap);
  }
  .gap-0\@sm {
    --row-gap: 0px;
    --column-gap: 0px;
    gap: 0px;
  }
  .gap-x-0\@sm {
    --column-gap: 0px;
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
  .gap-y-0\@sm {
    --row-gap: 0px;
    row-gap: 0px;
  }
  /* flexbox */
  .flex\@sm {
    display: flex;
  }
  .inline-flex\@sm {
    display: inline-flex;
  }
  .flex-wrap\@sm {
    flex-wrap: wrap;
  }
  .flex-nowrap\@sm {
    flex-wrap: nowrap;
  }
  .flex-column\@sm {
    flex-direction: column;
  }
  .flex-column-reverse\@sm {
    flex-direction: column-reverse;
  }
  .flex-row\@sm {
    flex-direction: row;
  }
  .flex-row-reverse\@sm {
    flex-direction: row-reverse;
  }
  .flex-center\@sm {
    justify-content: center;
    align-items: center;
  }
  .flex-grow\@sm {
    flex-grow: 1;
  }
  .flex-grow-0\@sm {
    flex-grow: 0;
  }
  .flex-shrink\@sm {
    flex-shrink: 1;
  }
  .flex-shrink-0\@sm {
    flex-shrink: 0;
  }
  .flex-basis-0\@sm {
    flex-basis: 0;
  }
  /* justify-content */
  .justify-start\@sm {
    justify-content: start;
  }
  .justify-end\@sm {
    justify-content: end;
  }
  .justify-center\@sm {
    justify-content: center;
  }
  .justify-between\@sm {
    justify-content: space-between;
  }
  /* align-items */
  .items-center\@sm {
    align-items: center;
  }
  .items-start\@sm {
    align-items: start;
  }
  .items-end\@sm {
    align-items: end;
  }
  .items-baseline\@sm {
    align-items: baseline;
  }
  .items-stretch\@sm {
    align-items: stretch;
  }
  /* align-content */
  .content-start\@sm {
    align-content: start;
  }
  .content-end\@sm {
    align-content: end;
  }
  .content-center\@sm {
    align-content: center;
  }
  .content-between\@sm {
    align-content: space-between;
  }
  /* order */
  .order-1\@sm {
    order: 1;
  }
  .order-2\@sm {
    order: 2;
  }
  .order-3\@sm {
    order: 3;
  }
  /* display */
  .block\@sm {
    display: block;
  }
  .inline-block\@sm {
    display: inline-block;
  }
  .inline\@sm {
    display: inline;
  }
  .contents\@sm {
    display: contents;
  }
  .css-grid\@sm {
    display: grid;
  }
  .css-inline-grid\@sm {
    display: inline-grid;
  }
  .hide\@sm {
    display: none;
  }
  /* margin */
  .margin-4xs\@sm {
    margin: var(--space-4xs);
  }
  .margin-3xs\@sm {
    margin: var(--space-3xs);
  }
  .margin-2xs\@sm {
    margin: var(--space-2xs);
  }
  .margin-xs\@sm {
    margin: var(--space-xs);
  }
  .margin-sm\@sm {
    margin: var(--space-sm);
  }
  .margin-md\@sm {
    margin: var(--space-md);
  }
  .margin-lg\@sm {
    margin: var(--space-lg);
  }
  .margin-xl\@sm {
    margin: var(--space-xl);
  }
  .margin-2xl\@sm {
    margin: var(--space-2xl);
  }
  .margin-3xl\@sm {
    margin: var(--space-3xl);
  }
  .margin-4xl\@sm {
    margin: var(--space-4xl);
  }
  .margin-auto\@sm {
    margin: auto;
  }
  .margin-0\@sm {
    margin: 0;
  }
  .margin-y-4xs\@sm {
    margin-top: var(--space-4xs);
    margin-bottom: var(--space-4xs);
  }
  .margin-x-4xs\@sm {
    margin-right: var(--space-4xs);
    margin-left: var(--space-4xs);
  }
  .margin-y-3xs\@sm {
    margin-top: var(--space-3xs);
    margin-bottom: var(--space-3xs);
  }
  .margin-x-3xs\@sm {
    margin-right: var(--space-3xs);
    margin-left: var(--space-3xs);
  }
  .margin-y-2xs\@sm {
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
  }
  .margin-x-2xs\@sm {
    margin-right: var(--space-2xs);
    margin-left: var(--space-2xs);
  }
  .margin-y-xs\@sm {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
  }
  .margin-x-xs\@sm {
    margin-right: var(--space-xs);
    margin-left: var(--space-xs);
  }
  .margin-y-sm\@sm {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
  }
  .margin-x-sm\@sm {
    margin-right: var(--space-sm);
    margin-left: var(--space-sm);
  }
  .margin-y-md\@sm {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
  }
  .margin-x-md\@sm {
    margin-right: var(--space-md);
    margin-left: var(--space-md);
  }
  .margin-y-lg\@sm {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .margin-x-lg\@sm {
    margin-right: var(--space-lg);
    margin-left: var(--space-lg);
  }
  .margin-y-xl\@sm {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .margin-x-xl\@sm {
    margin-right: var(--space-xl);
    margin-left: var(--space-xl);
  }
  .margin-y-2xl\@sm {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
  }
  .margin-x-2xl\@sm {
    margin-right: var(--space-2xl);
    margin-left: var(--space-2xl);
  }
  .margin-y-3xl\@sm {
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-3xl);
  }
  .margin-x-3xl\@sm {
    margin-right: var(--space-3xl);
    margin-left: var(--space-3xl);
  }
  .margin-y-4xl\@sm {
    margin-top: var(--space-4xl);
    margin-bottom: var(--space-4xl);
  }
  .margin-x-4xl\@sm {
    margin-right: var(--space-4xl);
    margin-left: var(--space-4xl);
  }
  .margin-y-auto\@sm {
    margin-top: auto;
    margin-bottom: auto;
  }
  .margin-y-0\@sm {
    margin-top: 0;
    margin-bottom: 0;
  }
  .margin-x-auto\@sm {
    margin-left: auto;
    margin-right: auto;
  }
  .margin-x-0\@sm {
    margin-left: 0;
    margin-right: 0;
  }
  .margin-top-4xs\@sm {
    margin-top: var(--space-4xs);
  }
  .margin-right-4xs\@sm {
    margin-right: var(--space-4xs);
  }
  .margin-bottom-4xs\@sm {
    margin-bottom: var(--space-4xs);
  }
  .margin-left-4xs\@sm {
    margin-left: var(--space-4xs);
  }
  .margin-top-3xs\@sm {
    margin-top: var(--space-3xs);
  }
  .margin-right-3xs\@sm {
    margin-right: var(--space-3xs);
  }
  .margin-bottom-3xs\@sm {
    margin-bottom: var(--space-3xs);
  }
  .margin-left-3xs\@sm {
    margin-left: var(--space-3xs);
  }
  .margin-top-2xs\@sm {
    margin-top: var(--space-2xs);
  }
  .margin-right-2xs\@sm {
    margin-right: var(--space-2xs);
  }
  .margin-bottom-2xs\@sm {
    margin-bottom: var(--space-2xs);
  }
  .margin-left-2xs\@sm {
    margin-left: var(--space-2xs);
  }
  .margin-top-xs\@sm {
    margin-top: var(--space-xs);
  }
  .margin-right-xs\@sm {
    margin-right: var(--space-xs);
  }
  .margin-bottom-xs\@sm {
    margin-bottom: var(--space-xs);
  }
  .margin-left-xs\@sm {
    margin-left: var(--space-xs);
  }
  .margin-top-sm\@sm {
    margin-top: var(--space-sm);
  }
  .margin-right-sm\@sm {
    margin-right: var(--space-sm);
  }
  .margin-bottom-sm\@sm {
    margin-bottom: var(--space-sm);
  }
  .margin-left-sm\@sm {
    margin-left: var(--space-sm);
  }
  .margin-top-md\@sm {
    margin-top: var(--space-md);
  }
  .margin-right-md\@sm {
    margin-right: var(--space-md);
  }
  .margin-bottom-md\@sm {
    margin-bottom: var(--space-md);
  }
  .margin-left-md\@sm {
    margin-left: var(--space-md);
  }
  .margin-top-lg\@sm {
    margin-top: var(--space-lg);
  }
  .margin-right-lg\@sm {
    margin-right: var(--space-lg);
  }
  .margin-bottom-lg\@sm {
    margin-bottom: var(--space-lg);
  }
  .margin-left-lg\@sm {
    margin-left: var(--space-lg);
  }
  .margin-top-xl\@sm {
    margin-top: var(--space-xl);
  }
  .margin-right-xl\@sm {
    margin-right: var(--space-xl);
  }
  .margin-bottom-xl\@sm {
    margin-bottom: var(--space-xl);
  }
  .margin-left-xl\@sm {
    margin-left: var(--space-xl);
  }
  .margin-top-2xl\@sm {
    margin-top: var(--space-2xl);
  }
  .margin-right-2xl\@sm {
    margin-right: var(--space-2xl);
  }
  .margin-bottom-2xl\@sm {
    margin-bottom: var(--space-2xl);
  }
  .margin-left-2xl\@sm {
    margin-left: var(--space-2xl);
  }
  .margin-top-3xl\@sm {
    margin-top: var(--space-3xl);
  }
  .margin-right-3xl\@sm {
    margin-right: var(--space-3xl);
  }
  .margin-bottom-3xl\@sm {
    margin-bottom: var(--space-3xl);
  }
  .margin-left-3xl\@sm {
    margin-left: var(--space-3xl);
  }
  .margin-top-4xl\@sm {
    margin-top: var(--space-4xl);
  }
  .margin-right-4xl\@sm {
    margin-right: var(--space-4xl);
  }
  .margin-bottom-4xl\@sm {
    margin-bottom: var(--space-4xl);
  }
  .margin-left-4xl\@sm {
    margin-left: var(--space-4xl);
  }
  .margin-top-auto\@sm {
    margin-top: auto;
  }
  .margin-top-0\@sm {
    margin-top: 0;
  }
  .margin-right-auto\@sm {
    margin-right: auto;
  }
  .margin-right-0\@sm {
    margin-right: 0;
  }
  .margin-bottom-auto\@sm {
    margin-bottom: auto;
  }
  .margin-bottom-0\@sm {
    margin-bottom: 0;
  }
  .margin-left-auto\@sm {
    margin-left: auto;
  }
  .margin-left-0\@sm {
    margin-left: 0;
  }
  /* padding */
  .padding-4xs\@sm {
    padding: var(--space-4xs);
  }
  .padding-3xs\@sm {
    padding: var(--space-3xs);
  }
  .padding-2xs\@sm {
    padding: var(--space-2xs);
  }
  .padding-xs\@sm {
    padding: var(--space-xs);
  }
  .padding-sm\@sm {
    padding: var(--space-sm);
  }
  .padding-md\@sm {
    padding: var(--space-md);
  }
  .padding-lg\@sm {
    padding: var(--space-lg);
  }
  .padding-xl\@sm {
    padding: var(--space-xl);
  }
  .padding-2xl\@sm {
    padding: var(--space-2xl);
  }
  .padding-3xl\@sm {
    padding: var(--space-3xl);
  }
  .padding-4xl\@sm {
    padding: var(--space-4xl);
  }
  .padding-0\@sm {
    padding: 0;
  }
  .padding-y-4xs\@sm {
    padding-top: var(--space-4xs);
    padding-bottom: var(--space-4xs);
  }
  .padding-x-4xs\@sm {
    padding-right: var(--space-4xs);
    padding-left: var(--space-4xs);
  }
  .padding-y-3xs\@sm {
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-3xs);
  }
  .padding-x-3xs\@sm {
    padding-right: var(--space-3xs);
    padding-left: var(--space-3xs);
  }
  .padding-y-2xs\@sm {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  .padding-x-2xs\@sm {
    padding-right: var(--space-2xs);
    padding-left: var(--space-2xs);
  }
  .padding-y-xs\@sm {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
  .padding-x-xs\@sm {
    padding-right: var(--space-xs);
    padding-left: var(--space-xs);
  }
  .padding-y-sm\@sm {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  .padding-x-sm\@sm {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }
  .padding-y-md\@sm {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-x-md\@sm {
    padding-right: var(--space-md);
    padding-left: var(--space-md);
  }
  .padding-y-lg\@sm {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  .padding-x-lg\@sm {
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
  }
  .padding-y-xl\@sm {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .padding-x-xl\@sm {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }
  .padding-y-2xl\@sm {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .padding-x-2xl\@sm {
    padding-right: var(--space-2xl);
    padding-left: var(--space-2xl);
  }
  .padding-y-3xl\@sm {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .padding-x-3xl\@sm {
    padding-right: var(--space-3xl);
    padding-left: var(--space-3xl);
  }
  .padding-y-4xl\@sm {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .padding-x-4xl\@sm {
    padding-right: var(--space-4xl);
    padding-left: var(--space-4xl);
  }
  .padding-y-0\@sm {
    padding-top: 0;
    padding-bottom: 0;
  }
  .padding-x-0\@sm {
    padding-left: 0;
    padding-right: 0;
  }
  .padding-top-4xs\@sm {
    padding-top: var(--space-4xs);
  }
  .padding-right-4xs\@sm {
    padding-right: var(--space-4xs);
  }
  .padding-bottom-4xs\@sm {
    padding-bottom: var(--space-4xs);
  }
  .padding-left-4xs\@sm {
    padding-left: var(--space-4xs);
  }
  .padding-top-3xs\@sm {
    padding-top: var(--space-3xs);
  }
  .padding-right-3xs\@sm {
    padding-right: var(--space-3xs);
  }
  .padding-bottom-3xs\@sm {
    padding-bottom: var(--space-3xs);
  }
  .padding-left-3xs\@sm {
    padding-left: var(--space-3xs);
  }
  .padding-top-2xs\@sm {
    padding-top: var(--space-2xs);
  }
  .padding-right-2xs\@sm {
    padding-right: var(--space-2xs);
  }
  .padding-bottom-2xs\@sm {
    padding-bottom: var(--space-2xs);
  }
  .padding-left-2xs\@sm {
    padding-left: var(--space-2xs);
  }
  .padding-top-xs\@sm {
    padding-top: var(--space-xs);
  }
  .padding-right-xs\@sm {
    padding-right: var(--space-xs);
  }
  .padding-bottom-xs\@sm {
    padding-bottom: var(--space-xs);
  }
  .padding-left-xs\@sm {
    padding-left: var(--space-xs);
  }
  .padding-top-sm\@sm {
    padding-top: var(--space-sm);
  }
  .padding-right-sm\@sm {
    padding-right: var(--space-sm);
  }
  .padding-bottom-sm\@sm {
    padding-bottom: var(--space-sm);
  }
  .padding-left-sm\@sm {
    padding-left: var(--space-sm);
  }
  .padding-top-md\@sm {
    padding-top: var(--space-md);
  }
  .padding-right-md\@sm {
    padding-right: var(--space-md);
  }
  .padding-bottom-md\@sm {
    padding-bottom: var(--space-md);
  }
  .padding-left-md\@sm {
    padding-left: var(--space-md);
  }
  .padding-top-lg\@sm {
    padding-top: var(--space-lg);
  }
  .padding-right-lg\@sm {
    padding-right: var(--space-lg);
  }
  .padding-bottom-lg\@sm {
    padding-bottom: var(--space-lg);
  }
  .padding-left-lg\@sm {
    padding-left: var(--space-lg);
  }
  .padding-top-xl\@sm {
    padding-top: var(--space-xl);
  }
  .padding-right-xl\@sm {
    padding-right: var(--space-xl);
  }
  .padding-bottom-xl\@sm {
    padding-bottom: var(--space-xl);
  }
  .padding-left-xl\@sm {
    padding-left: var(--space-xl);
  }
  .padding-top-2xl\@sm {
    padding-top: var(--space-2xl);
  }
  .padding-right-2xl\@sm {
    padding-right: var(--space-2xl);
  }
  .padding-bottom-2xl\@sm {
    padding-bottom: var(--space-2xl);
  }
  .padding-left-2xl\@sm {
    padding-left: var(--space-2xl);
  }
  .padding-top-3xl\@sm {
    padding-top: var(--space-3xl);
  }
  .padding-right-3xl\@sm {
    padding-right: var(--space-3xl);
  }
  .padding-bottom-3xl\@sm {
    padding-bottom: var(--space-3xl);
  }
  .padding-left-3xl\@sm {
    padding-left: var(--space-3xl);
  }
  .padding-top-4xl\@sm {
    padding-top: var(--space-4xl);
  }
  .padding-right-4xl\@sm {
    padding-right: var(--space-4xl);
  }
  .padding-bottom-4xl\@sm {
    padding-bottom: var(--space-4xl);
  }
  .padding-left-4xl\@sm {
    padding-left: var(--space-4xl);
  }
  .padding-top-0\@sm {
    padding-top: 0;
  }
  .padding-right-0\@sm {
    padding-right: 0;
  }
  .padding-bottom-0\@sm {
    padding-bottom: 0;
  }
  .padding-left-0\@sm {
    padding-left: 0;
  }
  /* text-align */
  .text-center\@sm {
    text-align: center;
  }
  .text-left\@sm {
    text-align: left;
  }
  .text-right\@sm {
    text-align: right;
  }
  .text-justify\@sm {
    text-align: justify;
  }
  /* font-size */
  .text-xs\@sm {
    font-size: var(--text-xs);
  }
  .text-sm\@sm {
    font-size: var(--text-sm);
  }
  .text-base\@sm {
    font-size: var(--text-base);
  }
  .text-md\@sm {
    font-size: var(--text-md);
  }
  .text-lg\@sm {
    font-size: var(--text-lg);
  }
  .text-xl\@sm {
    font-size: var(--text-xl);
  }
  .text-2xl\@sm {
    font-size: var(--text-2xl);
  }
  .text-3xl\@sm {
    font-size: var(--text-3xl);
  }
  .text-4xl\@sm {
    font-size: var(--text-4xl);
  }
  /* column-count */
  .column-count-1\@sm {
    -moz-column-count: 1;
         column-count: 1;
  }
  .column-count-2\@sm {
    -moz-column-count: 2;
         column-count: 2;
  }
  .column-count-3\@sm {
    -moz-column-count: 3;
         column-count: 3;
  }
  .column-count-4\@sm {
    -moz-column-count: 4;
         column-count: 4;
  }
  /* width */
  .width-4xs\@sm {
    width: 0.25rem;
  }
  .width-3xs\@sm {
    width: 0.5rem;
  }
  .width-2xs\@sm {
    width: 0.75rem;
  }
  .width-xs\@sm {
    width: 1rem;
  }
  .width-sm\@sm {
    width: 1.5rem;
  }
  .width-md\@sm {
    width: 2rem;
  }
  .width-lg\@sm {
    width: 3rem;
  }
  .width-xl\@sm {
    width: 4rem;
  }
  .width-2xl\@sm {
    width: 6rem;
  }
  .width-3xl\@sm {
    width: 8rem;
  }
  .width-4xl\@sm {
    width: 16rem;
  }
  .width-0\@sm {
    width: 0;
  }
  .width-10\%\@sm {
    width: 10%;
  }
  .width-20\%\@sm {
    width: 20%;
  }
  .width-25\%\@sm {
    width: 25%;
  }
  .width-30\%\@sm {
    width: 30%;
  }
  .width-33\%\@sm {
    width: 33%;
  }
  .width-40\%\@sm {
    width: 40%;
  }
  .width-50\%\@sm {
    width: 50%;
  }
  .width-60\%\@sm {
    width: 60%;
  }
  .width-70\%\@sm {
    width: 70%;
  }
  .width-75\%\@sm {
    width: 75%;
  }
  .width-80\%\@sm {
    width: 80%;
  }
  .width-90\%\@sm {
    width: 90%;
  }
  .width-100\%\@sm {
    width: 100%;
  }
  .width-100\%\@sm {
    width: 100%;
  }
  .width-100vw\@sm {
    width: 100vw;
  }
  .width-auto\@sm {
    width: auto;
  }
  .width-inherit\@sm {
    width: inherit;
  }
  .width-0\@sm {
    width: 0;
  }
  /* height */
  .height-4xs\@sm {
    height: 0.25rem;
  }
  .height-3xs\@sm {
    height: 0.5rem;
  }
  .height-2xs\@sm {
    height: 0.75rem;
  }
  .height-xs\@sm {
    height: 1rem;
  }
  .height-sm\@sm {
    height: 1.5rem;
  }
  .height-md\@sm {
    height: 2rem;
  }
  .height-lg\@sm {
    height: 3rem;
  }
  .height-xl\@sm {
    height: 4rem;
  }
  .height-2xl\@sm {
    height: 6rem;
  }
  .height-3xl\@sm {
    height: 8rem;
  }
  .height-4xl\@sm {
    height: 16rem;
  }
  .height-0\@sm {
    height: 0;
  }
  .height-10\%\@sm {
    height: 10%;
  }
  .height-20\%\@sm {
    height: 20%;
  }
  .height-25\%\@sm {
    height: 25%;
  }
  .height-30\%\@sm {
    height: 30%;
  }
  .height-33\%\@sm {
    height: 33%;
  }
  .height-40\%\@sm {
    height: 40%;
  }
  .height-50\%\@sm {
    height: 50%;
  }
  .height-60\%\@sm {
    height: 60%;
  }
  .height-70\%\@sm {
    height: 70%;
  }
  .height-75\%\@sm {
    height: 75%;
  }
  .height-80\%\@sm {
    height: 80%;
  }
  .height-90\%\@sm {
    height: 90%;
  }
  .height-100\%\@sm {
    height: 100%;
  }
  .height-100\%\@sm {
    height: 100%;
  }
  .height-100vh\@sm {
    height: 100vh;
  }
  .height-auto\@sm {
    height: auto;
  }
  .height-inherit\@sm {
    height: inherit;
  }
  .height-0\@sm {
    height: 0;
  }
  /* max-width */
  .max-width-5xs\@sm {
    max-width: var(--max-width-5xs);
  }
  .max-width-4xs\@sm {
    max-width: var(--max-width-4xs);
  }
  .max-width-3xs\@sm {
    max-width: var(--max-width-3xs);
  }
  .max-width-2xs\@sm {
    max-width: var(--max-width-2xs);
  }
  .max-width-xs\@sm {
    max-width: var(--max-width-xs);
  }
  .max-width-sm\@sm {
    max-width: var(--max-width-sm);
  }
  .max-width-md\@sm {
    max-width: var(--max-width-md);
  }
  .max-width-lg\@sm {
    max-width: var(--max-width-lg);
  }
  .max-width-xl\@sm {
    max-width: var(--max-width-xl);
  }
  .max-width-2xl\@sm {
    max-width: var(--max-width-2xl);
  }
  .max-width-3xl\@sm {
    max-width: var(--max-width-3xl);
  }
  .max-width-4xl\@sm {
    max-width: var(--max-width-4xl);
  }
  .max-width-100\%\@sm {
    max-width: 100%;
  }
  .max-width-none\@sm {
    max-width: none;
  }
  /* position */
  .position-relative\@sm {
    position: relative;
  }
  .position-absolute\@sm {
    position: absolute;
  }
  .position-fixed\@sm {
    position: fixed;
  }
  .position-sticky\@sm {
    position: sticky;
  }
  .position-static\@sm {
    position: static;
  }
  .inset-0\@sm {
    inset: 0;
  }
  .top-4xs\@sm {
    top: var(--space-4xs);
  }
  .right-4xs\@sm {
    right: var(--space-4xs);
  }
  .bottom-4xs\@sm {
    bottom: var(--space-4xs);
  }
  .left-4xs\@sm {
    left: var(--space-4xs);
  }
  .top-3xs\@sm {
    top: var(--space-3xs);
  }
  .right-3xs\@sm {
    right: var(--space-3xs);
  }
  .bottom-3xs\@sm {
    bottom: var(--space-3xs);
  }
  .left-3xs\@sm {
    left: var(--space-3xs);
  }
  .top-2xs\@sm {
    top: var(--space-2xs);
  }
  .right-2xs\@sm {
    right: var(--space-2xs);
  }
  .bottom-2xs\@sm {
    bottom: var(--space-2xs);
  }
  .left-2xs\@sm {
    left: var(--space-2xs);
  }
  .top-xs\@sm {
    top: var(--space-xs);
  }
  .right-xs\@sm {
    right: var(--space-xs);
  }
  .bottom-xs\@sm {
    bottom: var(--space-xs);
  }
  .left-xs\@sm {
    left: var(--space-xs);
  }
  .top-sm\@sm {
    top: var(--space-sm);
  }
  .right-sm\@sm {
    right: var(--space-sm);
  }
  .bottom-sm\@sm {
    bottom: var(--space-sm);
  }
  .left-sm\@sm {
    left: var(--space-sm);
  }
  .top-md\@sm {
    top: var(--space-md);
  }
  .right-md\@sm {
    right: var(--space-md);
  }
  .bottom-md\@sm {
    bottom: var(--space-md);
  }
  .left-md\@sm {
    left: var(--space-md);
  }
  .top-lg\@sm {
    top: var(--space-lg);
  }
  .right-lg\@sm {
    right: var(--space-lg);
  }
  .bottom-lg\@sm {
    bottom: var(--space-lg);
  }
  .left-lg\@sm {
    left: var(--space-lg);
  }
  .top-xl\@sm {
    top: var(--space-xl);
  }
  .right-xl\@sm {
    right: var(--space-xl);
  }
  .bottom-xl\@sm {
    bottom: var(--space-xl);
  }
  .left-xl\@sm {
    left: var(--space-xl);
  }
  .top-2xl\@sm {
    top: var(--space-2xl);
  }
  .right-2xl\@sm {
    right: var(--space-2xl);
  }
  .bottom-2xl\@sm {
    bottom: var(--space-2xl);
  }
  .left-2xl\@sm {
    left: var(--space-2xl);
  }
  .top-3xl\@sm {
    top: var(--space-3xl);
  }
  .right-3xl\@sm {
    right: var(--space-3xl);
  }
  .bottom-3xl\@sm {
    bottom: var(--space-3xl);
  }
  .left-3xl\@sm {
    left: var(--space-3xl);
  }
  .top-4xl\@sm {
    top: var(--space-4xl);
  }
  .right-4xl\@sm {
    right: var(--space-4xl);
  }
  .bottom-4xl\@sm {
    bottom: var(--space-4xl);
  }
  .left-4xl\@sm {
    left: var(--space-4xl);
  }
  .top-50\%\@sm {
    top: 50%;
  }
  .top-auto\@sm {
    top: auto;
  }
  .top-0\@sm {
    top: 0;
  }
  .right-50\%\@sm {
    right: 50%;
  }
  .right-auto\@sm {
    right: auto;
  }
  .right-0\@sm {
    right: 0;
  }
  .bottom-50\%\@sm {
    bottom: 50%;
  }
  .bottom-auto\@sm {
    bottom: auto;
  }
  .bottom-0\@sm {
    bottom: 0;
  }
  .left-50\%\@sm {
    left: 50%;
  }
  .left-auto\@sm {
    left: auto;
  }
  .left-0\@sm {
    left: 0;
  }
  /* overflow */
  .overflow-visible\@sm {
    overflow: visible;
  }
  .overflow-hidden\@sm {
    overflow: hidden;
  }
  .overflow-auto\@sm {
    overflow: auto;
  }
  .momentum-scrolling\@sm {
    -webkit-overflow-scrolling: touch;
  }
  /* visibility */
  .visible\@sm {
    visibility: visible;
  }
  .invisible\@sm {
    visibility: hidden;
  }
}
@media not all and (min-width: 48rem) {
  .display\@sm {
    display: none !important;
  }
}
@media (min-width: 64rem) {
  :root {
    /* font-size */
    --text-xs: 0.72rem;
    --text-sm: 0.9rem;
    --text-base: 1.125rem;
    --text-md: 1.406rem;
    --text-lg: 1.758rem;
    --text-xl: 2.197rem;
    --text-2xl: 2.746rem;
    --text-3xl: 3.434rem;
    --text-4xl: 4.292rem;
  }
  /* grid */
  .grid-col-1\@md {
    --grid-columns: 1;
  }
  .col-1\@md {
    --column-span: 1;
  }
  .grid-col-2\@md {
    --grid-columns: 2;
  }
  .col-2\@md {
    --column-span: 2;
  }
  .grid-col-3\@md {
    --grid-columns: 3;
  }
  .col-3\@md {
    --column-span: 3;
  }
  .grid-col-4\@md {
    --grid-columns: 4;
  }
  .col-4\@md {
    --column-span: 4;
  }
  .grid-col-5\@md {
    --grid-columns: 5;
  }
  .col-5\@md {
    --column-span: 5;
  }
  .grid-col-6\@md {
    --grid-columns: 6;
  }
  .col-6\@md {
    --column-span: 6;
  }
  .grid-col-7\@md {
    --grid-columns: 7;
  }
  .col-7\@md {
    --column-span: 7;
  }
  .grid-col-8\@md {
    --grid-columns: 8;
  }
  .col-8\@md {
    --column-span: 8;
  }
  .grid-col-9\@md {
    --grid-columns: 9;
  }
  .col-9\@md {
    --column-span: 9;
  }
  .grid-col-10\@md {
    --grid-columns: 10;
  }
  .col-10\@md {
    --column-span: 10;
  }
  .grid-col-11\@md {
    --grid-columns: 11;
  }
  .col-11\@md {
    --column-span: 11;
  }
  .grid-col-12\@md {
    --grid-columns: 12;
  }
  .col-12\@md {
    --column-span: 12;
  }
  .col-1\@md, .col-2\@md, .col-3\@md, .col-4\@md, .col-5\@md, .col-6\@md, .col-7\@md, .col-8\@md, .col-9\@md, .col-10\@md, .col-11\@md, .col-12\@md {
    width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
    flex: initial;
  }
  .col\@md {
    width: auto;
    flex: 1 1 0;
  }
  .col-content\@md {
    width: auto;
    flex: 0 1 auto;
  }
  .offset-1\@md {
    --column-offset: 1;
  }
  .offset-2\@md {
    --column-offset: 2;
  }
  .offset-3\@md {
    --column-offset: 3;
  }
  .offset-4\@md {
    --column-offset: 4;
  }
  .offset-5\@md {
    --column-offset: 5;
  }
  .offset-6\@md {
    --column-offset: 6;
  }
  .offset-7\@md {
    --column-offset: 7;
  }
  .offset-8\@md {
    --column-offset: 8;
  }
  .offset-9\@md {
    --column-offset: 9;
  }
  .offset-10\@md {
    --column-offset: 10;
  }
  .offset-11\@md {
    --column-offset: 11;
  }
  .offset-1\@md, .offset-2\@md, .offset-3\@md, .offset-4\@md, .offset-5\@md, .offset-6\@md, .offset-7\@md, .offset-8\@md, .offset-9\@md, .offset-10\@md, .offset-11\@md {
    margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
  }
  .offset-0\@md {
    margin-left: 0;
  }
  /* gap */
  .gap-4xs\@md {
    --row-gap: var(--space-4xs);
    --column-gap: var(--space-4xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xs\@md {
    --column-gap: var(--space-4xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xs\@md {
    --row-gap: var(--space-4xs);
    row-gap: var(--row-gap);
  }
  .gap-3xs\@md {
    --row-gap: var(--space-3xs);
    --column-gap: var(--space-3xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xs\@md {
    --column-gap: var(--space-3xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xs\@md {
    --row-gap: var(--space-3xs);
    row-gap: var(--row-gap);
  }
  .gap-2xs\@md {
    --row-gap: var(--space-2xs);
    --column-gap: var(--space-2xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xs\@md {
    --column-gap: var(--space-2xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xs\@md {
    --row-gap: var(--space-2xs);
    row-gap: var(--row-gap);
  }
  .gap-xs\@md {
    --row-gap: var(--space-xs);
    --column-gap: var(--space-xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xs\@md {
    --column-gap: var(--space-xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xs\@md {
    --row-gap: var(--space-xs);
    row-gap: var(--row-gap);
  }
  .gap-sm\@md {
    --row-gap: var(--space-sm);
    --column-gap: var(--space-sm);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-sm\@md {
    --column-gap: var(--space-sm);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-sm\@md {
    --row-gap: var(--space-sm);
    row-gap: var(--row-gap);
  }
  .gap-md\@md {
    --row-gap: var(--space-md);
    --column-gap: var(--space-md);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-md\@md {
    --column-gap: var(--space-md);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-md\@md {
    --row-gap: var(--space-md);
    row-gap: var(--row-gap);
  }
  .gap-lg\@md {
    --row-gap: var(--space-lg);
    --column-gap: var(--space-lg);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-lg\@md {
    --column-gap: var(--space-lg);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-lg\@md {
    --row-gap: var(--space-lg);
    row-gap: var(--row-gap);
  }
  .gap-xl\@md {
    --row-gap: var(--space-xl);
    --column-gap: var(--space-xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xl\@md {
    --column-gap: var(--space-xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xl\@md {
    --row-gap: var(--space-xl);
    row-gap: var(--row-gap);
  }
  .gap-2xl\@md {
    --row-gap: var(--space-2xl);
    --column-gap: var(--space-2xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xl\@md {
    --column-gap: var(--space-2xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xl\@md {
    --row-gap: var(--space-2xl);
    row-gap: var(--row-gap);
  }
  .gap-3xl\@md {
    --row-gap: var(--space-3xl);
    --column-gap: var(--space-3xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xl\@md {
    --column-gap: var(--space-3xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xl\@md {
    --row-gap: var(--space-3xl);
    row-gap: var(--row-gap);
  }
  .gap-4xl\@md {
    --row-gap: var(--space-4xl);
    --column-gap: var(--space-4xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xl\@md {
    --column-gap: var(--space-4xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xl\@md {
    --row-gap: var(--space-4xl);
    row-gap: var(--row-gap);
  }
  .gap-0\@md {
    --row-gap: 0px;
    --column-gap: 0px;
    gap: 0px;
  }
  .gap-x-0\@md {
    --column-gap: 0px;
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
  .gap-y-0\@md {
    --row-gap: 0px;
    row-gap: 0px;
  }
  /* flexbox */
  .flex\@md {
    display: flex;
  }
  .inline-flex\@md {
    display: inline-flex;
  }
  .flex-wrap\@md {
    flex-wrap: wrap;
  }
  .flex-nowrap\@md {
    flex-wrap: nowrap;
  }
  .flex-column\@md {
    flex-direction: column;
  }
  .flex-column-reverse\@md {
    flex-direction: column-reverse;
  }
  .flex-row\@md {
    flex-direction: row;
  }
  .flex-row-reverse\@md {
    flex-direction: row-reverse;
  }
  .flex-center\@md {
    justify-content: center;
    align-items: center;
  }
  .flex-grow\@md {
    flex-grow: 1;
  }
  .flex-grow-0\@md {
    flex-grow: 0;
  }
  .flex-shrink\@md {
    flex-shrink: 1;
  }
  .flex-shrink-0\@md {
    flex-shrink: 0;
  }
  .flex-basis-0\@md {
    flex-basis: 0;
  }
  /* justify-content */
  .justify-start\@md {
    justify-content: start;
  }
  .justify-end\@md {
    justify-content: end;
  }
  .justify-center\@md {
    justify-content: center;
  }
  .justify-between\@md {
    justify-content: space-between;
  }
  /* align-items */
  .items-center\@md {
    align-items: center;
  }
  .items-start\@md {
    align-items: start;
  }
  .items-end\@md {
    align-items: end;
  }
  .items-baseline\@md {
    align-items: baseline;
  }
  .items-stretch\@md {
    align-items: stretch;
  }
  /* align-content */
  .content-start\@md {
    align-content: start;
  }
  .content-end\@md {
    align-content: end;
  }
  .content-center\@md {
    align-content: center;
  }
  .content-between\@md {
    align-content: space-between;
  }
  /* order */
  .order-1\@md {
    order: 1;
  }
  .order-2\@md {
    order: 2;
  }
  .order-3\@md {
    order: 3;
  }
  /* display */
  .block\@md {
    display: block;
  }
  .inline-block\@md {
    display: inline-block;
  }
  .inline\@md {
    display: inline;
  }
  .contents\@md {
    display: contents;
  }
  .css-grid\@md {
    display: grid;
  }
  .css-inline-grid\@md {
    display: inline-grid;
  }
  .hide\@md {
    display: none;
  }
  /* margin */
  .margin-4xs\@md {
    margin: var(--space-4xs);
  }
  .margin-3xs\@md {
    margin: var(--space-3xs);
  }
  .margin-2xs\@md {
    margin: var(--space-2xs);
  }
  .margin-xs\@md {
    margin: var(--space-xs);
  }
  .margin-sm\@md {
    margin: var(--space-sm);
  }
  .margin-md\@md {
    margin: var(--space-md);
  }
  .margin-lg\@md {
    margin: var(--space-lg);
  }
  .margin-xl\@md {
    margin: var(--space-xl);
  }
  .margin-2xl\@md {
    margin: var(--space-2xl);
  }
  .margin-3xl\@md {
    margin: var(--space-3xl);
  }
  .margin-4xl\@md {
    margin: var(--space-4xl);
  }
  .margin-auto\@md {
    margin: auto;
  }
  .margin-0\@md {
    margin: 0;
  }
  .margin-y-4xs\@md {
    margin-top: var(--space-4xs);
    margin-bottom: var(--space-4xs);
  }
  .margin-x-4xs\@md {
    margin-right: var(--space-4xs);
    margin-left: var(--space-4xs);
  }
  .margin-y-3xs\@md {
    margin-top: var(--space-3xs);
    margin-bottom: var(--space-3xs);
  }
  .margin-x-3xs\@md {
    margin-right: var(--space-3xs);
    margin-left: var(--space-3xs);
  }
  .margin-y-2xs\@md {
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
  }
  .margin-x-2xs\@md {
    margin-right: var(--space-2xs);
    margin-left: var(--space-2xs);
  }
  .margin-y-xs\@md {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
  }
  .margin-x-xs\@md {
    margin-right: var(--space-xs);
    margin-left: var(--space-xs);
  }
  .margin-y-sm\@md {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
  }
  .margin-x-sm\@md {
    margin-right: var(--space-sm);
    margin-left: var(--space-sm);
  }
  .margin-y-md\@md {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
  }
  .margin-x-md\@md {
    margin-right: var(--space-md);
    margin-left: var(--space-md);
  }
  .margin-y-lg\@md {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .margin-x-lg\@md {
    margin-right: var(--space-lg);
    margin-left: var(--space-lg);
  }
  .margin-y-xl\@md {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .margin-x-xl\@md {
    margin-right: var(--space-xl);
    margin-left: var(--space-xl);
  }
  .margin-y-2xl\@md {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
  }
  .margin-x-2xl\@md {
    margin-right: var(--space-2xl);
    margin-left: var(--space-2xl);
  }
  .margin-y-3xl\@md {
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-3xl);
  }
  .margin-x-3xl\@md {
    margin-right: var(--space-3xl);
    margin-left: var(--space-3xl);
  }
  .margin-y-4xl\@md {
    margin-top: var(--space-4xl);
    margin-bottom: var(--space-4xl);
  }
  .margin-x-4xl\@md {
    margin-right: var(--space-4xl);
    margin-left: var(--space-4xl);
  }
  .margin-y-auto\@md {
    margin-top: auto;
    margin-bottom: auto;
  }
  .margin-y-0\@md {
    margin-top: 0;
    margin-bottom: 0;
  }
  .margin-x-auto\@md {
    margin-left: auto;
    margin-right: auto;
  }
  .margin-x-0\@md {
    margin-left: 0;
    margin-right: 0;
  }
  .margin-top-4xs\@md {
    margin-top: var(--space-4xs);
  }
  .margin-right-4xs\@md {
    margin-right: var(--space-4xs);
  }
  .margin-bottom-4xs\@md {
    margin-bottom: var(--space-4xs);
  }
  .margin-left-4xs\@md {
    margin-left: var(--space-4xs);
  }
  .margin-top-3xs\@md {
    margin-top: var(--space-3xs);
  }
  .margin-right-3xs\@md {
    margin-right: var(--space-3xs);
  }
  .margin-bottom-3xs\@md {
    margin-bottom: var(--space-3xs);
  }
  .margin-left-3xs\@md {
    margin-left: var(--space-3xs);
  }
  .margin-top-2xs\@md {
    margin-top: var(--space-2xs);
  }
  .margin-right-2xs\@md {
    margin-right: var(--space-2xs);
  }
  .margin-bottom-2xs\@md {
    margin-bottom: var(--space-2xs);
  }
  .margin-left-2xs\@md {
    margin-left: var(--space-2xs);
  }
  .margin-top-xs\@md {
    margin-top: var(--space-xs);
  }
  .margin-right-xs\@md {
    margin-right: var(--space-xs);
  }
  .margin-bottom-xs\@md {
    margin-bottom: var(--space-xs);
  }
  .margin-left-xs\@md {
    margin-left: var(--space-xs);
  }
  .margin-top-sm\@md {
    margin-top: var(--space-sm);
  }
  .margin-right-sm\@md {
    margin-right: var(--space-sm);
  }
  .margin-bottom-sm\@md {
    margin-bottom: var(--space-sm);
  }
  .margin-left-sm\@md {
    margin-left: var(--space-sm);
  }
  .margin-top-md\@md {
    margin-top: var(--space-md);
  }
  .margin-right-md\@md {
    margin-right: var(--space-md);
  }
  .margin-bottom-md\@md {
    margin-bottom: var(--space-md);
  }
  .margin-left-md\@md {
    margin-left: var(--space-md);
  }
  .margin-top-lg\@md {
    margin-top: var(--space-lg);
  }
  .margin-right-lg\@md {
    margin-right: var(--space-lg);
  }
  .margin-bottom-lg\@md {
    margin-bottom: var(--space-lg);
  }
  .margin-left-lg\@md {
    margin-left: var(--space-lg);
  }
  .margin-top-xl\@md {
    margin-top: var(--space-xl);
  }
  .margin-right-xl\@md {
    margin-right: var(--space-xl);
  }
  .margin-bottom-xl\@md {
    margin-bottom: var(--space-xl);
  }
  .margin-left-xl\@md {
    margin-left: var(--space-xl);
  }
  .margin-top-2xl\@md {
    margin-top: var(--space-2xl);
  }
  .margin-right-2xl\@md {
    margin-right: var(--space-2xl);
  }
  .margin-bottom-2xl\@md {
    margin-bottom: var(--space-2xl);
  }
  .margin-left-2xl\@md {
    margin-left: var(--space-2xl);
  }
  .margin-top-3xl\@md {
    margin-top: var(--space-3xl);
  }
  .margin-right-3xl\@md {
    margin-right: var(--space-3xl);
  }
  .margin-bottom-3xl\@md {
    margin-bottom: var(--space-3xl);
  }
  .margin-left-3xl\@md {
    margin-left: var(--space-3xl);
  }
  .margin-top-4xl\@md {
    margin-top: var(--space-4xl);
  }
  .margin-right-4xl\@md {
    margin-right: var(--space-4xl);
  }
  .margin-bottom-4xl\@md {
    margin-bottom: var(--space-4xl);
  }
  .margin-left-4xl\@md {
    margin-left: var(--space-4xl);
  }
  .margin-top-auto\@md {
    margin-top: auto;
  }
  .margin-top-0\@md {
    margin-top: 0;
  }
  .margin-right-auto\@md {
    margin-right: auto;
  }
  .margin-right-0\@md {
    margin-right: 0;
  }
  .margin-bottom-auto\@md {
    margin-bottom: auto;
  }
  .margin-bottom-0\@md {
    margin-bottom: 0;
  }
  .margin-left-auto\@md {
    margin-left: auto;
  }
  .margin-left-0\@md {
    margin-left: 0;
  }
  /* padding */
  .padding-4xs\@md {
    padding: var(--space-4xs);
  }
  .padding-3xs\@md {
    padding: var(--space-3xs);
  }
  .padding-2xs\@md {
    padding: var(--space-2xs);
  }
  .padding-xs\@md {
    padding: var(--space-xs);
  }
  .padding-sm\@md {
    padding: var(--space-sm);
  }
  .padding-md\@md {
    padding: var(--space-md);
  }
  .padding-lg\@md {
    padding: var(--space-lg);
  }
  .padding-xl\@md {
    padding: var(--space-xl);
  }
  .padding-2xl\@md {
    padding: var(--space-2xl);
  }
  .padding-3xl\@md {
    padding: var(--space-3xl);
  }
  .padding-4xl\@md {
    padding: var(--space-4xl);
  }
  .padding-0\@md {
    padding: 0;
  }
  .padding-y-4xs\@md {
    padding-top: var(--space-4xs);
    padding-bottom: var(--space-4xs);
  }
  .padding-x-4xs\@md {
    padding-right: var(--space-4xs);
    padding-left: var(--space-4xs);
  }
  .padding-y-3xs\@md {
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-3xs);
  }
  .padding-x-3xs\@md {
    padding-right: var(--space-3xs);
    padding-left: var(--space-3xs);
  }
  .padding-y-2xs\@md {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  .padding-x-2xs\@md {
    padding-right: var(--space-2xs);
    padding-left: var(--space-2xs);
  }
  .padding-y-xs\@md {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
  .padding-x-xs\@md {
    padding-right: var(--space-xs);
    padding-left: var(--space-xs);
  }
  .padding-y-sm\@md {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  .padding-x-sm\@md {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }
  .padding-y-md\@md {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-x-md\@md {
    padding-right: var(--space-md);
    padding-left: var(--space-md);
  }
  .padding-y-lg\@md {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  .padding-x-lg\@md {
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
  }
  .padding-y-xl\@md {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .padding-x-xl\@md {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }
  .padding-y-2xl\@md {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .padding-x-2xl\@md {
    padding-right: var(--space-2xl);
    padding-left: var(--space-2xl);
  }
  .padding-y-3xl\@md {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .padding-x-3xl\@md {
    padding-right: var(--space-3xl);
    padding-left: var(--space-3xl);
  }
  .padding-y-4xl\@md {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .padding-x-4xl\@md {
    padding-right: var(--space-4xl);
    padding-left: var(--space-4xl);
  }
  .padding-y-0\@md {
    padding-top: 0;
    padding-bottom: 0;
  }
  .padding-x-0\@md {
    padding-left: 0;
    padding-right: 0;
  }
  .padding-top-4xs\@md {
    padding-top: var(--space-4xs);
  }
  .padding-right-4xs\@md {
    padding-right: var(--space-4xs);
  }
  .padding-bottom-4xs\@md {
    padding-bottom: var(--space-4xs);
  }
  .padding-left-4xs\@md {
    padding-left: var(--space-4xs);
  }
  .padding-top-3xs\@md {
    padding-top: var(--space-3xs);
  }
  .padding-right-3xs\@md {
    padding-right: var(--space-3xs);
  }
  .padding-bottom-3xs\@md {
    padding-bottom: var(--space-3xs);
  }
  .padding-left-3xs\@md {
    padding-left: var(--space-3xs);
  }
  .padding-top-2xs\@md {
    padding-top: var(--space-2xs);
  }
  .padding-right-2xs\@md {
    padding-right: var(--space-2xs);
  }
  .padding-bottom-2xs\@md {
    padding-bottom: var(--space-2xs);
  }
  .padding-left-2xs\@md {
    padding-left: var(--space-2xs);
  }
  .padding-top-xs\@md {
    padding-top: var(--space-xs);
  }
  .padding-right-xs\@md {
    padding-right: var(--space-xs);
  }
  .padding-bottom-xs\@md {
    padding-bottom: var(--space-xs);
  }
  .padding-left-xs\@md {
    padding-left: var(--space-xs);
  }
  .padding-top-sm\@md {
    padding-top: var(--space-sm);
  }
  .padding-right-sm\@md {
    padding-right: var(--space-sm);
  }
  .padding-bottom-sm\@md {
    padding-bottom: var(--space-sm);
  }
  .padding-left-sm\@md {
    padding-left: var(--space-sm);
  }
  .padding-top-md\@md {
    padding-top: var(--space-md);
  }
  .padding-right-md\@md {
    padding-right: var(--space-md);
  }
  .padding-bottom-md\@md {
    padding-bottom: var(--space-md);
  }
  .padding-left-md\@md {
    padding-left: var(--space-md);
  }
  .padding-top-lg\@md {
    padding-top: var(--space-lg);
  }
  .padding-right-lg\@md {
    padding-right: var(--space-lg);
  }
  .padding-bottom-lg\@md {
    padding-bottom: var(--space-lg);
  }
  .padding-left-lg\@md {
    padding-left: var(--space-lg);
  }
  .padding-top-xl\@md {
    padding-top: var(--space-xl);
  }
  .padding-right-xl\@md {
    padding-right: var(--space-xl);
  }
  .padding-bottom-xl\@md {
    padding-bottom: var(--space-xl);
  }
  .padding-left-xl\@md {
    padding-left: var(--space-xl);
  }
  .padding-top-2xl\@md {
    padding-top: var(--space-2xl);
  }
  .padding-right-2xl\@md {
    padding-right: var(--space-2xl);
  }
  .padding-bottom-2xl\@md {
    padding-bottom: var(--space-2xl);
  }
  .padding-left-2xl\@md {
    padding-left: var(--space-2xl);
  }
  .padding-top-3xl\@md {
    padding-top: var(--space-3xl);
  }
  .padding-right-3xl\@md {
    padding-right: var(--space-3xl);
  }
  .padding-bottom-3xl\@md {
    padding-bottom: var(--space-3xl);
  }
  .padding-left-3xl\@md {
    padding-left: var(--space-3xl);
  }
  .padding-top-4xl\@md {
    padding-top: var(--space-4xl);
  }
  .padding-right-4xl\@md {
    padding-right: var(--space-4xl);
  }
  .padding-bottom-4xl\@md {
    padding-bottom: var(--space-4xl);
  }
  .padding-left-4xl\@md {
    padding-left: var(--space-4xl);
  }
  .padding-top-0\@md {
    padding-top: 0;
  }
  .padding-right-0\@md {
    padding-right: 0;
  }
  .padding-bottom-0\@md {
    padding-bottom: 0;
  }
  .padding-left-0\@md {
    padding-left: 0;
  }
  /* text-align */
  .text-center\@md {
    text-align: center;
  }
  .text-left\@md {
    text-align: left;
  }
  .text-right\@md {
    text-align: right;
  }
  .text-justify\@md {
    text-align: justify;
  }
  /* font-size */
  .text-xs\@md {
    font-size: var(--text-xs);
  }
  .text-sm\@md {
    font-size: var(--text-sm);
  }
  .text-base\@md {
    font-size: var(--text-base);
  }
  .text-md\@md {
    font-size: var(--text-md);
  }
  .text-lg\@md {
    font-size: var(--text-lg);
  }
  .text-xl\@md {
    font-size: var(--text-xl);
  }
  .text-2xl\@md {
    font-size: var(--text-2xl);
  }
  .text-3xl\@md {
    font-size: var(--text-3xl);
  }
  .text-4xl\@md {
    font-size: var(--text-4xl);
  }
  /* column-count */
  .column-count-1\@md {
    -moz-column-count: 1;
         column-count: 1;
  }
  .column-count-2\@md {
    -moz-column-count: 2;
         column-count: 2;
  }
  .column-count-3\@md {
    -moz-column-count: 3;
         column-count: 3;
  }
  .column-count-4\@md {
    -moz-column-count: 4;
         column-count: 4;
  }
  /* width */
  .width-4xs\@md {
    width: 0.25rem;
  }
  .width-3xs\@md {
    width: 0.5rem;
  }
  .width-2xs\@md {
    width: 0.75rem;
  }
  .width-xs\@md {
    width: 1rem;
  }
  .width-sm\@md {
    width: 1.5rem;
  }
  .width-md\@md {
    width: 2rem;
  }
  .width-lg\@md {
    width: 3rem;
  }
  .width-xl\@md {
    width: 4rem;
  }
  .width-2xl\@md {
    width: 6rem;
  }
  .width-3xl\@md {
    width: 8rem;
  }
  .width-4xl\@md {
    width: 16rem;
  }
  .width-0\@md {
    width: 0;
  }
  .width-10\%\@md {
    width: 10%;
  }
  .width-20\%\@md {
    width: 20%;
  }
  .width-25\%\@md {
    width: 25%;
  }
  .width-30\%\@md {
    width: 30%;
  }
  .width-33\%\@md {
    width: 33%;
  }
  .width-40\%\@md {
    width: 40%;
  }
  .width-50\%\@md {
    width: 50%;
  }
  .width-60\%\@md {
    width: 60%;
  }
  .width-70\%\@md {
    width: 70%;
  }
  .width-75\%\@md {
    width: 75%;
  }
  .width-80\%\@md {
    width: 80%;
  }
  .width-90\%\@md {
    width: 90%;
  }
  .width-100\%\@md {
    width: 100%;
  }
  .width-100\%\@md {
    width: 100%;
  }
  .width-100vw\@md {
    width: 100vw;
  }
  .width-auto\@md {
    width: auto;
  }
  .width-inherit\@md {
    width: inherit;
  }
  .width-0\@md {
    width: 0;
  }
  /* height */
  .height-4xs\@md {
    height: 0.25rem;
  }
  .height-3xs\@md {
    height: 0.5rem;
  }
  .height-2xs\@md {
    height: 0.75rem;
  }
  .height-xs\@md {
    height: 1rem;
  }
  .height-sm\@md {
    height: 1.5rem;
  }
  .height-md\@md {
    height: 2rem;
  }
  .height-lg\@md {
    height: 3rem;
  }
  .height-xl\@md {
    height: 4rem;
  }
  .height-2xl\@md {
    height: 6rem;
  }
  .height-3xl\@md {
    height: 8rem;
  }
  .height-4xl\@md {
    height: 16rem;
  }
  .height-0\@md {
    height: 0;
  }
  .height-10\%\@md {
    height: 10%;
  }
  .height-20\%\@md {
    height: 20%;
  }
  .height-25\%\@md {
    height: 25%;
  }
  .height-30\%\@md {
    height: 30%;
  }
  .height-33\%\@md {
    height: 33%;
  }
  .height-40\%\@md {
    height: 40%;
  }
  .height-50\%\@md {
    height: 50%;
  }
  .height-60\%\@md {
    height: 60%;
  }
  .height-70\%\@md {
    height: 70%;
  }
  .height-75\%\@md {
    height: 75%;
  }
  .height-80\%\@md {
    height: 80%;
  }
  .height-90\%\@md {
    height: 90%;
  }
  .height-100\%\@md {
    height: 100%;
  }
  .height-100\%\@md {
    height: 100%;
  }
  .height-100vh\@md {
    height: 100vh;
  }
  .height-auto\@md {
    height: auto;
  }
  .height-inherit\@md {
    height: inherit;
  }
  .height-0\@md {
    height: 0;
  }
  /* max-width */
  .max-width-5xs\@md {
    max-width: var(--max-width-5xs);
  }
  .max-width-4xs\@md {
    max-width: var(--max-width-4xs);
  }
  .max-width-3xs\@md {
    max-width: var(--max-width-3xs);
  }
  .max-width-2xs\@md {
    max-width: var(--max-width-2xs);
  }
  .max-width-xs\@md {
    max-width: var(--max-width-xs);
  }
  .max-width-sm\@md {
    max-width: var(--max-width-sm);
  }
  .max-width-md\@md {
    max-width: var(--max-width-md);
  }
  .max-width-lg\@md {
    max-width: var(--max-width-lg);
  }
  .max-width-xl\@md {
    max-width: var(--max-width-xl);
  }
  .max-width-2xl\@md {
    max-width: var(--max-width-2xl);
  }
  .max-width-3xl\@md {
    max-width: var(--max-width-3xl);
  }
  .max-width-4xl\@md {
    max-width: var(--max-width-4xl);
  }
  .max-width-100\%\@md {
    max-width: 100%;
  }
  .max-width-none\@md {
    max-width: none;
  }
  /* position */
  .position-relative\@md {
    position: relative;
  }
  .position-absolute\@md {
    position: absolute;
  }
  .position-fixed\@md {
    position: fixed;
  }
  .position-sticky\@md {
    position: sticky;
  }
  .position-static\@md {
    position: static;
  }
  .inset-0\@md {
    inset: 0;
  }
  .top-4xs\@md {
    top: var(--space-4xs);
  }
  .right-4xs\@md {
    right: var(--space-4xs);
  }
  .bottom-4xs\@md {
    bottom: var(--space-4xs);
  }
  .left-4xs\@md {
    left: var(--space-4xs);
  }
  .top-3xs\@md {
    top: var(--space-3xs);
  }
  .right-3xs\@md {
    right: var(--space-3xs);
  }
  .bottom-3xs\@md {
    bottom: var(--space-3xs);
  }
  .left-3xs\@md {
    left: var(--space-3xs);
  }
  .top-2xs\@md {
    top: var(--space-2xs);
  }
  .right-2xs\@md {
    right: var(--space-2xs);
  }
  .bottom-2xs\@md {
    bottom: var(--space-2xs);
  }
  .left-2xs\@md {
    left: var(--space-2xs);
  }
  .top-xs\@md {
    top: var(--space-xs);
  }
  .right-xs\@md {
    right: var(--space-xs);
  }
  .bottom-xs\@md {
    bottom: var(--space-xs);
  }
  .left-xs\@md {
    left: var(--space-xs);
  }
  .top-sm\@md {
    top: var(--space-sm);
  }
  .right-sm\@md {
    right: var(--space-sm);
  }
  .bottom-sm\@md {
    bottom: var(--space-sm);
  }
  .left-sm\@md {
    left: var(--space-sm);
  }
  .top-md\@md {
    top: var(--space-md);
  }
  .right-md\@md {
    right: var(--space-md);
  }
  .bottom-md\@md {
    bottom: var(--space-md);
  }
  .left-md\@md {
    left: var(--space-md);
  }
  .top-lg\@md {
    top: var(--space-lg);
  }
  .right-lg\@md {
    right: var(--space-lg);
  }
  .bottom-lg\@md {
    bottom: var(--space-lg);
  }
  .left-lg\@md {
    left: var(--space-lg);
  }
  .top-xl\@md {
    top: var(--space-xl);
  }
  .right-xl\@md {
    right: var(--space-xl);
  }
  .bottom-xl\@md {
    bottom: var(--space-xl);
  }
  .left-xl\@md {
    left: var(--space-xl);
  }
  .top-2xl\@md {
    top: var(--space-2xl);
  }
  .right-2xl\@md {
    right: var(--space-2xl);
  }
  .bottom-2xl\@md {
    bottom: var(--space-2xl);
  }
  .left-2xl\@md {
    left: var(--space-2xl);
  }
  .top-3xl\@md {
    top: var(--space-3xl);
  }
  .right-3xl\@md {
    right: var(--space-3xl);
  }
  .bottom-3xl\@md {
    bottom: var(--space-3xl);
  }
  .left-3xl\@md {
    left: var(--space-3xl);
  }
  .top-4xl\@md {
    top: var(--space-4xl);
  }
  .right-4xl\@md {
    right: var(--space-4xl);
  }
  .bottom-4xl\@md {
    bottom: var(--space-4xl);
  }
  .left-4xl\@md {
    left: var(--space-4xl);
  }
  .top-50\%\@md {
    top: 50%;
  }
  .top-auto\@md {
    top: auto;
  }
  .top-0\@md {
    top: 0;
  }
  .right-50\%\@md {
    right: 50%;
  }
  .right-auto\@md {
    right: auto;
  }
  .right-0\@md {
    right: 0;
  }
  .bottom-50\%\@md {
    bottom: 50%;
  }
  .bottom-auto\@md {
    bottom: auto;
  }
  .bottom-0\@md {
    bottom: 0;
  }
  .left-50\%\@md {
    left: 50%;
  }
  .left-auto\@md {
    left: auto;
  }
  .left-0\@md {
    left: 0;
  }
  /* overflow */
  .overflow-visible\@md {
    overflow: visible;
  }
  .overflow-hidden\@md {
    overflow: hidden;
  }
  .overflow-auto\@md {
    overflow: auto;
  }
  .momentum-scrolling\@md {
    -webkit-overflow-scrolling: touch;
  }
  /* visibility */
  .visible\@md {
    visibility: visible;
  }
  .invisible\@md {
    visibility: hidden;
  }
}
@media not all and (min-width: 64rem) {
  .display\@md {
    display: none !important;
  }
}
@media (min-width: 80rem) {
  /* grid */
  .grid-col-1\@lg {
    --grid-columns: 1;
  }
  .col-1\@lg {
    --column-span: 1;
  }
  .grid-col-2\@lg {
    --grid-columns: 2;
  }
  .col-2\@lg {
    --column-span: 2;
  }
  .grid-col-3\@lg {
    --grid-columns: 3;
  }
  .col-3\@lg {
    --column-span: 3;
  }
  .grid-col-4\@lg {
    --grid-columns: 4;
  }
  .col-4\@lg {
    --column-span: 4;
  }
  .grid-col-5\@lg {
    --grid-columns: 5;
  }
  .col-5\@lg {
    --column-span: 5;
  }
  .grid-col-6\@lg {
    --grid-columns: 6;
  }
  .col-6\@lg {
    --column-span: 6;
  }
  .grid-col-7\@lg {
    --grid-columns: 7;
  }
  .col-7\@lg {
    --column-span: 7;
  }
  .grid-col-8\@lg {
    --grid-columns: 8;
  }
  .col-8\@lg {
    --column-span: 8;
  }
  .grid-col-9\@lg {
    --grid-columns: 9;
  }
  .col-9\@lg {
    --column-span: 9;
  }
  .grid-col-10\@lg {
    --grid-columns: 10;
  }
  .col-10\@lg {
    --column-span: 10;
  }
  .grid-col-11\@lg {
    --grid-columns: 11;
  }
  .col-11\@lg {
    --column-span: 11;
  }
  .grid-col-12\@lg {
    --grid-columns: 12;
  }
  .col-12\@lg {
    --column-span: 12;
  }
  .col-1\@lg, .col-2\@lg, .col-3\@lg, .col-4\@lg, .col-5\@lg, .col-6\@lg, .col-7\@lg, .col-8\@lg, .col-9\@lg, .col-10\@lg, .col-11\@lg, .col-12\@lg {
    width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
    flex: initial;
  }
  .col\@lg {
    width: auto;
    flex: 1 1 0;
  }
  .col-content\@lg {
    width: auto;
    flex: 0 1 auto;
  }
  .offset-1\@lg {
    --column-offset: 1;
  }
  .offset-2\@lg {
    --column-offset: 2;
  }
  .offset-3\@lg {
    --column-offset: 3;
  }
  .offset-4\@lg {
    --column-offset: 4;
  }
  .offset-5\@lg {
    --column-offset: 5;
  }
  .offset-6\@lg {
    --column-offset: 6;
  }
  .offset-7\@lg {
    --column-offset: 7;
  }
  .offset-8\@lg {
    --column-offset: 8;
  }
  .offset-9\@lg {
    --column-offset: 9;
  }
  .offset-10\@lg {
    --column-offset: 10;
  }
  .offset-11\@lg {
    --column-offset: 11;
  }
  .offset-1\@lg, .offset-2\@lg, .offset-3\@lg, .offset-4\@lg, .offset-5\@lg, .offset-6\@lg, .offset-7\@lg, .offset-8\@lg, .offset-9\@lg, .offset-10\@lg, .offset-11\@lg {
    margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
  }
  .offset-0\@lg {
    margin-left: 0;
  }
  /* gap */
  .gap-4xs\@lg {
    --row-gap: var(--space-4xs);
    --column-gap: var(--space-4xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xs\@lg {
    --column-gap: var(--space-4xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xs\@lg {
    --row-gap: var(--space-4xs);
    row-gap: var(--row-gap);
  }
  .gap-3xs\@lg {
    --row-gap: var(--space-3xs);
    --column-gap: var(--space-3xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xs\@lg {
    --column-gap: var(--space-3xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xs\@lg {
    --row-gap: var(--space-3xs);
    row-gap: var(--row-gap);
  }
  .gap-2xs\@lg {
    --row-gap: var(--space-2xs);
    --column-gap: var(--space-2xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xs\@lg {
    --column-gap: var(--space-2xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xs\@lg {
    --row-gap: var(--space-2xs);
    row-gap: var(--row-gap);
  }
  .gap-xs\@lg {
    --row-gap: var(--space-xs);
    --column-gap: var(--space-xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xs\@lg {
    --column-gap: var(--space-xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xs\@lg {
    --row-gap: var(--space-xs);
    row-gap: var(--row-gap);
  }
  .gap-sm\@lg {
    --row-gap: var(--space-sm);
    --column-gap: var(--space-sm);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-sm\@lg {
    --column-gap: var(--space-sm);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-sm\@lg {
    --row-gap: var(--space-sm);
    row-gap: var(--row-gap);
  }
  .gap-md\@lg {
    --row-gap: var(--space-md);
    --column-gap: var(--space-md);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-md\@lg {
    --column-gap: var(--space-md);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-md\@lg {
    --row-gap: var(--space-md);
    row-gap: var(--row-gap);
  }
  .gap-lg\@lg {
    --row-gap: var(--space-lg);
    --column-gap: var(--space-lg);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-lg\@lg {
    --column-gap: var(--space-lg);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-lg\@lg {
    --row-gap: var(--space-lg);
    row-gap: var(--row-gap);
  }
  .gap-xl\@lg {
    --row-gap: var(--space-xl);
    --column-gap: var(--space-xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xl\@lg {
    --column-gap: var(--space-xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xl\@lg {
    --row-gap: var(--space-xl);
    row-gap: var(--row-gap);
  }
  .gap-2xl\@lg {
    --row-gap: var(--space-2xl);
    --column-gap: var(--space-2xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xl\@lg {
    --column-gap: var(--space-2xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xl\@lg {
    --row-gap: var(--space-2xl);
    row-gap: var(--row-gap);
  }
  .gap-3xl\@lg {
    --row-gap: var(--space-3xl);
    --column-gap: var(--space-3xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xl\@lg {
    --column-gap: var(--space-3xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xl\@lg {
    --row-gap: var(--space-3xl);
    row-gap: var(--row-gap);
  }
  .gap-4xl\@lg {
    --row-gap: var(--space-4xl);
    --column-gap: var(--space-4xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xl\@lg {
    --column-gap: var(--space-4xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xl\@lg {
    --row-gap: var(--space-4xl);
    row-gap: var(--row-gap);
  }
  .gap-0\@lg {
    --row-gap: 0px;
    --column-gap: 0px;
    gap: 0px;
  }
  .gap-x-0\@lg {
    --column-gap: 0px;
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
  .gap-y-0\@lg {
    --row-gap: 0px;
    row-gap: 0px;
  }
  /* flexbox */
  .flex\@lg {
    display: flex;
  }
  .inline-flex\@lg {
    display: inline-flex;
  }
  .flex-wrap\@lg {
    flex-wrap: wrap;
  }
  .flex-nowrap\@lg {
    flex-wrap: nowrap;
  }
  .flex-column\@lg {
    flex-direction: column;
  }
  .flex-column-reverse\@lg {
    flex-direction: column-reverse;
  }
  .flex-row\@lg {
    flex-direction: row;
  }
  .flex-row-reverse\@lg {
    flex-direction: row-reverse;
  }
  .flex-center\@lg {
    justify-content: center;
    align-items: center;
  }
  .flex-grow\@lg {
    flex-grow: 1;
  }
  .flex-grow-0\@lg {
    flex-grow: 0;
  }
  .flex-shrink\@lg {
    flex-shrink: 1;
  }
  .flex-shrink-0\@lg {
    flex-shrink: 0;
  }
  .flex-basis-0\@lg {
    flex-basis: 0;
  }
  /* justify-content */
  .justify-start\@lg {
    justify-content: start;
  }
  .justify-end\@lg {
    justify-content: end;
  }
  .justify-center\@lg {
    justify-content: center;
  }
  .justify-between\@lg {
    justify-content: space-between;
  }
  /* align-items */
  .items-center\@lg {
    align-items: center;
  }
  .items-start\@lg {
    align-items: start;
  }
  .items-end\@lg {
    align-items: end;
  }
  .items-baseline\@lg {
    align-items: baseline;
  }
  .items-stretch\@lg {
    align-items: stretch;
  }
  /* align-content */
  .content-start\@lg {
    align-content: start;
  }
  .content-end\@lg {
    align-content: end;
  }
  .content-center\@lg {
    align-content: center;
  }
  .content-between\@lg {
    align-content: space-between;
  }
  /* order */
  .order-1\@lg {
    order: 1;
  }
  .order-2\@lg {
    order: 2;
  }
  .order-3\@lg {
    order: 3;
  }
  /* display */
  .block\@lg {
    display: block;
  }
  .inline-block\@lg {
    display: inline-block;
  }
  .inline\@lg {
    display: inline;
  }
  .contents\@lg {
    display: contents;
  }
  .css-grid\@lg {
    display: grid;
  }
  .css-inline-grid\@lg {
    display: inline-grid;
  }
  .hide\@lg {
    display: none;
  }
  /* margin */
  .margin-4xs\@lg {
    margin: var(--space-4xs);
  }
  .margin-3xs\@lg {
    margin: var(--space-3xs);
  }
  .margin-2xs\@lg {
    margin: var(--space-2xs);
  }
  .margin-xs\@lg {
    margin: var(--space-xs);
  }
  .margin-sm\@lg {
    margin: var(--space-sm);
  }
  .margin-md\@lg {
    margin: var(--space-md);
  }
  .margin-lg\@lg {
    margin: var(--space-lg);
  }
  .margin-xl\@lg {
    margin: var(--space-xl);
  }
  .margin-2xl\@lg {
    margin: var(--space-2xl);
  }
  .margin-3xl\@lg {
    margin: var(--space-3xl);
  }
  .margin-4xl\@lg {
    margin: var(--space-4xl);
  }
  .margin-auto\@lg {
    margin: auto;
  }
  .margin-0\@lg {
    margin: 0;
  }
  .margin-y-4xs\@lg {
    margin-top: var(--space-4xs);
    margin-bottom: var(--space-4xs);
  }
  .margin-x-4xs\@lg {
    margin-right: var(--space-4xs);
    margin-left: var(--space-4xs);
  }
  .margin-y-3xs\@lg {
    margin-top: var(--space-3xs);
    margin-bottom: var(--space-3xs);
  }
  .margin-x-3xs\@lg {
    margin-right: var(--space-3xs);
    margin-left: var(--space-3xs);
  }
  .margin-y-2xs\@lg {
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
  }
  .margin-x-2xs\@lg {
    margin-right: var(--space-2xs);
    margin-left: var(--space-2xs);
  }
  .margin-y-xs\@lg {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
  }
  .margin-x-xs\@lg {
    margin-right: var(--space-xs);
    margin-left: var(--space-xs);
  }
  .margin-y-sm\@lg {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
  }
  .margin-x-sm\@lg {
    margin-right: var(--space-sm);
    margin-left: var(--space-sm);
  }
  .margin-y-md\@lg {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
  }
  .margin-x-md\@lg {
    margin-right: var(--space-md);
    margin-left: var(--space-md);
  }
  .margin-y-lg\@lg {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .margin-x-lg\@lg {
    margin-right: var(--space-lg);
    margin-left: var(--space-lg);
  }
  .margin-y-xl\@lg {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .margin-x-xl\@lg {
    margin-right: var(--space-xl);
    margin-left: var(--space-xl);
  }
  .margin-y-2xl\@lg {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
  }
  .margin-x-2xl\@lg {
    margin-right: var(--space-2xl);
    margin-left: var(--space-2xl);
  }
  .margin-y-3xl\@lg {
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-3xl);
  }
  .margin-x-3xl\@lg {
    margin-right: var(--space-3xl);
    margin-left: var(--space-3xl);
  }
  .margin-y-4xl\@lg {
    margin-top: var(--space-4xl);
    margin-bottom: var(--space-4xl);
  }
  .margin-x-4xl\@lg {
    margin-right: var(--space-4xl);
    margin-left: var(--space-4xl);
  }
  .margin-y-auto\@lg {
    margin-top: auto;
    margin-bottom: auto;
  }
  .margin-y-0\@lg {
    margin-top: 0;
    margin-bottom: 0;
  }
  .margin-x-auto\@lg {
    margin-left: auto;
    margin-right: auto;
  }
  .margin-x-0\@lg {
    margin-left: 0;
    margin-right: 0;
  }
  .margin-top-4xs\@lg {
    margin-top: var(--space-4xs);
  }
  .margin-right-4xs\@lg {
    margin-right: var(--space-4xs);
  }
  .margin-bottom-4xs\@lg {
    margin-bottom: var(--space-4xs);
  }
  .margin-left-4xs\@lg {
    margin-left: var(--space-4xs);
  }
  .margin-top-3xs\@lg {
    margin-top: var(--space-3xs);
  }
  .margin-right-3xs\@lg {
    margin-right: var(--space-3xs);
  }
  .margin-bottom-3xs\@lg {
    margin-bottom: var(--space-3xs);
  }
  .margin-left-3xs\@lg {
    margin-left: var(--space-3xs);
  }
  .margin-top-2xs\@lg {
    margin-top: var(--space-2xs);
  }
  .margin-right-2xs\@lg {
    margin-right: var(--space-2xs);
  }
  .margin-bottom-2xs\@lg {
    margin-bottom: var(--space-2xs);
  }
  .margin-left-2xs\@lg {
    margin-left: var(--space-2xs);
  }
  .margin-top-xs\@lg {
    margin-top: var(--space-xs);
  }
  .margin-right-xs\@lg {
    margin-right: var(--space-xs);
  }
  .margin-bottom-xs\@lg {
    margin-bottom: var(--space-xs);
  }
  .margin-left-xs\@lg {
    margin-left: var(--space-xs);
  }
  .margin-top-sm\@lg {
    margin-top: var(--space-sm);
  }
  .margin-right-sm\@lg {
    margin-right: var(--space-sm);
  }
  .margin-bottom-sm\@lg {
    margin-bottom: var(--space-sm);
  }
  .margin-left-sm\@lg {
    margin-left: var(--space-sm);
  }
  .margin-top-md\@lg {
    margin-top: var(--space-md);
  }
  .margin-right-md\@lg {
    margin-right: var(--space-md);
  }
  .margin-bottom-md\@lg {
    margin-bottom: var(--space-md);
  }
  .margin-left-md\@lg {
    margin-left: var(--space-md);
  }
  .margin-top-lg\@lg {
    margin-top: var(--space-lg);
  }
  .margin-right-lg\@lg {
    margin-right: var(--space-lg);
  }
  .margin-bottom-lg\@lg {
    margin-bottom: var(--space-lg);
  }
  .margin-left-lg\@lg {
    margin-left: var(--space-lg);
  }
  .margin-top-xl\@lg {
    margin-top: var(--space-xl);
  }
  .margin-right-xl\@lg {
    margin-right: var(--space-xl);
  }
  .margin-bottom-xl\@lg {
    margin-bottom: var(--space-xl);
  }
  .margin-left-xl\@lg {
    margin-left: var(--space-xl);
  }
  .margin-top-2xl\@lg {
    margin-top: var(--space-2xl);
  }
  .margin-right-2xl\@lg {
    margin-right: var(--space-2xl);
  }
  .margin-bottom-2xl\@lg {
    margin-bottom: var(--space-2xl);
  }
  .margin-left-2xl\@lg {
    margin-left: var(--space-2xl);
  }
  .margin-top-3xl\@lg {
    margin-top: var(--space-3xl);
  }
  .margin-right-3xl\@lg {
    margin-right: var(--space-3xl);
  }
  .margin-bottom-3xl\@lg {
    margin-bottom: var(--space-3xl);
  }
  .margin-left-3xl\@lg {
    margin-left: var(--space-3xl);
  }
  .margin-top-4xl\@lg {
    margin-top: var(--space-4xl);
  }
  .margin-right-4xl\@lg {
    margin-right: var(--space-4xl);
  }
  .margin-bottom-4xl\@lg {
    margin-bottom: var(--space-4xl);
  }
  .margin-left-4xl\@lg {
    margin-left: var(--space-4xl);
  }
  .margin-top-auto\@lg {
    margin-top: auto;
  }
  .margin-top-0\@lg {
    margin-top: 0;
  }
  .margin-right-auto\@lg {
    margin-right: auto;
  }
  .margin-right-0\@lg {
    margin-right: 0;
  }
  .margin-bottom-auto\@lg {
    margin-bottom: auto;
  }
  .margin-bottom-0\@lg {
    margin-bottom: 0;
  }
  .margin-left-auto\@lg {
    margin-left: auto;
  }
  .margin-left-0\@lg {
    margin-left: 0;
  }
  /* padding */
  .padding-4xs\@lg {
    padding: var(--space-4xs);
  }
  .padding-3xs\@lg {
    padding: var(--space-3xs);
  }
  .padding-2xs\@lg {
    padding: var(--space-2xs);
  }
  .padding-xs\@lg {
    padding: var(--space-xs);
  }
  .padding-sm\@lg {
    padding: var(--space-sm);
  }
  .padding-md\@lg {
    padding: var(--space-md);
  }
  .padding-lg\@lg {
    padding: var(--space-lg);
  }
  .padding-xl\@lg {
    padding: var(--space-xl);
  }
  .padding-2xl\@lg {
    padding: var(--space-2xl);
  }
  .padding-3xl\@lg {
    padding: var(--space-3xl);
  }
  .padding-4xl\@lg {
    padding: var(--space-4xl);
  }
  .padding-0\@lg {
    padding: 0;
  }
  .padding-y-4xs\@lg {
    padding-top: var(--space-4xs);
    padding-bottom: var(--space-4xs);
  }
  .padding-x-4xs\@lg {
    padding-right: var(--space-4xs);
    padding-left: var(--space-4xs);
  }
  .padding-y-3xs\@lg {
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-3xs);
  }
  .padding-x-3xs\@lg {
    padding-right: var(--space-3xs);
    padding-left: var(--space-3xs);
  }
  .padding-y-2xs\@lg {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  .padding-x-2xs\@lg {
    padding-right: var(--space-2xs);
    padding-left: var(--space-2xs);
  }
  .padding-y-xs\@lg {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
  .padding-x-xs\@lg {
    padding-right: var(--space-xs);
    padding-left: var(--space-xs);
  }
  .padding-y-sm\@lg {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  .padding-x-sm\@lg {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }
  .padding-y-md\@lg {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-x-md\@lg {
    padding-right: var(--space-md);
    padding-left: var(--space-md);
  }
  .padding-y-lg\@lg {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  .padding-x-lg\@lg {
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
  }
  .padding-y-xl\@lg {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .padding-x-xl\@lg {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }
  .padding-y-2xl\@lg {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .padding-x-2xl\@lg {
    padding-right: var(--space-2xl);
    padding-left: var(--space-2xl);
  }
  .padding-y-3xl\@lg {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .padding-x-3xl\@lg {
    padding-right: var(--space-3xl);
    padding-left: var(--space-3xl);
  }
  .padding-y-4xl\@lg {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .padding-x-4xl\@lg {
    padding-right: var(--space-4xl);
    padding-left: var(--space-4xl);
  }
  .padding-y-0\@lg {
    padding-top: 0;
    padding-bottom: 0;
  }
  .padding-x-0\@lg {
    padding-left: 0;
    padding-right: 0;
  }
  .padding-top-4xs\@lg {
    padding-top: var(--space-4xs);
  }
  .padding-right-4xs\@lg {
    padding-right: var(--space-4xs);
  }
  .padding-bottom-4xs\@lg {
    padding-bottom: var(--space-4xs);
  }
  .padding-left-4xs\@lg {
    padding-left: var(--space-4xs);
  }
  .padding-top-3xs\@lg {
    padding-top: var(--space-3xs);
  }
  .padding-right-3xs\@lg {
    padding-right: var(--space-3xs);
  }
  .padding-bottom-3xs\@lg {
    padding-bottom: var(--space-3xs);
  }
  .padding-left-3xs\@lg {
    padding-left: var(--space-3xs);
  }
  .padding-top-2xs\@lg {
    padding-top: var(--space-2xs);
  }
  .padding-right-2xs\@lg {
    padding-right: var(--space-2xs);
  }
  .padding-bottom-2xs\@lg {
    padding-bottom: var(--space-2xs);
  }
  .padding-left-2xs\@lg {
    padding-left: var(--space-2xs);
  }
  .padding-top-xs\@lg {
    padding-top: var(--space-xs);
  }
  .padding-right-xs\@lg {
    padding-right: var(--space-xs);
  }
  .padding-bottom-xs\@lg {
    padding-bottom: var(--space-xs);
  }
  .padding-left-xs\@lg {
    padding-left: var(--space-xs);
  }
  .padding-top-sm\@lg {
    padding-top: var(--space-sm);
  }
  .padding-right-sm\@lg {
    padding-right: var(--space-sm);
  }
  .padding-bottom-sm\@lg {
    padding-bottom: var(--space-sm);
  }
  .padding-left-sm\@lg {
    padding-left: var(--space-sm);
  }
  .padding-top-md\@lg {
    padding-top: var(--space-md);
  }
  .padding-right-md\@lg {
    padding-right: var(--space-md);
  }
  .padding-bottom-md\@lg {
    padding-bottom: var(--space-md);
  }
  .padding-left-md\@lg {
    padding-left: var(--space-md);
  }
  .padding-top-lg\@lg {
    padding-top: var(--space-lg);
  }
  .padding-right-lg\@lg {
    padding-right: var(--space-lg);
  }
  .padding-bottom-lg\@lg {
    padding-bottom: var(--space-lg);
  }
  .padding-left-lg\@lg {
    padding-left: var(--space-lg);
  }
  .padding-top-xl\@lg {
    padding-top: var(--space-xl);
  }
  .padding-right-xl\@lg {
    padding-right: var(--space-xl);
  }
  .padding-bottom-xl\@lg {
    padding-bottom: var(--space-xl);
  }
  .padding-left-xl\@lg {
    padding-left: var(--space-xl);
  }
  .padding-top-2xl\@lg {
    padding-top: var(--space-2xl);
  }
  .padding-right-2xl\@lg {
    padding-right: var(--space-2xl);
  }
  .padding-bottom-2xl\@lg {
    padding-bottom: var(--space-2xl);
  }
  .padding-left-2xl\@lg {
    padding-left: var(--space-2xl);
  }
  .padding-top-3xl\@lg {
    padding-top: var(--space-3xl);
  }
  .padding-right-3xl\@lg {
    padding-right: var(--space-3xl);
  }
  .padding-bottom-3xl\@lg {
    padding-bottom: var(--space-3xl);
  }
  .padding-left-3xl\@lg {
    padding-left: var(--space-3xl);
  }
  .padding-top-4xl\@lg {
    padding-top: var(--space-4xl);
  }
  .padding-right-4xl\@lg {
    padding-right: var(--space-4xl);
  }
  .padding-bottom-4xl\@lg {
    padding-bottom: var(--space-4xl);
  }
  .padding-left-4xl\@lg {
    padding-left: var(--space-4xl);
  }
  .padding-top-0\@lg {
    padding-top: 0;
  }
  .padding-right-0\@lg {
    padding-right: 0;
  }
  .padding-bottom-0\@lg {
    padding-bottom: 0;
  }
  .padding-left-0\@lg {
    padding-left: 0;
  }
  /* text-align */
  .text-center\@lg {
    text-align: center;
  }
  .text-left\@lg {
    text-align: left;
  }
  .text-right\@lg {
    text-align: right;
  }
  .text-justify\@lg {
    text-align: justify;
  }
  /* font-size */
  .text-xs\@lg {
    font-size: var(--text-xs);
  }
  .text-sm\@lg {
    font-size: var(--text-sm);
  }
  .text-base\@lg {
    font-size: var(--text-base);
  }
  .text-md\@lg {
    font-size: var(--text-md);
  }
  .text-lg\@lg {
    font-size: var(--text-lg);
  }
  .text-xl\@lg {
    font-size: var(--text-xl);
  }
  .text-2xl\@lg {
    font-size: var(--text-2xl);
  }
  .text-3xl\@lg {
    font-size: var(--text-3xl);
  }
  .text-4xl\@lg {
    font-size: var(--text-4xl);
  }
  /* column-count */
  .column-count-1\@lg {
    -moz-column-count: 1;
         column-count: 1;
  }
  .column-count-2\@lg {
    -moz-column-count: 2;
         column-count: 2;
  }
  .column-count-3\@lg {
    -moz-column-count: 3;
         column-count: 3;
  }
  .column-count-4\@lg {
    -moz-column-count: 4;
         column-count: 4;
  }
  /* width */
  .width-4xs\@lg {
    width: 0.25rem;
  }
  .width-3xs\@lg {
    width: 0.5rem;
  }
  .width-2xs\@lg {
    width: 0.75rem;
  }
  .width-xs\@lg {
    width: 1rem;
  }
  .width-sm\@lg {
    width: 1.5rem;
  }
  .width-md\@lg {
    width: 2rem;
  }
  .width-lg\@lg {
    width: 3rem;
  }
  .width-xl\@lg {
    width: 4rem;
  }
  .width-2xl\@lg {
    width: 6rem;
  }
  .width-3xl\@lg {
    width: 8rem;
  }
  .width-4xl\@lg {
    width: 16rem;
  }
  .width-0\@lg {
    width: 0;
  }
  .width-10\%\@lg {
    width: 10%;
  }
  .width-20\%\@lg {
    width: 20%;
  }
  .width-25\%\@lg {
    width: 25%;
  }
  .width-30\%\@lg {
    width: 30%;
  }
  .width-33\%\@lg {
    width: 33%;
  }
  .width-40\%\@lg {
    width: 40%;
  }
  .width-50\%\@lg {
    width: 50%;
  }
  .width-60\%\@lg {
    width: 60%;
  }
  .width-70\%\@lg {
    width: 70%;
  }
  .width-75\%\@lg {
    width: 75%;
  }
  .width-80\%\@lg {
    width: 80%;
  }
  .width-90\%\@lg {
    width: 90%;
  }
  .width-100\%\@lg {
    width: 100%;
  }
  .width-100\%\@lg {
    width: 100%;
  }
  .width-100vw\@lg {
    width: 100vw;
  }
  .width-auto\@lg {
    width: auto;
  }
  .width-inherit\@lg {
    width: inherit;
  }
  .width-0\@lg {
    width: 0;
  }
  /* height */
  .height-4xs\@lg {
    height: 0.25rem;
  }
  .height-3xs\@lg {
    height: 0.5rem;
  }
  .height-2xs\@lg {
    height: 0.75rem;
  }
  .height-xs\@lg {
    height: 1rem;
  }
  .height-sm\@lg {
    height: 1.5rem;
  }
  .height-md\@lg {
    height: 2rem;
  }
  .height-lg\@lg {
    height: 3rem;
  }
  .height-xl\@lg {
    height: 4rem;
  }
  .height-2xl\@lg {
    height: 6rem;
  }
  .height-3xl\@lg {
    height: 8rem;
  }
  .height-4xl\@lg {
    height: 16rem;
  }
  .height-0\@lg {
    height: 0;
  }
  .height-10\%\@lg {
    height: 10%;
  }
  .height-20\%\@lg {
    height: 20%;
  }
  .height-25\%\@lg {
    height: 25%;
  }
  .height-30\%\@lg {
    height: 30%;
  }
  .height-33\%\@lg {
    height: 33%;
  }
  .height-40\%\@lg {
    height: 40%;
  }
  .height-50\%\@lg {
    height: 50%;
  }
  .height-60\%\@lg {
    height: 60%;
  }
  .height-70\%\@lg {
    height: 70%;
  }
  .height-75\%\@lg {
    height: 75%;
  }
  .height-80\%\@lg {
    height: 80%;
  }
  .height-90\%\@lg {
    height: 90%;
  }
  .height-100\%\@lg {
    height: 100%;
  }
  .height-100\%\@lg {
    height: 100%;
  }
  .height-100vh\@lg {
    height: 100vh;
  }
  .height-auto\@lg {
    height: auto;
  }
  .height-inherit\@lg {
    height: inherit;
  }
  .height-0\@lg {
    height: 0;
  }
  /* max-width */
  .max-width-5xs\@lg {
    max-width: var(--max-width-5xs);
  }
  .max-width-4xs\@lg {
    max-width: var(--max-width-4xs);
  }
  .max-width-3xs\@lg {
    max-width: var(--max-width-3xs);
  }
  .max-width-2xs\@lg {
    max-width: var(--max-width-2xs);
  }
  .max-width-xs\@lg {
    max-width: var(--max-width-xs);
  }
  .max-width-sm\@lg {
    max-width: var(--max-width-sm);
  }
  .max-width-md\@lg {
    max-width: var(--max-width-md);
  }
  .max-width-lg\@lg {
    max-width: var(--max-width-lg);
  }
  .max-width-xl\@lg {
    max-width: var(--max-width-xl);
  }
  .max-width-2xl\@lg {
    max-width: var(--max-width-2xl);
  }
  .max-width-3xl\@lg {
    max-width: var(--max-width-3xl);
  }
  .max-width-4xl\@lg {
    max-width: var(--max-width-4xl);
  }
  .max-width-100\%\@lg {
    max-width: 100%;
  }
  .max-width-none\@lg {
    max-width: none;
  }
  /* position */
  .position-relative\@lg {
    position: relative;
  }
  .position-absolute\@lg {
    position: absolute;
  }
  .position-fixed\@lg {
    position: fixed;
  }
  .position-sticky\@lg {
    position: sticky;
  }
  .position-static\@lg {
    position: static;
  }
  .inset-0\@lg {
    inset: 0;
  }
  .top-4xs\@lg {
    top: var(--space-4xs);
  }
  .right-4xs\@lg {
    right: var(--space-4xs);
  }
  .bottom-4xs\@lg {
    bottom: var(--space-4xs);
  }
  .left-4xs\@lg {
    left: var(--space-4xs);
  }
  .top-3xs\@lg {
    top: var(--space-3xs);
  }
  .right-3xs\@lg {
    right: var(--space-3xs);
  }
  .bottom-3xs\@lg {
    bottom: var(--space-3xs);
  }
  .left-3xs\@lg {
    left: var(--space-3xs);
  }
  .top-2xs\@lg {
    top: var(--space-2xs);
  }
  .right-2xs\@lg {
    right: var(--space-2xs);
  }
  .bottom-2xs\@lg {
    bottom: var(--space-2xs);
  }
  .left-2xs\@lg {
    left: var(--space-2xs);
  }
  .top-xs\@lg {
    top: var(--space-xs);
  }
  .right-xs\@lg {
    right: var(--space-xs);
  }
  .bottom-xs\@lg {
    bottom: var(--space-xs);
  }
  .left-xs\@lg {
    left: var(--space-xs);
  }
  .top-sm\@lg {
    top: var(--space-sm);
  }
  .right-sm\@lg {
    right: var(--space-sm);
  }
  .bottom-sm\@lg {
    bottom: var(--space-sm);
  }
  .left-sm\@lg {
    left: var(--space-sm);
  }
  .top-md\@lg {
    top: var(--space-md);
  }
  .right-md\@lg {
    right: var(--space-md);
  }
  .bottom-md\@lg {
    bottom: var(--space-md);
  }
  .left-md\@lg {
    left: var(--space-md);
  }
  .top-lg\@lg {
    top: var(--space-lg);
  }
  .right-lg\@lg {
    right: var(--space-lg);
  }
  .bottom-lg\@lg {
    bottom: var(--space-lg);
  }
  .left-lg\@lg {
    left: var(--space-lg);
  }
  .top-xl\@lg {
    top: var(--space-xl);
  }
  .right-xl\@lg {
    right: var(--space-xl);
  }
  .bottom-xl\@lg {
    bottom: var(--space-xl);
  }
  .left-xl\@lg {
    left: var(--space-xl);
  }
  .top-2xl\@lg {
    top: var(--space-2xl);
  }
  .right-2xl\@lg {
    right: var(--space-2xl);
  }
  .bottom-2xl\@lg {
    bottom: var(--space-2xl);
  }
  .left-2xl\@lg {
    left: var(--space-2xl);
  }
  .top-3xl\@lg {
    top: var(--space-3xl);
  }
  .right-3xl\@lg {
    right: var(--space-3xl);
  }
  .bottom-3xl\@lg {
    bottom: var(--space-3xl);
  }
  .left-3xl\@lg {
    left: var(--space-3xl);
  }
  .top-4xl\@lg {
    top: var(--space-4xl);
  }
  .right-4xl\@lg {
    right: var(--space-4xl);
  }
  .bottom-4xl\@lg {
    bottom: var(--space-4xl);
  }
  .left-4xl\@lg {
    left: var(--space-4xl);
  }
  .top-50\%\@lg {
    top: 50%;
  }
  .top-auto\@lg {
    top: auto;
  }
  .top-0\@lg {
    top: 0;
  }
  .right-50\%\@lg {
    right: 50%;
  }
  .right-auto\@lg {
    right: auto;
  }
  .right-0\@lg {
    right: 0;
  }
  .bottom-50\%\@lg {
    bottom: 50%;
  }
  .bottom-auto\@lg {
    bottom: auto;
  }
  .bottom-0\@lg {
    bottom: 0;
  }
  .left-50\%\@lg {
    left: 50%;
  }
  .left-auto\@lg {
    left: auto;
  }
  .left-0\@lg {
    left: 0;
  }
  /* overflow */
  .overflow-visible\@lg {
    overflow: visible;
  }
  .overflow-hidden\@lg {
    overflow: hidden;
  }
  .overflow-auto\@lg {
    overflow: auto;
  }
  .momentum-scrolling\@lg {
    -webkit-overflow-scrolling: touch;
  }
  /* visibility */
  .visible\@lg {
    visibility: visible;
  }
  .invisible\@lg {
    visibility: hidden;
  }
}
@media not all and (min-width: 80rem) {
  .display\@lg {
    display: none !important;
  }
}
@media (min-width: 90rem) {
  /* grid */
  .grid-col-1\@xl {
    --grid-columns: 1;
  }
  .col-1\@xl {
    --column-span: 1;
  }
  .grid-col-2\@xl {
    --grid-columns: 2;
  }
  .col-2\@xl {
    --column-span: 2;
  }
  .grid-col-3\@xl {
    --grid-columns: 3;
  }
  .col-3\@xl {
    --column-span: 3;
  }
  .grid-col-4\@xl {
    --grid-columns: 4;
  }
  .col-4\@xl {
    --column-span: 4;
  }
  .grid-col-5\@xl {
    --grid-columns: 5;
  }
  .col-5\@xl {
    --column-span: 5;
  }
  .grid-col-6\@xl {
    --grid-columns: 6;
  }
  .col-6\@xl {
    --column-span: 6;
  }
  .grid-col-7\@xl {
    --grid-columns: 7;
  }
  .col-7\@xl {
    --column-span: 7;
  }
  .grid-col-8\@xl {
    --grid-columns: 8;
  }
  .col-8\@xl {
    --column-span: 8;
  }
  .grid-col-9\@xl {
    --grid-columns: 9;
  }
  .col-9\@xl {
    --column-span: 9;
  }
  .grid-col-10\@xl {
    --grid-columns: 10;
  }
  .col-10\@xl {
    --column-span: 10;
  }
  .grid-col-11\@xl {
    --grid-columns: 11;
  }
  .col-11\@xl {
    --column-span: 11;
  }
  .grid-col-12\@xl {
    --grid-columns: 12;
  }
  .col-12\@xl {
    --column-span: 12;
  }
  .col-1\@xl, .col-2\@xl, .col-3\@xl, .col-4\@xl, .col-5\@xl, .col-6\@xl, .col-7\@xl, .col-8\@xl, .col-9\@xl, .col-10\@xl, .col-11\@xl, .col-12\@xl {
    width: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-span) / var(--grid-columns) + (var(--column-span) - 1) * var(--column-gap));
    flex: initial;
  }
  .col\@xl {
    width: auto;
    flex: 1 1 0;
  }
  .col-content\@xl {
    width: auto;
    flex: 0 1 auto;
  }
  .offset-1\@xl {
    --column-offset: 1;
  }
  .offset-2\@xl {
    --column-offset: 2;
  }
  .offset-3\@xl {
    --column-offset: 3;
  }
  .offset-4\@xl {
    --column-offset: 4;
  }
  .offset-5\@xl {
    --column-offset: 5;
  }
  .offset-6\@xl {
    --column-offset: 6;
  }
  .offset-7\@xl {
    --column-offset: 7;
  }
  .offset-8\@xl {
    --column-offset: 8;
  }
  .offset-9\@xl {
    --column-offset: 9;
  }
  .offset-10\@xl {
    --column-offset: 10;
  }
  .offset-11\@xl {
    --column-offset: 11;
  }
  .offset-1\@xl, .offset-2\@xl, .offset-3\@xl, .offset-4\@xl, .offset-5\@xl, .offset-6\@xl, .offset-7\@xl, .offset-8\@xl, .offset-9\@xl, .offset-10\@xl, .offset-11\@xl {
    margin-left: calc((100% - (var(--grid-columns) - 1) * var(--column-gap)) * var(--column-offset) / var(--grid-columns) + var(--column-offset) * var(--column-gap));
  }
  .offset-0\@xl {
    margin-left: 0;
  }
  /* gap */
  .gap-4xs\@xl {
    --row-gap: var(--space-4xs);
    --column-gap: var(--space-4xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xs\@xl {
    --column-gap: var(--space-4xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xs\@xl {
    --row-gap: var(--space-4xs);
    row-gap: var(--row-gap);
  }
  .gap-3xs\@xl {
    --row-gap: var(--space-3xs);
    --column-gap: var(--space-3xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xs\@xl {
    --column-gap: var(--space-3xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xs\@xl {
    --row-gap: var(--space-3xs);
    row-gap: var(--row-gap);
  }
  .gap-2xs\@xl {
    --row-gap: var(--space-2xs);
    --column-gap: var(--space-2xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xs\@xl {
    --column-gap: var(--space-2xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xs\@xl {
    --row-gap: var(--space-2xs);
    row-gap: var(--row-gap);
  }
  .gap-xs\@xl {
    --row-gap: var(--space-xs);
    --column-gap: var(--space-xs);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xs\@xl {
    --column-gap: var(--space-xs);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xs\@xl {
    --row-gap: var(--space-xs);
    row-gap: var(--row-gap);
  }
  .gap-sm\@xl {
    --row-gap: var(--space-sm);
    --column-gap: var(--space-sm);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-sm\@xl {
    --column-gap: var(--space-sm);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-sm\@xl {
    --row-gap: var(--space-sm);
    row-gap: var(--row-gap);
  }
  .gap-md\@xl {
    --row-gap: var(--space-md);
    --column-gap: var(--space-md);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-md\@xl {
    --column-gap: var(--space-md);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-md\@xl {
    --row-gap: var(--space-md);
    row-gap: var(--row-gap);
  }
  .gap-lg\@xl {
    --row-gap: var(--space-lg);
    --column-gap: var(--space-lg);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-lg\@xl {
    --column-gap: var(--space-lg);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-lg\@xl {
    --row-gap: var(--space-lg);
    row-gap: var(--row-gap);
  }
  .gap-xl\@xl {
    --row-gap: var(--space-xl);
    --column-gap: var(--space-xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-xl\@xl {
    --column-gap: var(--space-xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-xl\@xl {
    --row-gap: var(--space-xl);
    row-gap: var(--row-gap);
  }
  .gap-2xl\@xl {
    --row-gap: var(--space-2xl);
    --column-gap: var(--space-2xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-2xl\@xl {
    --column-gap: var(--space-2xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-2xl\@xl {
    --row-gap: var(--space-2xl);
    row-gap: var(--row-gap);
  }
  .gap-3xl\@xl {
    --row-gap: var(--space-3xl);
    --column-gap: var(--space-3xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-3xl\@xl {
    --column-gap: var(--space-3xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-3xl\@xl {
    --row-gap: var(--space-3xl);
    row-gap: var(--row-gap);
  }
  .gap-4xl\@xl {
    --row-gap: var(--space-4xl);
    --column-gap: var(--space-4xl);
    gap: var(--row-gap) var(--column-gap);
  }
  .gap-x-4xl\@xl {
    --column-gap: var(--space-4xl);
    -moz-column-gap: var(--column-gap);
         column-gap: var(--column-gap);
  }
  .gap-y-4xl\@xl {
    --row-gap: var(--space-4xl);
    row-gap: var(--row-gap);
  }
  .gap-0\@xl {
    --row-gap: 0px;
    --column-gap: 0px;
    gap: 0px;
  }
  .gap-x-0\@xl {
    --column-gap: 0px;
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
  .gap-y-0\@xl {
    --row-gap: 0px;
    row-gap: 0px;
  }
  /* flexbox */
  .flex\@xl {
    display: flex;
  }
  .inline-flex\@xl {
    display: inline-flex;
  }
  .flex-wrap\@xl {
    flex-wrap: wrap;
  }
  .flex-nowrap\@xl {
    flex-wrap: nowrap;
  }
  .flex-column\@xl {
    flex-direction: column;
  }
  .flex-column-reverse\@xl {
    flex-direction: column-reverse;
  }
  .flex-row\@xl {
    flex-direction: row;
  }
  .flex-row-reverse\@xl {
    flex-direction: row-reverse;
  }
  .flex-center\@xl {
    justify-content: center;
    align-items: center;
  }
  .flex-grow\@xl {
    flex-grow: 1;
  }
  .flex-grow-0\@xl {
    flex-grow: 0;
  }
  .flex-shrink\@xl {
    flex-shrink: 1;
  }
  .flex-shrink-0\@xl {
    flex-shrink: 0;
  }
  .flex-basis-0\@xl {
    flex-basis: 0;
  }
  /* justify-content */
  .justify-start\@xl {
    justify-content: start;
  }
  .justify-end\@xl {
    justify-content: end;
  }
  .justify-center\@xl {
    justify-content: center;
  }
  .justify-between\@xl {
    justify-content: space-between;
  }
  /* align-items */
  .items-center\@xl {
    align-items: center;
  }
  .items-start\@xl {
    align-items: start;
  }
  .items-end\@xl {
    align-items: end;
  }
  .items-baseline\@xl {
    align-items: baseline;
  }
  .items-stretch\@xl {
    align-items: stretch;
  }
  /* align-content */
  .content-start\@xl {
    align-content: start;
  }
  .content-end\@xl {
    align-content: end;
  }
  .content-center\@xl {
    align-content: center;
  }
  .content-between\@xl {
    align-content: space-between;
  }
  /* order */
  .order-1\@xl {
    order: 1;
  }
  .order-2\@xl {
    order: 2;
  }
  .order-3\@xl {
    order: 3;
  }
  /* display */
  .block\@xl {
    display: block;
  }
  .inline-block\@xl {
    display: inline-block;
  }
  .inline\@xl {
    display: inline;
  }
  .contents\@xl {
    display: contents;
  }
  .css-grid\@xl {
    display: grid;
  }
  .css-inline-grid\@xl {
    display: inline-grid;
  }
  .hide\@xl {
    display: none;
  }
  /* margin */
  .margin-4xs\@xl {
    margin: var(--space-4xs);
  }
  .margin-3xs\@xl {
    margin: var(--space-3xs);
  }
  .margin-2xs\@xl {
    margin: var(--space-2xs);
  }
  .margin-xs\@xl {
    margin: var(--space-xs);
  }
  .margin-sm\@xl {
    margin: var(--space-sm);
  }
  .margin-md\@xl {
    margin: var(--space-md);
  }
  .margin-lg\@xl {
    margin: var(--space-lg);
  }
  .margin-xl\@xl {
    margin: var(--space-xl);
  }
  .margin-2xl\@xl {
    margin: var(--space-2xl);
  }
  .margin-3xl\@xl {
    margin: var(--space-3xl);
  }
  .margin-4xl\@xl {
    margin: var(--space-4xl);
  }
  .margin-auto\@xl {
    margin: auto;
  }
  .margin-0\@xl {
    margin: 0;
  }
  .margin-y-4xs\@xl {
    margin-top: var(--space-4xs);
    margin-bottom: var(--space-4xs);
  }
  .margin-x-4xs\@xl {
    margin-right: var(--space-4xs);
    margin-left: var(--space-4xs);
  }
  .margin-y-3xs\@xl {
    margin-top: var(--space-3xs);
    margin-bottom: var(--space-3xs);
  }
  .margin-x-3xs\@xl {
    margin-right: var(--space-3xs);
    margin-left: var(--space-3xs);
  }
  .margin-y-2xs\@xl {
    margin-top: var(--space-2xs);
    margin-bottom: var(--space-2xs);
  }
  .margin-x-2xs\@xl {
    margin-right: var(--space-2xs);
    margin-left: var(--space-2xs);
  }
  .margin-y-xs\@xl {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
  }
  .margin-x-xs\@xl {
    margin-right: var(--space-xs);
    margin-left: var(--space-xs);
  }
  .margin-y-sm\@xl {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
  }
  .margin-x-sm\@xl {
    margin-right: var(--space-sm);
    margin-left: var(--space-sm);
  }
  .margin-y-md\@xl {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
  }
  .margin-x-md\@xl {
    margin-right: var(--space-md);
    margin-left: var(--space-md);
  }
  .margin-y-lg\@xl {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .margin-x-lg\@xl {
    margin-right: var(--space-lg);
    margin-left: var(--space-lg);
  }
  .margin-y-xl\@xl {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }
  .margin-x-xl\@xl {
    margin-right: var(--space-xl);
    margin-left: var(--space-xl);
  }
  .margin-y-2xl\@xl {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
  }
  .margin-x-2xl\@xl {
    margin-right: var(--space-2xl);
    margin-left: var(--space-2xl);
  }
  .margin-y-3xl\@xl {
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-3xl);
  }
  .margin-x-3xl\@xl {
    margin-right: var(--space-3xl);
    margin-left: var(--space-3xl);
  }
  .margin-y-4xl\@xl {
    margin-top: var(--space-4xl);
    margin-bottom: var(--space-4xl);
  }
  .margin-x-4xl\@xl {
    margin-right: var(--space-4xl);
    margin-left: var(--space-4xl);
  }
  .margin-y-auto\@xl {
    margin-top: auto;
    margin-bottom: auto;
  }
  .margin-y-0\@xl {
    margin-top: 0;
    margin-bottom: 0;
  }
  .margin-x-auto\@xl {
    margin-left: auto;
    margin-right: auto;
  }
  .margin-x-0\@xl {
    margin-left: 0;
    margin-right: 0;
  }
  .margin-top-4xs\@xl {
    margin-top: var(--space-4xs);
  }
  .margin-right-4xs\@xl {
    margin-right: var(--space-4xs);
  }
  .margin-bottom-4xs\@xl {
    margin-bottom: var(--space-4xs);
  }
  .margin-left-4xs\@xl {
    margin-left: var(--space-4xs);
  }
  .margin-top-3xs\@xl {
    margin-top: var(--space-3xs);
  }
  .margin-right-3xs\@xl {
    margin-right: var(--space-3xs);
  }
  .margin-bottom-3xs\@xl {
    margin-bottom: var(--space-3xs);
  }
  .margin-left-3xs\@xl {
    margin-left: var(--space-3xs);
  }
  .margin-top-2xs\@xl {
    margin-top: var(--space-2xs);
  }
  .margin-right-2xs\@xl {
    margin-right: var(--space-2xs);
  }
  .margin-bottom-2xs\@xl {
    margin-bottom: var(--space-2xs);
  }
  .margin-left-2xs\@xl {
    margin-left: var(--space-2xs);
  }
  .margin-top-xs\@xl {
    margin-top: var(--space-xs);
  }
  .margin-right-xs\@xl {
    margin-right: var(--space-xs);
  }
  .margin-bottom-xs\@xl {
    margin-bottom: var(--space-xs);
  }
  .margin-left-xs\@xl {
    margin-left: var(--space-xs);
  }
  .margin-top-sm\@xl {
    margin-top: var(--space-sm);
  }
  .margin-right-sm\@xl {
    margin-right: var(--space-sm);
  }
  .margin-bottom-sm\@xl {
    margin-bottom: var(--space-sm);
  }
  .margin-left-sm\@xl {
    margin-left: var(--space-sm);
  }
  .margin-top-md\@xl {
    margin-top: var(--space-md);
  }
  .margin-right-md\@xl {
    margin-right: var(--space-md);
  }
  .margin-bottom-md\@xl {
    margin-bottom: var(--space-md);
  }
  .margin-left-md\@xl {
    margin-left: var(--space-md);
  }
  .margin-top-lg\@xl {
    margin-top: var(--space-lg);
  }
  .margin-right-lg\@xl {
    margin-right: var(--space-lg);
  }
  .margin-bottom-lg\@xl {
    margin-bottom: var(--space-lg);
  }
  .margin-left-lg\@xl {
    margin-left: var(--space-lg);
  }
  .margin-top-xl\@xl {
    margin-top: var(--space-xl);
  }
  .margin-right-xl\@xl {
    margin-right: var(--space-xl);
  }
  .margin-bottom-xl\@xl {
    margin-bottom: var(--space-xl);
  }
  .margin-left-xl\@xl {
    margin-left: var(--space-xl);
  }
  .margin-top-2xl\@xl {
    margin-top: var(--space-2xl);
  }
  .margin-right-2xl\@xl {
    margin-right: var(--space-2xl);
  }
  .margin-bottom-2xl\@xl {
    margin-bottom: var(--space-2xl);
  }
  .margin-left-2xl\@xl {
    margin-left: var(--space-2xl);
  }
  .margin-top-3xl\@xl {
    margin-top: var(--space-3xl);
  }
  .margin-right-3xl\@xl {
    margin-right: var(--space-3xl);
  }
  .margin-bottom-3xl\@xl {
    margin-bottom: var(--space-3xl);
  }
  .margin-left-3xl\@xl {
    margin-left: var(--space-3xl);
  }
  .margin-top-4xl\@xl {
    margin-top: var(--space-4xl);
  }
  .margin-right-4xl\@xl {
    margin-right: var(--space-4xl);
  }
  .margin-bottom-4xl\@xl {
    margin-bottom: var(--space-4xl);
  }
  .margin-left-4xl\@xl {
    margin-left: var(--space-4xl);
  }
  .margin-top-auto\@xl {
    margin-top: auto;
  }
  .margin-top-0\@xl {
    margin-top: 0;
  }
  .margin-right-auto\@xl {
    margin-right: auto;
  }
  .margin-right-0\@xl {
    margin-right: 0;
  }
  .margin-bottom-auto\@xl {
    margin-bottom: auto;
  }
  .margin-bottom-0\@xl {
    margin-bottom: 0;
  }
  .margin-left-auto\@xl {
    margin-left: auto;
  }
  .margin-left-0\@xl {
    margin-left: 0;
  }
  /* padding */
  .padding-4xs\@xl {
    padding: var(--space-4xs);
  }
  .padding-3xs\@xl {
    padding: var(--space-3xs);
  }
  .padding-2xs\@xl {
    padding: var(--space-2xs);
  }
  .padding-xs\@xl {
    padding: var(--space-xs);
  }
  .padding-sm\@xl {
    padding: var(--space-sm);
  }
  .padding-md\@xl {
    padding: var(--space-md);
  }
  .padding-lg\@xl {
    padding: var(--space-lg);
  }
  .padding-xl\@xl {
    padding: var(--space-xl);
  }
  .padding-2xl\@xl {
    padding: var(--space-2xl);
  }
  .padding-3xl\@xl {
    padding: var(--space-3xl);
  }
  .padding-4xl\@xl {
    padding: var(--space-4xl);
  }
  .padding-0\@xl {
    padding: 0;
  }
  .padding-y-4xs\@xl {
    padding-top: var(--space-4xs);
    padding-bottom: var(--space-4xs);
  }
  .padding-x-4xs\@xl {
    padding-right: var(--space-4xs);
    padding-left: var(--space-4xs);
  }
  .padding-y-3xs\@xl {
    padding-top: var(--space-3xs);
    padding-bottom: var(--space-3xs);
  }
  .padding-x-3xs\@xl {
    padding-right: var(--space-3xs);
    padding-left: var(--space-3xs);
  }
  .padding-y-2xs\@xl {
    padding-top: var(--space-2xs);
    padding-bottom: var(--space-2xs);
  }
  .padding-x-2xs\@xl {
    padding-right: var(--space-2xs);
    padding-left: var(--space-2xs);
  }
  .padding-y-xs\@xl {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
  .padding-x-xs\@xl {
    padding-right: var(--space-xs);
    padding-left: var(--space-xs);
  }
  .padding-y-sm\@xl {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }
  .padding-x-sm\@xl {
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
  }
  .padding-y-md\@xl {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
  }
  .padding-x-md\@xl {
    padding-right: var(--space-md);
    padding-left: var(--space-md);
  }
  .padding-y-lg\@xl {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
  }
  .padding-x-lg\@xl {
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
  }
  .padding-y-xl\@xl {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  .padding-x-xl\@xl {
    padding-right: var(--space-xl);
    padding-left: var(--space-xl);
  }
  .padding-y-2xl\@xl {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
  }
  .padding-x-2xl\@xl {
    padding-right: var(--space-2xl);
    padding-left: var(--space-2xl);
  }
  .padding-y-3xl\@xl {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
  .padding-x-3xl\@xl {
    padding-right: var(--space-3xl);
    padding-left: var(--space-3xl);
  }
  .padding-y-4xl\@xl {
    padding-top: var(--space-4xl);
    padding-bottom: var(--space-4xl);
  }
  .padding-x-4xl\@xl {
    padding-right: var(--space-4xl);
    padding-left: var(--space-4xl);
  }
  .padding-y-0\@xl {
    padding-top: 0;
    padding-bottom: 0;
  }
  .padding-x-0\@xl {
    padding-left: 0;
    padding-right: 0;
  }
  .padding-top-4xs\@xl {
    padding-top: var(--space-4xs);
  }
  .padding-right-4xs\@xl {
    padding-right: var(--space-4xs);
  }
  .padding-bottom-4xs\@xl {
    padding-bottom: var(--space-4xs);
  }
  .padding-left-4xs\@xl {
    padding-left: var(--space-4xs);
  }
  .padding-top-3xs\@xl {
    padding-top: var(--space-3xs);
  }
  .padding-right-3xs\@xl {
    padding-right: var(--space-3xs);
  }
  .padding-bottom-3xs\@xl {
    padding-bottom: var(--space-3xs);
  }
  .padding-left-3xs\@xl {
    padding-left: var(--space-3xs);
  }
  .padding-top-2xs\@xl {
    padding-top: var(--space-2xs);
  }
  .padding-right-2xs\@xl {
    padding-right: var(--space-2xs);
  }
  .padding-bottom-2xs\@xl {
    padding-bottom: var(--space-2xs);
  }
  .padding-left-2xs\@xl {
    padding-left: var(--space-2xs);
  }
  .padding-top-xs\@xl {
    padding-top: var(--space-xs);
  }
  .padding-right-xs\@xl {
    padding-right: var(--space-xs);
  }
  .padding-bottom-xs\@xl {
    padding-bottom: var(--space-xs);
  }
  .padding-left-xs\@xl {
    padding-left: var(--space-xs);
  }
  .padding-top-sm\@xl {
    padding-top: var(--space-sm);
  }
  .padding-right-sm\@xl {
    padding-right: var(--space-sm);
  }
  .padding-bottom-sm\@xl {
    padding-bottom: var(--space-sm);
  }
  .padding-left-sm\@xl {
    padding-left: var(--space-sm);
  }
  .padding-top-md\@xl {
    padding-top: var(--space-md);
  }
  .padding-right-md\@xl {
    padding-right: var(--space-md);
  }
  .padding-bottom-md\@xl {
    padding-bottom: var(--space-md);
  }
  .padding-left-md\@xl {
    padding-left: var(--space-md);
  }
  .padding-top-lg\@xl {
    padding-top: var(--space-lg);
  }
  .padding-right-lg\@xl {
    padding-right: var(--space-lg);
  }
  .padding-bottom-lg\@xl {
    padding-bottom: var(--space-lg);
  }
  .padding-left-lg\@xl {
    padding-left: var(--space-lg);
  }
  .padding-top-xl\@xl {
    padding-top: var(--space-xl);
  }
  .padding-right-xl\@xl {
    padding-right: var(--space-xl);
  }
  .padding-bottom-xl\@xl {
    padding-bottom: var(--space-xl);
  }
  .padding-left-xl\@xl {
    padding-left: var(--space-xl);
  }
  .padding-top-2xl\@xl {
    padding-top: var(--space-2xl);
  }
  .padding-right-2xl\@xl {
    padding-right: var(--space-2xl);
  }
  .padding-bottom-2xl\@xl {
    padding-bottom: var(--space-2xl);
  }
  .padding-left-2xl\@xl {
    padding-left: var(--space-2xl);
  }
  .padding-top-3xl\@xl {
    padding-top: var(--space-3xl);
  }
  .padding-right-3xl\@xl {
    padding-right: var(--space-3xl);
  }
  .padding-bottom-3xl\@xl {
    padding-bottom: var(--space-3xl);
  }
  .padding-left-3xl\@xl {
    padding-left: var(--space-3xl);
  }
  .padding-top-4xl\@xl {
    padding-top: var(--space-4xl);
  }
  .padding-right-4xl\@xl {
    padding-right: var(--space-4xl);
  }
  .padding-bottom-4xl\@xl {
    padding-bottom: var(--space-4xl);
  }
  .padding-left-4xl\@xl {
    padding-left: var(--space-4xl);
  }
  .padding-top-0\@xl {
    padding-top: 0;
  }
  .padding-right-0\@xl {
    padding-right: 0;
  }
  .padding-bottom-0\@xl {
    padding-bottom: 0;
  }
  .padding-left-0\@xl {
    padding-left: 0;
  }
  /* text-align */
  .text-center\@xl {
    text-align: center;
  }
  .text-left\@xl {
    text-align: left;
  }
  .text-right\@xl {
    text-align: right;
  }
  .text-justify\@xl {
    text-align: justify;
  }
  /* font-size */
  .text-xs\@xl {
    font-size: var(--text-xs);
  }
  .text-sm\@xl {
    font-size: var(--text-sm);
  }
  .text-base\@xl {
    font-size: var(--text-base);
  }
  .text-md\@xl {
    font-size: var(--text-md);
  }
  .text-lg\@xl {
    font-size: var(--text-lg);
  }
  .text-xl\@xl {
    font-size: var(--text-xl);
  }
  .text-2xl\@xl {
    font-size: var(--text-2xl);
  }
  .text-3xl\@xl {
    font-size: var(--text-3xl);
  }
  .text-4xl\@xl {
    font-size: var(--text-4xl);
  }
  /* column-count */
  .column-count-1\@xl {
    -moz-column-count: 1;
         column-count: 1;
  }
  .column-count-2\@xl {
    -moz-column-count: 2;
         column-count: 2;
  }
  .column-count-3\@xl {
    -moz-column-count: 3;
         column-count: 3;
  }
  .column-count-4\@xl {
    -moz-column-count: 4;
         column-count: 4;
  }
  /* width */
  .width-4xs\@xl {
    width: 0.25rem;
  }
  .width-3xs\@xl {
    width: 0.5rem;
  }
  .width-2xs\@xl {
    width: 0.75rem;
  }
  .width-xs\@xl {
    width: 1rem;
  }
  .width-sm\@xl {
    width: 1.5rem;
  }
  .width-md\@xl {
    width: 2rem;
  }
  .width-lg\@xl {
    width: 3rem;
  }
  .width-xl\@xl {
    width: 4rem;
  }
  .width-2xl\@xl {
    width: 6rem;
  }
  .width-3xl\@xl {
    width: 8rem;
  }
  .width-4xl\@xl {
    width: 16rem;
  }
  .width-0\@xl {
    width: 0;
  }
  .width-10\%\@xl {
    width: 10%;
  }
  .width-20\%\@xl {
    width: 20%;
  }
  .width-25\%\@xl {
    width: 25%;
  }
  .width-30\%\@xl {
    width: 30%;
  }
  .width-33\%\@xl {
    width: 33%;
  }
  .width-40\%\@xl {
    width: 40%;
  }
  .width-50\%\@xl {
    width: 50%;
  }
  .width-60\%\@xl {
    width: 60%;
  }
  .width-70\%\@xl {
    width: 70%;
  }
  .width-75\%\@xl {
    width: 75%;
  }
  .width-80\%\@xl {
    width: 80%;
  }
  .width-90\%\@xl {
    width: 90%;
  }
  .width-100\%\@xl {
    width: 100%;
  }
  .width-100\%\@xl {
    width: 100%;
  }
  .width-100vw\@xl {
    width: 100vw;
  }
  .width-auto\@xl {
    width: auto;
  }
  .width-inherit\@xl {
    width: inherit;
  }
  .width-0\@xl {
    width: 0;
  }
  /* height */
  .height-4xs\@xl {
    height: 0.25rem;
  }
  .height-3xs\@xl {
    height: 0.5rem;
  }
  .height-2xs\@xl {
    height: 0.75rem;
  }
  .height-xs\@xl {
    height: 1rem;
  }
  .height-sm\@xl {
    height: 1.5rem;
  }
  .height-md\@xl {
    height: 2rem;
  }
  .height-lg\@xl {
    height: 3rem;
  }
  .height-xl\@xl {
    height: 4rem;
  }
  .height-2xl\@xl {
    height: 6rem;
  }
  .height-3xl\@xl {
    height: 8rem;
  }
  .height-4xl\@xl {
    height: 16rem;
  }
  .height-0\@xl {
    height: 0;
  }
  .height-10\%\@xl {
    height: 10%;
  }
  .height-20\%\@xl {
    height: 20%;
  }
  .height-25\%\@xl {
    height: 25%;
  }
  .height-30\%\@xl {
    height: 30%;
  }
  .height-33\%\@xl {
    height: 33%;
  }
  .height-40\%\@xl {
    height: 40%;
  }
  .height-50\%\@xl {
    height: 50%;
  }
  .height-60\%\@xl {
    height: 60%;
  }
  .height-70\%\@xl {
    height: 70%;
  }
  .height-75\%\@xl {
    height: 75%;
  }
  .height-80\%\@xl {
    height: 80%;
  }
  .height-90\%\@xl {
    height: 90%;
  }
  .height-100\%\@xl {
    height: 100%;
  }
  .height-100\%\@xl {
    height: 100%;
  }
  .height-100vh\@xl {
    height: 100vh;
  }
  .height-auto\@xl {
    height: auto;
  }
  .height-inherit\@xl {
    height: inherit;
  }
  .height-0\@xl {
    height: 0;
  }
  /* max-width */
  .max-width-5xs\@xl {
    max-width: var(--max-width-5xs);
  }
  .max-width-4xs\@xl {
    max-width: var(--max-width-4xs);
  }
  .max-width-3xs\@xl {
    max-width: var(--max-width-3xs);
  }
  .max-width-2xs\@xl {
    max-width: var(--max-width-2xs);
  }
  .max-width-xs\@xl {
    max-width: var(--max-width-xs);
  }
  .max-width-sm\@xl {
    max-width: var(--max-width-sm);
  }
  .max-width-md\@xl {
    max-width: var(--max-width-md);
  }
  .max-width-lg\@xl {
    max-width: var(--max-width-lg);
  }
  .max-width-xl\@xl {
    max-width: var(--max-width-xl);
  }
  .max-width-2xl\@xl {
    max-width: var(--max-width-2xl);
  }
  .max-width-3xl\@xl {
    max-width: var(--max-width-3xl);
  }
  .max-width-4xl\@xl {
    max-width: var(--max-width-4xl);
  }
  .max-width-100\%\@xl {
    max-width: 100%;
  }
  .max-width-none\@xl {
    max-width: none;
  }
  /* position */
  .position-relative\@xl {
    position: relative;
  }
  .position-absolute\@xl {
    position: absolute;
  }
  .position-fixed\@xl {
    position: fixed;
  }
  .position-sticky\@xl {
    position: sticky;
  }
  .position-static\@xl {
    position: static;
  }
  .inset-0\@xl {
    inset: 0;
  }
  .top-4xs\@xl {
    top: var(--space-4xs);
  }
  .right-4xs\@xl {
    right: var(--space-4xs);
  }
  .bottom-4xs\@xl {
    bottom: var(--space-4xs);
  }
  .left-4xs\@xl {
    left: var(--space-4xs);
  }
  .top-3xs\@xl {
    top: var(--space-3xs);
  }
  .right-3xs\@xl {
    right: var(--space-3xs);
  }
  .bottom-3xs\@xl {
    bottom: var(--space-3xs);
  }
  .left-3xs\@xl {
    left: var(--space-3xs);
  }
  .top-2xs\@xl {
    top: var(--space-2xs);
  }
  .right-2xs\@xl {
    right: var(--space-2xs);
  }
  .bottom-2xs\@xl {
    bottom: var(--space-2xs);
  }
  .left-2xs\@xl {
    left: var(--space-2xs);
  }
  .top-xs\@xl {
    top: var(--space-xs);
  }
  .right-xs\@xl {
    right: var(--space-xs);
  }
  .bottom-xs\@xl {
    bottom: var(--space-xs);
  }
  .left-xs\@xl {
    left: var(--space-xs);
  }
  .top-sm\@xl {
    top: var(--space-sm);
  }
  .right-sm\@xl {
    right: var(--space-sm);
  }
  .bottom-sm\@xl {
    bottom: var(--space-sm);
  }
  .left-sm\@xl {
    left: var(--space-sm);
  }
  .top-md\@xl {
    top: var(--space-md);
  }
  .right-md\@xl {
    right: var(--space-md);
  }
  .bottom-md\@xl {
    bottom: var(--space-md);
  }
  .left-md\@xl {
    left: var(--space-md);
  }
  .top-lg\@xl {
    top: var(--space-lg);
  }
  .right-lg\@xl {
    right: var(--space-lg);
  }
  .bottom-lg\@xl {
    bottom: var(--space-lg);
  }
  .left-lg\@xl {
    left: var(--space-lg);
  }
  .top-xl\@xl {
    top: var(--space-xl);
  }
  .right-xl\@xl {
    right: var(--space-xl);
  }
  .bottom-xl\@xl {
    bottom: var(--space-xl);
  }
  .left-xl\@xl {
    left: var(--space-xl);
  }
  .top-2xl\@xl {
    top: var(--space-2xl);
  }
  .right-2xl\@xl {
    right: var(--space-2xl);
  }
  .bottom-2xl\@xl {
    bottom: var(--space-2xl);
  }
  .left-2xl\@xl {
    left: var(--space-2xl);
  }
  .top-3xl\@xl {
    top: var(--space-3xl);
  }
  .right-3xl\@xl {
    right: var(--space-3xl);
  }
  .bottom-3xl\@xl {
    bottom: var(--space-3xl);
  }
  .left-3xl\@xl {
    left: var(--space-3xl);
  }
  .top-4xl\@xl {
    top: var(--space-4xl);
  }
  .right-4xl\@xl {
    right: var(--space-4xl);
  }
  .bottom-4xl\@xl {
    bottom: var(--space-4xl);
  }
  .left-4xl\@xl {
    left: var(--space-4xl);
  }
  .top-50\%\@xl {
    top: 50%;
  }
  .top-auto\@xl {
    top: auto;
  }
  .top-0\@xl {
    top: 0;
  }
  .right-50\%\@xl {
    right: 50%;
  }
  .right-auto\@xl {
    right: auto;
  }
  .right-0\@xl {
    right: 0;
  }
  .bottom-50\%\@xl {
    bottom: 50%;
  }
  .bottom-auto\@xl {
    bottom: auto;
  }
  .bottom-0\@xl {
    bottom: 0;
  }
  .left-50\%\@xl {
    left: 50%;
  }
  .left-auto\@xl {
    left: auto;
  }
  .left-0\@xl {
    left: 0;
  }
  /* overflow */
  .overflow-visible\@xl {
    overflow: visible;
  }
  .overflow-hidden\@xl {
    overflow: hidden;
  }
  .overflow-auto\@xl {
    overflow: auto;
  }
  .momentum-scrolling\@xl {
    -webkit-overflow-scrolling: touch;
  }
  /* visibility */
  .visible\@xl {
    visibility: visible;
  }
  .invisible\@xl {
    visibility: hidden;
  }
}
@media not all and (min-width: 90rem) {
  .display\@xl {
    display: none !important;
  }
}
/* hover */
.hover\:reduce-opacity {
  opacity: 1;
  transition: all 0.3s ease;
}
.hover\:reduce-opacity:hover {
  opacity: 0.7;
}

.hover\:scale {
  transition: transform 0.3s var(--ease-out-back);
}
.hover\:scale:hover {
  transform: scale(1.1);
}

.hover\:elevate {
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease;
}
.hover\:elevate:hover {
  box-shadow: var(--shadow-md);
}

/* text styles */
.link-subtle {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}
.link-subtle:hover {
  color: var(--color-primary);
}


 .page-user-guide  .content-wrapper, .right-side, .main-footer{
  margin:0;
 }
.container-wide #maincontent {padding:0; margin:0}
 .page-user-guide  .container {width:100%; padding:0; margin:0}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJsb2NhbC91c2VyLWd1aWRlL2Nzcy9zdHlsZS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIHB1cmdlY3NzIHN0YXJ0IGlnbm9yZSAqL1xuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICBmb250OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLCB3aGl0ZSk7XG59XG5cbm9sLCB1bCwgbWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIC5yZXNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBoc2woMjUwLCAxMDAlLCA2OSUpKTtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaW1nLCB2aWRlbywgc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtdGhlbWVdIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gsIGhzbCgyNDAsIDUlLCA4MiUpKTtcbn1cblxuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWJhc2UpO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oMSwgaDIsIGgzLCBoNCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXIpO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0yeGwpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtbWQpO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG59XG5cbi5saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGN1cnJlbnRDb2xvciA1MCUsIGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4xNSkgNTAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMnM7XG59XG4ubGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG5cbi8qIHRleHQtY29tcG9uZW50ICovXG4udGV4dC1jb21wb25lbnQge1xuICAtLWhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcbiAgLS1ib2R5LWxpbmUtaGVpZ2h0OiAxLjQ7XG4gIC0tc3BhY2luZzogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWJvZHktbGluZS1oZWlnaHQpO1xufVxuLnRleHQtY29tcG9uZW50ID4gKiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcpO1xufVxuLnRleHQtY29tcG9uZW50IDp3aGVyZShoMSwgaDIsIGgzLCBoNCkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS42NjY2NjY2NjY3KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWhlYWRpbmctbGluZS1oZWlnaHQpO1xufVxuLnRleHQtY29tcG9uZW50IDp3aGVyZSh1bCwgb2wpIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XG59XG4udGV4dC1jb21wb25lbnQgdWwgOndoZXJlKHVsLCBvbCksXG4udGV4dC1jb21wb25lbnQgb2wgOndoZXJlKHVsLCBvbCkge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cbi50ZXh0LWNvbXBvbmVudCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cbi50ZXh0LWNvbXBvbmVudCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cbi50ZXh0LWNvbXBvbmVudCB1bCBsaTo6bWFya2VyLFxuLnRleHQtY29tcG9uZW50IG9sIGxpOjptYXJrZXIge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjI1KTtcbn1cbi50ZXh0LWNvbXBvbmVudCBpbWcge1xuICAgIG1hcmdpbjogMDsgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZWZmMGYwO1xufVxuXG4udGV4dC1jb21wb25lbnQgZmlnY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgLyAyKTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50ZXh0LWNvbXBvbmVudCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi50ZXh0LWNvbXBvbmVudCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50ZXh0LWNvbXBvbmVudCBzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG4udGV4dC1jb21wb25lbnQgdSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnRleHQtY29tcG9uZW50IG1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbCksIDAuMik7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiAwIDAuMjVlbTtcbn1cbi50ZXh0LWNvbXBvbmVudCBibG9ja3F1b3RlIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjI1KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLnRleHQtY29tcG9uZW50IGhyIHtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS42NjY2NjY2NjY3KSAwO1xuICBiYWNrZ3JvdW5kOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIDAuMSk7XG4gIGhlaWdodDogMXB4O1xufVxuLnRleHQtY29tcG9uZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udGV4dC1jb21wb25lbnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBvdmVyZmxvdyBpdGVtcyAqL1xuOndoZXJlKC50ZXh0LWNvbXBvbmVudF9faXRlbS1mdWxsLXdpZHRoLCAudGV4dC1jb21wb25lbnRfX2l0ZW0tb3ZlcmZsb3csIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdy1sZWZ0LCAudGV4dC1jb21wb25lbnRfX2l0ZW0tb3ZlcmZsb3ctcmlnaHQsIC50ZXh0LWNvbXBvbmVudF9faXRlbS1sZWZ0LCAudGV4dC1jb21wb25lbnRfX2l0ZW0tcmlnaHQpIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGV4dC1jb21wb25lbnRfX2l0ZW0tZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAudGV4dC1jb21wb25lbnRfX2l0ZW0tbGVmdCxcbiAgLnRleHQtY29tcG9uZW50X19pdGVtLXJpZ2h0LFxuICAudGV4dC1jb21wb25lbnRfX2l0ZW0tb3ZlcmZsb3ctbGVmdCxcbiAgLnRleHQtY29tcG9uZW50X19pdGVtLW92ZXJmbG93LXJpZ2h0IHtcbiAgICB3aWR0aDogNDUlO1xuICB9XG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1sZWZ0LFxuICAudGV4dC1jb21wb25lbnRfX2l0ZW0tb3ZlcmZsb3ctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nKTtcbiAgfVxuICAudGV4dC1jb21wb25lbnRfX2l0ZW0tcmlnaHQsXG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nKTtcbiAgfVxuICAudGV4dC1jb21wb25lbnQgaW1nIHtcbiAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gIH0gIFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdyxcbiAgLnRleHQtY29tcG9uZW50X19pdGVtLW92ZXJmbG93LWxlZnQsXG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdy1yaWdodCB7XG4gICAgLS1vdmVyZmxvdy1zaXplOiA4cmVtO1xuICB9XG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLW92ZXJmbG93LXNpemUpICogMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tb3ZlcmZsb3ctc2l6ZSkgKiAtMSk7XG4gIH1cbiAgLnRleHQtY29tcG9uZW50X19pdGVtLW92ZXJmbG93LWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLW92ZXJmbG93LXNpemUpICogLTEpO1xuICB9XG4gIC50ZXh0LWNvbXBvbmVudF9faXRlbS1vdmVyZmxvdy1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLW92ZXJmbG93LXNpemUpICogLTEpO1xuICB9XG59XG4vKiBzcGFjaW5nIHZhcmlhdGlvbnMgKi9cbi50ZXh0LWNvbXBvbmVudC0tdGlnaHQge1xuICAtLWhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMTtcbiAgLS1ib2R5LWxpbmUtaGVpZ2h0OiAxLjI7XG4gIC0tc3BhY2luZzogMC42MjVyZW07XG59XG5cbi50ZXh0LWNvbXBvbmVudC0tcmVsYXhlZCB7XG4gIC0taGVhZGluZy1saW5lLWhlaWdodDogMS4yNTtcbiAgLS1ib2R5LWxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgLS1zcGFjaW5nOiAxLjI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gIC50ZXh0LWNvbXBvbmVudC0tcmVsYXhlZCB7XG4gICAgLS1zcGFjaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuLmljb24ge1xuICAtLXNpemU6IDFlbTtcbiAgZm9udC1zaXplOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG59XG5cbi5pY29uLS0zeHMge1xuICAtLXNpemU6IDhweDtcbn1cblxuLmljb24tLTJ4cyB7XG4gIC0tc2l6ZTogMTJweDtcbn1cblxuLmljb24tLXhzIHtcbiAgLS1zaXplOiAxNnB4O1xufVxuXG4uaWNvbi0tc20ge1xuICAtLXNpemU6IDI0cHg7XG59XG5cbi5pY29uLS1tZCB7XG4gIC0tc2l6ZTogMzJweDtcbn1cblxuLmljb24tLWxnIHtcbiAgLS1zaXplOiA0OHB4O1xufVxuXG4uaWNvbi0teGwge1xuICAtLXNpemU6IDY0cHg7XG59XG5cbi5pY29uLS0yeGwge1xuICAtLXNpemU6IDk2cHg7XG59XG5cbi5pY29uLS0zeGwge1xuICAtLXNpemU6IDEyOHB4O1xufVxuXG4vKiByb3RhdGUgdGhlIGljb24gaW5maW5pdGVseSAqL1xuLmljb24tLWlzLXNwaW5uaW5nIHtcbiAgYW5pbWF0aW9uOiBpY29uLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIGljb24tc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBTVkcgc3ltYm9scyAtIGVuYWJsZSBpY29uIGNvbG9yIGNvcnJlY3Rpb25zICovXG4uaWNvbiB1c2Uge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuLmJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4xNSk7XG59XG4uYnRuOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xufVxuXG4vKiBwcmltYXJ5ICovXG4uYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IGhzbGEodmFyKC0tY29sb3Itd2hpdGUtaCksIHZhcigtLWNvbG9yLXdoaXRlLXMpLCB2YXIoLS1jb2xvci13aGl0ZS1sKSwgMC4xNSksIHZhcigtLXNoYWRvdy14cyk7XG59XG4uYnRuLS1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IGhzbGEodmFyKC0tY29sb3Itd2hpdGUtaCksIHZhcigtLWNvbG9yLXdoaXRlLXMpLCB2YXIoLS1jb2xvci13aGl0ZS1sKSwgMC4xNSksIHZhcigtLXNoYWRvdy1zbSk7XG59XG4uYnRuLS1wcmltYXJ5OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCAwLjE1KSwgMHB4IDBweCAwcHggMnB4IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4yKTtcbn1cblxuLyogc3VidGxlICovXG4uYnRuLS1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXIpO1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpLCB2YXIoLS1zaGFkb3cteHMpO1xufVxuLmJ0bi0tc3VidGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHRlcik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlciksIHZhcigtLXNoYWRvdy1zbSk7XG59XG4uYnRuLS1zdWJ0bGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpLCAwcHggMHB4IDBweCAycHggaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjA1KTtcbn1cblxuLyogYWNjZW50ICovXG4uYnRuLS1hY2NlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMXB4IDBweCBoc2xhKHZhcigtLWNvbG9yLXdoaXRlLWgpLCB2YXIoLS1jb2xvci13aGl0ZS1zKSwgdmFyKC0tY29sb3Itd2hpdGUtbCksIDAuMTUpLCB2YXIoLS1zaGFkb3cteHMpO1xufVxuLmJ0bi0tYWNjZW50OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDFweCAwcHggaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCAwLjE1KSwgdmFyKC0tc2hhZG93LXNtKTtcbn1cbi5idG4tLWFjY2VudDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAxcHggMHB4IGhzbGEodmFyKC0tY29sb3Itd2hpdGUtaCksIHZhcigtLWNvbG9yLXdoaXRlLXMpLCB2YXIoLS1jb2xvci13aGl0ZS1sKSwgMC4xNSksIDBweCAwcHggMHB4IDJweCBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbCksIDAuMik7XG59XG5cbi8qIGZlZWRiYWNrICovXG4uYnRuLS1kaXNhYmxlZCwgLmJ0bltkaXNhYmxlZF0sIC5idG5bcmVhZG9ubHldIHtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBhIGJ1dHRvbiBjb250YWluaW5nIChvbmx5KSBhbiBpY29uICovXG4uYnRuLS1pY29uIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLyogc2l6ZSAqL1xuLmJ0bi0tc20ge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uYnRuLS1tZCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi5idG4tLWxnIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdyk7XG59XG4uZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1sb3cpO1xufVxuLmZvcm0tY29udHJvbDpmb2N1cywgLmZvcm0tY29udHJvbDpmb2N1cy13aXRoaW4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItbCksIDApLCAwcHggMHB4IDBweCAycHggdmFyKC0tY29sb3ItcHJpbWFyeSksIHZhcigtLXNoYWRvdy1zbSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIGRpc2FibGVkICovXG4uZm9ybS1jb250cm9sLS1kaXNhYmxlZCxcbi5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLFxuLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIGVycm9yICovXG4uZm9ybS1jb250cm9sW2FyaWEtaW52YWxpZD10cnVlXSxcbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLS1lcnJvciB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItbCksIDApLCAwcHggMHB4IDBweCAycHggdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLmZvcm0tY29udHJvbFthcmlhLWludmFsaWQ9dHJ1ZV06Zm9jdXMsIC5mb3JtLWNvbnRyb2xbYXJpYS1pbnZhbGlkPXRydWVdOmZvY3VzLXdpdGhpbixcbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLS1lcnJvcjpmb2N1cyxcbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLS1lcnJvcjpmb2N1cy13aXRoaW4ge1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWwpLCAwKSwgMHB4IDBweCAwcHggMnB4IHZhcigtLWNvbG9yLWVycm9yKSwgdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLyogbGVnZW5kICovXG4uZm9ybS1sZWdlbmQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LW1kKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4vKiBsYWJlbCAqL1xuLmZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkZpbGUjOiBfMV9hY2NvcmRpb25cblRpdGxlOiBBY2NvcmRpb25cbkRlc2NyOiBDcmVhdGUgc3RhY2tlZCBzZWN0aW9ucyBvZiBjb250ZW50IGFuZCBhbGxvdyB0aGUgdXNlciB0byBleHBhbmQvY29sbGFwc2UgdGhlbVxuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gIC0tYWNjb3JkaW9uLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbiAgLS1hY2NvcmRpb24taWNvbi1zaXplOiAxZW07XG4gIC0tYWNjb3JkaW9uLWljb24tc3Ryb2tlLXdpZHRoOiAxLjVweDtcbn1cblxuLmFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjb3JkaW9uLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLWFjY29yZGlvbi1ib3JkZXItd2lkdGgpO1xufVxuLmFjY29yZGlvbl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLWFjY29yZGlvbi1ib3JkZXItd2lkdGgpO1xufVxuXG4uYWNjb3JkaW9uX19oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYWNjb3JkaW9uX19oZWFkZXIgLmljb24ge1xuICAtLXNpemU6IHZhcigtLWFjY29yZGlvbi1pY29uLXNpemUpO1xufVxuLmFjY29yZGlvbl9faGVhZGVyIC5pY29uIC5pY29uX19ncm91cCB7XG4gIHN0cm9rZS13aWR0aDogdmFyKC0tYWNjb3JkaW9uLWljb24tc3Ryb2tlLXdpZHRoKTtcbn1cblxuLmFjY29yZGlvbl9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAsXG4uYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCxcbi5hY2NvcmRpb25fX2ljb24tcGx1cyAuaWNvbl9fZ3JvdXAge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA4cHggOHB4O1xufVxuLmFjY29yZGlvbl9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAgPiAqLFxuLmFjY29yZGlvbl9faWNvbi1hcnJvdy12MiAuaWNvbl9fZ3JvdXAgPiAqLFxuLmFjY29yZGlvbl9faWNvbi1wbHVzIC5pY29uX19ncm91cCA+ICoge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA4cHggOHB4O1xufVxuXG4uYWNjb3JkaW9uX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICosXG4uYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCA+ICoge1xuICBzdHJva2UtZGFzaGFycmF5OiAxNztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG59XG4uYWNjb3JkaW9uX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQsXG4uYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICBzdHJva2UtZGFzaG9mZnNldDogOC41O1xufVxuLmFjY29yZGlvbl9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAgPiAqOmxhc3QtY2hpbGQsXG4uYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCA+ICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiA4LjU7XG59XG5cbi5hY2NvcmRpb25fX2ljb24tcGx1cyAuaWNvbl9fZ3JvdXAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmFjY29yZGlvbl9faWNvbi1wbHVzIC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4uYWNjb3JkaW9uX19pdGVtLS1pcy1vcGVuID4gLmFjY29yZGlvbl9faGVhZGVyID4gLmFjY29yZGlvbl9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHJvdGF0ZSgtOTBkZWcpO1xufVxuLmFjY29yZGlvbl9faXRlbS0taXMtb3BlbiA+IC5hY2NvcmRpb25fX2hlYWRlciA+IC5hY2NvcmRpb25fX2ljb24tYXJyb3cgLmljb25fX2dyb3VwID4gKjpsYXN0LWNoaWxkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHJvdGF0ZSg5MGRlZyk7XG59XG4uYWNjb3JkaW9uX19pdGVtLS1pcy1vcGVuID4gLmFjY29yZGlvbl9faGVhZGVyID4gLmFjY29yZGlvbl9faWNvbi1hcnJvdy12MiAuaWNvbl9fZ3JvdXAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmFjY29yZGlvbl9faXRlbS0taXMtb3BlbiA+IC5hY2NvcmRpb25fX2hlYWRlciA+IC5hY2NvcmRpb25fX2ljb24tYXJyb3ctdjIgLmljb25fX2dyb3VwID4gKjpmaXJzdC1jaGlsZCwgLmFjY29yZGlvbl9faXRlbS0taXMtb3BlbiA+IC5hY2NvcmRpb25fX2hlYWRlciA+IC5hY2NvcmRpb25fX2ljb24tYXJyb3ctdjIgLmljb25fX2dyb3VwICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cbi5hY2NvcmRpb25fX2l0ZW0tLWlzLW9wZW4gPiAuYWNjb3JkaW9uX19oZWFkZXIgPiAuYWNjb3JkaW9uX19pY29uLXBsdXMgLmljb25fX2dyb3VwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG59XG4uYWNjb3JkaW9uX19pdGVtLS1pcy1vcGVuID4gLmFjY29yZGlvbl9faGVhZGVyID4gLmFjY29yZGlvbl9faWNvbi1wbHVzIC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbn1cblxuLmpzIC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGhlaWdodDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7XG59XG4uanMgLmFjY29yZGlvbl9faXRlbS0taXMtb3BlbiA+IC5hY2NvcmRpb25fX3BhbmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hY2NvcmRpb25bZGF0YS1hbmltYXRpb249b25dIC5hY2NvcmRpb25fX2l0ZW0tLWlzLW9wZW4gLmFjY29yZGlvbl9fcGFuZWwgPiAqIHtcbiAgYW5pbWF0aW9uOiBhY2NvcmRpb24tZW50cnktYW5pbWF0aW9uIDAuNHMgdmFyKC0tZWFzZS1vdXQpO1xufVxuLmFjY29yZGlvbltkYXRhLWFuaW1hdGlvbj1vbl0gLmFjY29yZGlvbl9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAsXG4uYWNjb3JkaW9uW2RhdGEtYW5pbWF0aW9uPW9uXSAuYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCxcbi5hY2NvcmRpb25bZGF0YS1hbmltYXRpb249b25dIC5hY2NvcmRpb25fX2ljb24tcGx1cyAuaWNvbl9fZ3JvdXAge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyB2YXIoLS1lYXNlLW91dCk7XG59XG4uYWNjb3JkaW9uW2RhdGEtYW5pbWF0aW9uPW9uXSAuYWNjb3JkaW9uX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICosXG4uYWNjb3JkaW9uW2RhdGEtYW5pbWF0aW9uPW9uXSAuYWNjb3JkaW9uX19pY29uLWFycm93LXYyIC5pY29uX19ncm91cCA+ICosXG4uYWNjb3JkaW9uW2RhdGEtYW5pbWF0aW9uPW9uXSAuYWNjb3JkaW9uX19pY29uLXBsdXMgLmljb25fX2dyb3VwID4gKiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBzdHJva2UtZGFzaG9mZnNldCAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZWFzZS1vdXQpO1xufVxuXG5Aa2V5ZnJhbWVzIGFjY29yZGlvbi1lbnRyeS1hbmltYXRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfYnJlYWRjcnVtYnNcblRpdGxlOiBCcmVhZGNydW1ic3NcbkRlc2NyOiBMaXN0IG9mIGxpbmtzIHRvIGhlbHAgdGhlIHVzZXIgbW92ZSB3aXRoaW4gd2Vic2l0ZSBzdHJ1Y3R1cmVcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJyZWFkY3J1bWJzX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9jYXJkLXYxNFxuVGl0bGU6IENhcmQgdjE0XG5EZXNjcjogQ29udGFpbmVyIG9mIGluZm9ybWF0aW9uIHVzZWQgYXMgdGVhc2VyIGZvciBmdXJ0aGVyIGNvbnRlbnQgZXhwbG9yYXRpb25cblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNhcmQtdjE0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pbm5lci1nbG93KSwgdmFyKC0tc2hhZG93LXNtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbn1cbi5jYXJkLXYxNDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXIpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pbm5lci1nbG93KSwgdmFyKC0tc2hhZG93LW1kKTtcbn1cblxuLmNhcmQtdjE0X19pY29uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbCksIDAuMik7XG59XG5cbi5jYXJkLXYxNF9faWNvbiB7XG4gIC0tc2l6ZTogMjRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfY2lyY2xlLWxvYWRlclxuVGl0bGU6IENpcmNsZSBMb2FkZXJcbkRlc2NyOiBBIGNvbGxlY3Rpb24gb2YgYW5pbWF0ZWQgY2lyY2xlIGxvYWRlcnNcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAtLWNpcmNsZS1sb2FkZXItdjEtc2l6ZTogNDhweDtcbiAgLS1jaXJjbGUtbG9hZGVyLXYxLXN0cm9rZS13aWR0aDogNHB4O1xuICAtLWNpcmNsZS1sb2FkZXItdjItc2l6ZTogNjRweDtcbiAgLS1jaXJjbGUtbG9hZGVyLXYyLXN0cm9rZS13aWR0aDogMjtcbiAgLS1jaXJjbGUtbG9hZGVyLXYzLXNpemU6IDY0cHg7XG4gIC0tY2lyY2xlLWxvYWRlci12NC1zaXplOiA0OHB4O1xuICAtLWNpcmNsZS1sb2FkZXItdjUtc2l6ZTogNjRweDtcbiAgLS1jaXJjbGUtbG9hZGVyLXY2LXNpemU6IDQ4cHg7XG59XG5cbi5jaXJjbGUtbG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBzdXBwb3J0cyAoYW5pbWF0aW9uLW5hbWU6IHRoaXMpIHtcbiAgLmNpcmNsZS1sb2FkZXJfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICB9XG59XG5Ac3VwcG9ydHMgKGFuaW1hdGlvbi1uYW1lOiB0aGlzKSB7XG4gIC5jaXJjbGUtbG9hZGVyLS12MSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgYW5pbWF0aW9uOiBjaXJjbGUtbG9hZGVyLTEgMC43NXMgaW5maW5pdGUgdmFyKC0tZWFzZS1pbi1vdXQpO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12MSAuY2lyY2xlLWxvYWRlcl9fY2lyY2xlIHtcbiAgICB3aWR0aDogdmFyKC0tY2lyY2xlLWxvYWRlci12MS1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNpcmNsZS1sb2FkZXItdjEtc2l6ZSk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1jaXJjbGUtbG9hZGVyLXYxLXN0cm9rZS13aWR0aCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgLmNpcmNsZS1sb2FkZXItLXYxIC5jaXJjbGUtbG9hZGVyX19jaXJjbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXdpZHRoOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2lyY2xlLWxvYWRlci0xIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpO1xuICB9XG59XG5Ac3VwcG9ydHMgKGFuaW1hdGlvbi1uYW1lOiB0aGlzKSB7XG4gIC5jaXJjbGUtbG9hZGVyLS12MiB7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBhbmltYXRpb246IGNpcmNsZS1sb2FkZXItc3Bpbm5pbmctbWFpbiAxLjRzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxuICAuY2lyY2xlLWxvYWRlci0tdjIgLmNpcmNsZS1sb2FkZXJfX3N2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLWNpcmNsZS1sb2FkZXItdjItc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaXJjbGUtbG9hZGVyLXYyLXNpemUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuICAuY2lyY2xlLWxvYWRlci0tdjIgLmNpcmNsZS1sb2FkZXJfX3N2ZyA+ICoge1xuICAgIHN0cm9rZS13aWR0aDogdmFyKC0tY2lyY2xlLWxvYWRlci12Mi1zdHJva2Utd2lkdGgpO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12MiAuY2lyY2xlLWxvYWRlcl9fYmFzZSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12MiAuY2lyY2xlLWxvYWRlcl9fZmlsbCB7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDkwIDEyMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBhbmltYXRpb246IGNpcmNsZS1sb2FkZXItZGFzaCAxLjRzIGluZmluaXRlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZS1sb2FkZXItZGFzaCB7XG4gIDAlLCAyMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDUwJSwgNzAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZS1sb2FkZXItc3Bpbm5pbmctbWFpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Ac3VwcG9ydHMgKGFuaW1hdGlvbi1uYW1lOiB0aGlzKSB7XG4gIC5jaXJjbGUtbG9hZGVyLS12MyB7XG4gICAgd2lkdGg6IHZhcigtLWNpcmNsZS1sb2FkZXItdjMtc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaXJjbGUtbG9hZGVyLXYzLXNpemUpO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12MyAuY2lyY2xlLWxvYWRlcl9fY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIGFuaW1hdGlvbjogY2lyY2xlLWxvYWRlci0zIDEuMnMgaW5maW5pdGU7XG4gIH1cbiAgLmNpcmNsZS1sb2FkZXItLXYzIC5jaXJjbGUtbG9hZGVyX19jaXJjbGUtLTJuZCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZS1sb2FkZXItMyB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBzdXBwb3J0cyAoYW5pbWF0aW9uLW5hbWU6IHRoaXMpIHtcbiAgLmNpcmNsZS1sb2FkZXItLXY0IHtcbiAgICB3aWR0aDogdmFyKC0tY2lyY2xlLWxvYWRlci12NC1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNpcmNsZS1sb2FkZXItdjQtc2l6ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmNpcmNsZS1sb2FkZXItLXY0IC5jaXJjbGUtbG9hZGVyX19tYXNrLFxuICAuY2lyY2xlLWxvYWRlci0tdjQgLmNpcmNsZS1sb2FkZXJfX2NpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12NCAuY2lyY2xlLWxvYWRlcl9fbWFzayB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IGNpcmNsZShjYWxjKDAuNSAqIHZhcigtLWNpcmNsZS1sb2FkZXItdjQtc2l6ZSkpKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogY2lyY2xlKGNhbGMoMC41ICogdmFyKC0tY2lyY2xlLWxvYWRlci12NC1zaXplKSkpO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12NCAuY2lyY2xlLWxvYWRlcl9fY2lyY2xlLS0xc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdyk7XG4gIH1cbiAgLmNpcmNsZS1sb2FkZXItLXY0IC5jaXJjbGUtbG9hZGVyX19jaXJjbGUtLTJuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgICBhbmltYXRpb246IGNpcmNsZS1sb2FkZXItNCAxLjJzIGluZmluaXRlIGN1YmljLWJlemllcigwLjIzLCAwLjksIDAuNzUsIDAuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjaXJjbGUtbG9hZGVyLTQge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5Ac3VwcG9ydHMgKGFuaW1hdGlvbi1uYW1lOiB0aGlzKSB7XG4gIC5jaXJjbGUtbG9hZGVyLS12NSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaXJjbGUtbG9hZGVyLXY1LXNpemUpO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cbiAgLmNpcmNsZS1sb2FkZXItLXY1IC5jaXJjbGUtbG9hZGVyX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG4gIC5jaXJjbGUtbG9hZGVyLS12NSAuY2lyY2xlLWxvYWRlcl9fYmFsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuMTQwNjI1ZW0pO1xuICAgIHdpZHRoOiAwLjI4MTI1ZW07XG4gICAgaGVpZ2h0OiAwLjI4MTI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogY2lyY2xlLWxvYWRlci01LWJhbGwgMC44cyBpbmZpbml0ZTtcbiAgfVxuICAuY2lyY2xlLWxvYWRlci0tdjUgLmNpcmNsZS1sb2FkZXJfX3NoYWRvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuMTU2MjVlbSk7XG4gICAgd2lkdGg6IDAuMzEyNWVtO1xuICAgIGhlaWdodDogMC4zMTI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjQpIHNjYWxlWCgxLjIpO1xuICAgIGFuaW1hdGlvbjogY2lyY2xlLWxvYWRlci01LXNoYWRvdyAwLjhzIGluZmluaXRlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZS1sb2FkZXItNS1iYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42MSwgMC4xMiwgMC44NSwgMC40KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjU2MjVlbSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTIsIDAuNTksIDAuNDYsIDAuOTUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjaXJjbGUtbG9hZGVyLTUtc2hhZG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNCkgc2NhbGVYKDEuMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjYxLCAwLjEyLCAwLjg1LCAwLjQpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC4yKSBzY2FsZVgoMC42KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1sb3cpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjEyLCAwLjU5LCAwLjQ2LCAwLjk1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjQpIHNjYWxlWCgxLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbiAgfVxufVxuQHN1cHBvcnRzIChhbmltYXRpb24tbmFtZTogdGhpcykge1xuICAuY2lyY2xlLWxvYWRlci0tdjYgLmNpcmNsZS1sb2FkZXJfX3N2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLWNpcmNsZS1sb2FkZXItdjYtc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaXJjbGUtbG9hZGVyLXY2LXNpemUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuICAuY2lyY2xlLWxvYWRlci0tdjYgLmNpcmNsZS1sb2FkZXJfX2ZpbGwge1xuICAgIHN0cm9rZS13aWR0aDogOHB4O1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAzNTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAzNiAzNjtcbiAgICBhbmltYXRpb246IGNpcmNsZS1sb2FkZXItNiAxLjVzIGluZmluaXRlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNpcmNsZS1sb2FkZXItNiB7XG4gIDAlLCAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMzU7XG4gIH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTM1O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8xX2NvbmZldHRpLWJ1dHRvblxuVGl0bGU6IENvbmZldHRpIEJ1dHRvblxuRGVzY3I6IEEgY29sbGVjdGlvbiBvZiBzcGFyayBidXR0b24gZWZmZWN0c1xuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29uZmV0dGktYnRuX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBzdXBwb3J0cyAoLS1jc3M6IHZhcmlhYmxlcykge1xuICAuY29uZmV0dGktYnRuX19pY29uIHtcbiAgICAtLXNpemU6IDE2cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyh2YXIoLS1jb25mLWJ0bi1jbGljay15LCA1MCUpIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLWNvbmYtYnRuLWNsaWNrLXgsIDUwJSkgLSB2YXIoLS1zaXplKSAvIDIpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5jb25mZXR0aS1idG5fX2ljb24gKiB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYyh2YXIoLS1zaXplKSAvIDIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbmZldHRpLWJ0bi0tYW5pbWF0ZSAuY29uZmV0dGktYnRuX19pY29uIHtcbiAgLS1jb25mZXR0aS1idG4tYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tMCB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tMC1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tMSB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tMS1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tMiB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tMi1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tMyB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tMy1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tNCB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tNC1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5jb25mZXR0aS1idG4tLWFuaW1hdGUgLmNvbmZldHRpLWJ0bl9faWNvbiAuY29uZi1idG4tc3ZnLWl0ZW0tNSB7XG4gIGFuaW1hdGlvbjogY29uZmV0dGktYnRuLWl0ZW0tNS1hbmltIHZhcigtLWNvbmZldHRpLWJ0bi1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbn1cblxuQGtleWZyYW1lcyBjb25mZXR0aS1idG4taXRlbS0wLWFuaW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29uZmV0dGktYnRuLWl0ZW0tMS1hbmltIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KSBzY2FsZSgwLjgpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29uZmV0dGktYnRuLWl0ZW0tMi1hbmltIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NHB4KSB0cmFuc2xhdGVYKDIwcHgpIHNjYWxlKDAuNykgcm90YXRlKDVkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbmZldHRpLWJ0bi1pdGVtLTMtYW5pbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzZweCkgdHJhbnNsYXRlWCgtMjBweCkgc2NhbGUoMC42KSByb3RhdGUoLTlkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbmZldHRpLWJ0bi1pdGVtLTQtYW5pbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgdHJhbnNsYXRlWCgxMHB4KSBzY2FsZSgwLjgpIHJvdGF0ZSgtMTJkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbmZldHRpLWJ0bi1pdGVtLTUtYW5pbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCkgdHJhbnNsYXRlWCgtMTBweCkgc2NhbGUoMC45KSByb3RhdGUoN2RlZyk7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfZW1vamktZmVlZGJhY2tcblRpdGxlOiBFbW9qaSBGZWVkYmFja1xuRGVzY3I6IEEgZmVlZGJhY2sgY29sbGVjdGlvbiBzeXN0ZW0gYmFzZWQgb24gZW1vdGljb25zXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgLS1lbW9qaS1yYXRlLXNpemU6IDQwcHg7XG59XG5cbi5lbW9qaS1yYXRlX19saXN0ID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZW1vamktcmF0ZS1zaXplKTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyB2YXIoLS1lYXNlLW91dC1iYWNrKTtcbn1cblxuLmVtb2ppLXJhdGVfX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbn1cbi5lbW9qaS1yYXRlX19pY29uICoge1xuICB0cmFuc2l0aW9uOiBmaWxsLCBzdHJva2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG59XG5cbi5lbW9qaS1yYXRlX19oYW5kLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1lbW9qaS1yYXRlLXNpemUpO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cblxuI2Vtb2ppLXJhdGUtcGFydGlhbGx5LWhhbmQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0ICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0tbm8gLmVtb2ppLXJhdGVfX2ljb24gI2Vtb2ppLXJhdGUtbm8tZXllcyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLW5vIC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLW5vLW1vdXRoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0ICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0teWVzIC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLXllcy1leWVzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLXllcyAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS15ZXMtbW91dGgge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0ICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0tcGFydGlhbGx5IC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLXBhcnRpYWxseS1leWVzIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMjBweCAxOS41cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZVkoMSk7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0ICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0tcGFydGlhbGx5IC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLXBhcnRpYWxseS1tb3V0aCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDIwcHggMjhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlWCgxKTtcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQgfiAuZW1vamktcmF0ZV9faGFuZC1pY29uICNlbW9qaS1yYXRlLXBhcnRpYWxseS1oYW5kIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogN3B4IDM1cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpjaGVja2VkICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dCxcbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCB+IC5lbW9qaS1yYXRlX19oYW5kLWljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAuZW1vamktcmF0ZV9fY3VzdG9tLWlucHV0LS1ubyAuZW1vamktcmF0ZV9faWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAuZW1vamktcmF0ZV9fY3VzdG9tLWlucHV0LS1ubyAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS1uby1iZyB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0KTtcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLW5vIC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLW5vLWV5ZXMge1xuICBhbmltYXRpb246IGVtb2ppLXJhdGUtbm8tZXllcy1hbmltIDEuNnM7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAuZW1vamktcmF0ZV9fY3VzdG9tLWlucHV0LS1ubyAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS1uby1tb3V0aCB7XG4gIGFuaW1hdGlvbjogZW1vamktcmF0ZS1uby1tb3V0aC1hbmltIDEuNnM7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAuZW1vamktcmF0ZV9fY3VzdG9tLWlucHV0LS15ZXMgLmVtb2ppLXJhdGVfX2ljb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpjaGVja2VkICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0teWVzIC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLXllcy1iZyB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpjaGVja2VkICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0teWVzIC5lbW9qaS1yYXRlX19pY29uICNlbW9qaS1yYXRlLXllcy1leWVzIHtcbiAgYW5pbWF0aW9uOiBlbW9qaS1yYXRlLXllcy1leWVzLWFuaW0gMS42cztcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLXllcyAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS15ZXMtbW91dGgge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNzAlO1xuICBhbmltYXRpb246IGVtb2ppLXJhdGUteWVzLW1vdXRoLWFuaW0gMS42cztcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLXllcyAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS15ZXMtdG9uZ3VlIHtcbiAgZmlsbDogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpjaGVja2VkICsgLmVtb2ppLXJhdGVfX2N1c3RvbS1pbnB1dC0tcGFydGlhbGx5IC5lbW9qaS1yYXRlX19pY29uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLXBhcnRpYWxseSAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS1wYXJ0aWFsbHktYmcge1xuICBmaWxsOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLXBhcnRpYWxseSAuZW1vamktcmF0ZV9faWNvbiAjZW1vamktcmF0ZS1wYXJ0aWFsbHktZXllcyB7XG4gIGFuaW1hdGlvbjogZW1vamktcmF0ZS1wYXJ0aWFsbHktZXllcy1hbmltIDEuNnM7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAuZW1vamktcmF0ZV9fY3VzdG9tLWlucHV0LS1wYXJ0aWFsbHkgLmVtb2ppLXJhdGVfX2ljb24gI2Vtb2ppLXJhdGUtcGFydGlhbGx5LW1vdXRoIHtcbiAgYW5pbWF0aW9uOiBlbW9qaS1yYXRlLXBhcnRpYWxseS1tb3V0aC1hbmltIDEuNnM7XG59XG4uZW1vamktcmF0ZV9fbmF0aXZlLWlucHV0OmNoZWNrZWQgfiAuZW1vamktcmF0ZV9faGFuZC1pY29uICNlbW9qaS1yYXRlLXBhcnRpYWxseS1oYW5kIHtcbiAgYW5pbWF0aW9uOiBlbW9qaS1yYXRlLXBhcnRpYWxseS1oYW5kLWFuaW0gMS42cztcbn1cblxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpmb2N1cyArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggaHNsYSh2YXIoLS1jb2xvci13YXJuaW5nLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWwpLCAwLjMpO1xufVxuLmVtb2ppLXJhdGVfX25hdGl2ZS1pbnB1dDpmb2N1cyArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQtLW5vIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItaCksIHZhcigtLWNvbG9yLWVycm9yLXMpLCB2YXIoLS1jb2xvci1lcnJvci1sKSwgMC4yNSk7XG59XG5cbi5lbW9qaS1yYXRlX19uYXRpdmUtaW5wdXQ6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSArIC5lbW9qaS1yYXRlX19jdXN0b20taW5wdXQge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgZW1vamktcmF0ZS1uby1leWVzLWFuaW0ge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMzAlLCA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpIHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KSB0cmFuc2xhdGVYKC00cHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgdHJhbnNsYXRlWCg0cHgpO1xuICB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgdHJhbnNsYXRlWCgwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGVtb2ppLXJhdGUtbm8tbW91dGgtYW5pbSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAzMCUsIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIuNXB4KSB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIuNXB4KSB0cmFuc2xhdGVYKC0yLjVweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMi41cHgpIHRyYW5zbGF0ZVgoMi41cHgpO1xuICB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIuNXB4KSB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZW1vamktcmF0ZS15ZXMtbW91dGgtYW5pbSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIH1cbiAgMzAlLCA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMi41cHgpIHNjYWxlKDEuMik7XG4gIH1cbiAgNTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMS4yKTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMi41cHgpIHNjYWxlKDEuMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZW1vamktcmF0ZS15ZXMtZXllcy1hbmltIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAzMCUsIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yLjVweCk7XG4gIH1cbiAgNTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuNXB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBlbW9qaS1yYXRlLXBhcnRpYWxseS1leWVzLWFuaW0ge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlWSgxKTtcbiAgfVxuICAzMCUsIDQwJSwgNjAlLCA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZVkoMSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGVZKDAuMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZW1vamktcmF0ZS1wYXJ0aWFsbHktbW91dGgtYW5pbSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGVYKDEpO1xuICB9XG4gIDMwJSwgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCkgc2NhbGVYKDAuNik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZW1vamktcmF0ZS1wYXJ0aWFsbHktaGFuZC1hbmltIHtcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDMwJSwgNzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8xX2V4cGFuZGFibGUtc2lkZS1uYXZpZ2F0aW9uXG5UaXRsZTogRXhwYW5kYWJsZSBTaWRlIE5hdmlnYXRpb25cbkRlc2NyOiBBIHNpZGUgbmF2aWdhdGlvbiB3aXRoIGV4cGFuZGFibGUgc3ViLWxpc3RzIGFuZCBwb3B1bGFyIGxpbmtzXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5leHNpZGVuYXZfX3BvcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5leHNpZGVuYXZfX3BvcC1saW5rLFxuLmV4c2lkZW5hdl9fbGluayxcbi5leHNpZGVuYXZfX2NvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4uZXhzaWRlbmF2X19wb3AtbGluazpob3Zlcixcbi5leHNpZGVuYXZfX2xpbms6aG92ZXIsXG4uZXhzaWRlbmF2X19jb250cm9sOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBwb3B1bGFyIGxpbmtzICovXG4uZXhzaWRlbmF2X19wb3AtbGluayAuaWNvbiB7XG4gIC0tc2l6ZTogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cbi5leHNpZGVuYXZfX3BvcC1saW5rOmhvdmVyIC5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5leHNpZGVuYXZfX3BvcC1saW5rW2FyaWEtY3VycmVudD1wYWdlXSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWwpLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbn1cbi5leHNpZGVuYXZfX3BvcC1saW5rW2FyaWEtY3VycmVudD1wYWdlXSAuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIG1haW4gbGlua3MgKi9cbi5leHNpZGVuYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZXhzaWRlbmF2X19saXN0IC5leHNpZGVuYXZfX2xpc3QgLmV4c2lkZW5hdl9fbGluazo6YmVmb3JlIHsgLyogbGVmdCBtYXJrICovXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTFweDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxcHg7XG59XG4uZXhzaWRlbmF2X19saW5rW2FyaWEtY3VycmVudD1wYWdlXSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5leHNpZGVuYXZfX2xpbmtbYXJpYS1jdXJyZW50PXBhZ2VdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogbGlzdCBsYWJlbCAqL1xuLmV4c2lkZW5hdl9fbGFiZWwtd3JhcHBlciB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtbWQpIDAgdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS0yeHMpO1xufVxuLmV4c2lkZW5hdl9fbGlzdCAuZXhzaWRlbmF2X19saXN0IC5leHNpZGVuYXZfX2xhYmVsLXdyYXBwZXIge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwIHZhcigtLXNwYWNlLTN4cykgdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmV4c2lkZW5hdl9fbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtbG93KTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xufVxuXG4vKiBidXR0b24gY29udHJvbGxpbmcgc3ViIG5hdmlnYXRpb25zICovXG4uZXhzaWRlbmF2X19jb250cm9sIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5leHNpZGVuYXZfX2NvbnRyb2wgLmljb24ge1xuICAtLXNpemU6IDE2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5leHNpZGVuYXZfX2NvbnRyb2wgLmljb25fX2dyb3VwIHtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogOHB4IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgdmFyKC0tZWFzZS1vdXQpO1xufVxuLmV4c2lkZW5hdl9fY29udHJvbCAuaWNvbl9fZ3JvdXAgPiAqIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogOHB4IDhweDtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMTc7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWVhc2Utb3V0KTtcbn1cbi5leHNpZGVuYXZfX2NvbnRyb2wgLmljb25fX2dyb3VwID4gKjpmaXJzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAxMDtcbn1cbi5leHNpZGVuYXZfX2NvbnRyb2wgLmljb25fX2dyb3VwID4gKjpsYXN0LWNoaWxkIHtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwO1xufVxuLmV4c2lkZW5hdl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVdICsgLmV4c2lkZW5hdl9fbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiBzaG93IHRoZSBzdWJuYXZpZ2F0aW9uICovXG59XG4uZXhzaWRlbmF2X19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gKyAuZXhzaWRlbmF2X19saXN0ID4gKiB7XG4gIGFuaW1hdGlvbjogZXhzaWRlbmF2LWVudHJ5LWFuaW1hdGlvbiAwLjRzIHZhcigtLWVhc2Utb3V0KTsgLyogYW5pbWF0ZSBsaXN0IGl0ZW1zICovXG59XG4uZXhzaWRlbmF2X19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb25fX2dyb3VwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5leHNpZGVuYXZfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbl9fZ3JvdXAgPiAqOmZpcnN0LWNoaWxkLCAuZXhzaWRlbmF2X19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmljb25fX2dyb3VwICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cblxuLmV4c2lkZW5hdl9fbGlzdCAuZXhzaWRlbmF2X19saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNHhzKSAwIDAgdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuQGtleWZyYW1lcyBleHNpZGVuYXYtZW50cnktYW5pbWF0aW9uIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgLmV4c2lkZW5hdl9fcG9wLWxpbmssXG4gIC5leHNpZGVuYXZfX2xpbmssXG4gIC5leHNpZGVuYXZfX2NvbnRyb2wge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLyogbm8tanMgc3VwcG9ydCAqL1xuaHRtbDpub3QoLmpzKSAuZXhzaWRlbmF2X19saXN0IC5leHNpZGVuYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9saXN0LXYyXG5UaXRsZTogTGlzdCB2MlxuRGVzY3I6IEN1c3RvbSBsaXN0IGNvbXBvbmVudFxuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gIC0tbGlzdC12Mi1idWxsZXQtc2l6ZTogNDBweDtcbiAgLS1saXN0LXYyLWJ1bGxldC1mb250LXNpemU6IDFyZW07XG4gIC0tbGlzdC12Mi1idWxsZXQtbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAtLWxpc3QtdjItZ2FwLXk6IHZhcigtLXNwYWNlLWxnKTsgLyogbGlzdCBwb2ludHMgZ2FwICovXG59XG5cbi5saXN0LXYyLCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubGlzdC12MiA+IGxpOm5vdCg6bGFzdC1jaGlsZCksIC50ZXh0LWNvbXBvbmVudCAubGlzdC12MiA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1saXN0LXYyLWdhcC15KTtcbn1cblxuLmxpc3QtdjJfX3RpdGxlIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWxpc3QtdjItYnVsbGV0LXNpemUpICsgdmFyKC0tbGlzdC12Mi1idWxsZXQtbWFyZ2luLXJpZ2h0KSk7XG59XG5cbi5saXN0LXYyX19idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogdmFyKC0tbGlzdC12Mi1idWxsZXQtc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tbGlzdC12Mi1idWxsZXQtc2l6ZSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbGlzdC12Mi1idWxsZXQtbWFyZ2luLXJpZ2h0KTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1saXN0LXYyLWJ1bGxldC1zaXplKSAtIHZhcigtLWxpc3QtdjItYnVsbGV0LW1hcmdpbi1yaWdodCkpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuMWVtO1xufVxuXG4ubGlzdC12Ml9fY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWxpc3QtdjItYnVsbGV0LXNpemUpICsgdmFyKC0tbGlzdC12Mi1idWxsZXQtbWFyZ2luLXJpZ2h0KSk7XG59XG5cbi8qIG9yZGVyZWQgbGlzdCAqL1xuLmxpc3QtdjItLW9sLCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjItLW9sIHtcbiAgY291bnRlci1yZXNldDogbGlzdC1pdGVtcztcbn1cbi5saXN0LXYyLS1vbCA+IGxpLCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjItLW9sID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1pdGVtcztcbn1cbi5saXN0LXYyLS1vbCAubGlzdC12Ml9fYnVsbGV0LCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjItLW9sIC5saXN0LXYyX19idWxsZXQge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4yKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXNpemU6IHZhcigtLWxpc3QtdjItYnVsbGV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubGlzdC12Mi0tb2wgLmxpc3QtdjJfX2J1bGxldDo6YmVmb3JlLCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjItLW9sIC5saXN0LXYyX19idWxsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1pdGVtcyk7XG59XG5cbi8qIHVub3JkZXJlZCBsaXN0ICovXG4ubGlzdC12Mi0tdWwsIC50ZXh0LWNvbXBvbmVudCAubGlzdC12Mi0tdWwge1xuICAtLWxpc3QtdjItYnVsbGV0LXNpemU6IDEwcHg7XG59XG4ubGlzdC12Mi0tdWwgLmxpc3QtdjJfX2J1bGxldCwgLnRleHQtY29tcG9uZW50IC5saXN0LXYyLS11bCAubGlzdC12Ml9fYnVsbGV0IHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogaWNvbnMgKi9cbi5saXN0LXYyLS1pY29ucywgLnRleHQtY29tcG9uZW50IC5saXN0LXYyLS1pY29ucyB7XG4gIC0tbGlzdC12Mi1idWxsZXQtc2l6ZTogNDhweDtcbn1cbi5saXN0LXYyLS1pY29ucyAubGlzdC12Ml9fYnVsbGV0LCAudGV4dC1jb21wb25lbnQgLmxpc3QtdjItLWljb25zIC5saXN0LXYyX19idWxsZXQge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4yKTtcbn1cbi5saXN0LXYyLS1pY29ucyAubGlzdC12Ml9faWNvbiwgLnRleHQtY29tcG9uZW50IC5saXN0LXYyLS1pY29ucyAubGlzdC12Ml9faWNvbiB7XG4gIC0tc2l6ZTogMjRweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyAvKiBpY29uIGNvbG9yICovXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfbGlzdFxuVGl0bGU6IExpc3RcbkRlc2NyOiBDdXN0b20gbGlzdCBjb21wb25lbnRcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAtLWxpc3Qtc3BhY2UteTogMC4zNzVlbTtcbiAgLS1saXN0LW9mZnNldDogMWVtO1xuICAtLWxpc3QtbGluZS1oZWlnaHQtbXVsdGlwbGllcjogMTtcbn1cblxuLmxpc3QsIC50ZXh0LWNvbXBvbmVudCAubGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5saXN0IHVsLCAubGlzdCBvbCwgLnRleHQtY29tcG9uZW50IC5saXN0IHVsLCAudGV4dC1jb21wb25lbnQgLmxpc3Qgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbGlzdC1zcGFjZS15KSAvIDIgKiB2YXIoLS10ZXh0LXNwYWNlLXktbXVsdGlwbGllciwgMSkpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1saXN0LXNwYWNlLXkpIC8gMiAqIHZhcigtLXRleHQtc3BhY2UteS1tdWx0aXBsaWVyLCAxKSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tbGlzdC1vZmZzZXQpO1xufVxuLmxpc3QgbGksIC50ZXh0LWNvbXBvbmVudCAubGlzdCBsaSB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWxpc3Qtc3BhY2UteSkgLyAyICogdmFyKC0tdGV4dC1zcGFjZS15LW11bHRpcGxpZXIsIDEpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1saXN0LXNwYWNlLXkpIC8gMiAqIHZhcigtLXRleHQtc3BhY2UteS1tdWx0aXBsaWVyLCAxKSk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuNCAqIHZhcigtLWxpc3QtbGluZS1oZWlnaHQtbXVsdGlwbGllcikpO1xufVxuLmxpc3QgPiBsaTpsYXN0LWNoaWxkLCAubGlzdCB1bCA+IGxpOmxhc3QtY2hpbGQsIC5saXN0IG9sID4gbGk6bGFzdC1jaGlsZCwgLnRleHQtY29tcG9uZW50IC5saXN0ID4gbGk6bGFzdC1jaGlsZCwgLnRleHQtY29tcG9uZW50IC5saXN0IHVsID4gbGk6bGFzdC1jaGlsZCwgLnRleHQtY29tcG9uZW50IC5saXN0IG9sID4gbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubGlzdDpub3QoLmxpc3QtLWJvcmRlcikgPiBsaTpsYXN0LWNoaWxkLCAubGlzdCB1bCA+IGxpOmxhc3QtY2hpbGQsIC5saXN0IG9sID4gbGk6bGFzdC1jaGlsZCwgLnRleHQtY29tcG9uZW50IC5saXN0Om5vdCgubGlzdC0tYm9yZGVyKSA+IGxpOmxhc3QtY2hpbGQsIC50ZXh0LWNvbXBvbmVudCAubGlzdCB1bCA+IGxpOmxhc3QtY2hpbGQsIC50ZXh0LWNvbXBvbmVudCAubGlzdCBvbCA+IGxpOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyogI3JlZ2lvbiAodWwgKyBvbCkgKi9cbi5saXN0LS11bCwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCxcbi5saXN0LS1vbCwgLnRleHQtY29tcG9uZW50IC5saXN0LS1vbCB7XG4gIC0tbGlzdC1vZmZzZXQ6IGNhbGModmFyKC0tbGlzdC1idWxsZXQtc2l6ZSkgKyB2YXIoLS1saXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQpKTtcbn1cbi5saXN0LS11bCB1bCwgLmxpc3QtLXVsIG9sLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLXVsIHVsLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLXVsIG9sLFxuLmxpc3QtLW9sIHVsLFxuLmxpc3QtLW9sIG9sLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sIHVsLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sIG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuQHN1cHBvcnRzICgtLWNzczogdmFyaWFibGVzKSB7XG4gIC5saXN0LS11bCBsaSwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCBsaSxcbiAgLmxpc3QtLW9sIGxpLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWxpc3Qtb2Zmc2V0KSAhaW1wb3J0YW50O1xuICB9XG59XG4ubGlzdC0tdWwgbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCBsaTo6YmVmb3JlLFxuLmxpc3QtLW9sIGxpOjpiZWZvcmUsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tb2wgbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjFlbTtcbn1cbkBzdXBwb3J0cyAoLS1jc3M6IHZhcmlhYmxlcykge1xuICAubGlzdC0tdWwgbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCBsaTo6YmVmb3JlLFxuICAubGlzdC0tb2wgbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS1vbCBsaTo6YmVmb3JlIHtcbiAgICB3aWR0aDogdmFyKC0tbGlzdC1idWxsZXQtc2l6ZSkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IHZhcigtLWxpc3QtYnVsbGV0LXNpemUpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1idWxsZXQtc2l6ZSkgKiAtMSkgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLWxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodCkgKiAtMSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubGlzdC0tdWwsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tdWwge1xuICAtLWxpc3QtYnVsbGV0LXNpemU6IDdweDtcbiAgLS1saXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6IDEycHg7XG59XG4ubGlzdC0tdWwgPiBsaSwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCA+IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxOXB4O1xufVxuLmxpc3QtLXVsID4gbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS11bCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICBsZWZ0OiAtMTJweDtcbn1cbi5saXN0LS11bCB1bCBsaTo6YmVmb3JlLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLXVsIHVsIGxpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGN1cnJlbnRDb2xvcjtcbn1cblxuLmxpc3QtLW9sLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sIHtcbiAgLS1saXN0LWJ1bGxldC1zaXplOiAyNnB4O1xuICAtLWxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogNnB4O1xuICAtLWxpc3QtYnVsbGV0LWZvbnQtc2l6ZTogMTRweDtcbiAgY291bnRlci1yZXNldDogbGlzdC1pdGVtcztcbn1cbi5saXN0LS1vbCA+IGxpLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sID4gbGkge1xuICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1pdGVtcztcbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xufVxuLmxpc3QtLW9sIG9sLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLW9sIG9sIHtcbiAgY291bnRlci1yZXNldDogbGlzdC1pdGVtcztcbn1cbi5saXN0LS1vbCA+IGxpOjpiZWZvcmUsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tb2wgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihsaXN0LWl0ZW1zKTtcbiAgZm9udC1zaXplOiB2YXIoLS1saXN0LWJ1bGxldC1mb250LXNpemUsIDE0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luLWxlZnQ6IC0yNnB4O1xuICBsZWZ0OiAtNnB4O1xufVxuLmxpc3QtLW9sIG9sID4gbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS1vbCBvbCA+IGxpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbn1cbi5saXN0LS1vbC5saXN0LS1hY2NlbnQtbGcsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tb2wubGlzdC0tYWNjZW50LWxnIHtcbiAgLS1saXN0LWJ1bGxldC1zaXplOiAzMnB4O1xuICAtLWxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogNnB4O1xuICAtLWxpc3QtYnVsbGV0LWZvbnQtc2l6ZTogMTRweDtcbiAgLS1saXN0LXNwYWNlLXk6IDAuNWVtO1xufVxuLmxpc3QtLW9sLmxpc3QtLWFjY2VudC1sZyA+IGxpOjpiZWZvcmUsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tb2wubGlzdC0tYWNjZW50LWxnID4gbGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYWNjZW50LWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtcyksIHZhcigtLWNvbG9yLWFjY2VudC1sKSwgMC4yKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG4ubGlzdC0tb2wubGlzdC0tYWNjZW50LWxnIG9sID4gbGk6OmJlZm9yZSwgLnRleHQtY29tcG9uZW50IC5saXN0LS1vbC5saXN0LS1hY2NlbnQtbGcgb2wgPiBsaTo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IGhzbGEodmFyKC0tY29sb3ItYWNjZW50LWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtcyksIHZhcigtLWNvbG9yLWFjY2VudC1sKSwgMC4yKTtcbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuLyogI3JlZ2lvbiAoYm9yZGVyKSAqL1xuLmxpc3QtLWJvcmRlciBsaTpub3QoOmxhc3QtY2hpbGQpLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLWJvcmRlciBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbn1cbi5saXN0LS1ib3JkZXIgdWwsIC5saXN0LS1ib3JkZXIgb2wsIC50ZXh0LWNvbXBvbmVudCAubGlzdC0tYm9yZGVyIHVsLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLWJvcmRlciBvbCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG59XG5cbi8qICNlbmRyZWdpb24gKi9cbi8qICNyZWdpb24gKGljb25zKSAqL1xuLmxpc3QtLWljb25zLCAudGV4dC1jb21wb25lbnQgLmxpc3QtLWljb25zIHtcbiAgLS1saXN0LWJ1bGxldC1zaXplOiAyNHB4O1xuICAtLWxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogOHB4O1xuICAtLWxpc3Qtb2Zmc2V0OiBjYWxjKHZhcigtLWxpc3QtYnVsbGV0LXNpemUpICsgdmFyKC0tbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0KSk7XG59XG4ubGlzdC0taWNvbnMgdWwsIC5saXN0LS1pY29ucyBvbCwgLnRleHQtY29tcG9uZW50IC5saXN0LS1pY29ucyB1bCwgLnRleHQtY29tcG9uZW50IC5saXN0LS1pY29ucyBvbCB7XG4gIHBhZGRpbmctbGVmdDogMzJweDtcbn1cbkBzdXBwb3J0cyAoLS1jc3M6IHZhcmlhYmxlcykge1xuICAubGlzdC0taWNvbnMgdWwsIC5saXN0LS1pY29ucyBvbCwgLnRleHQtY29tcG9uZW50IC5saXN0LS1pY29ucyB1bCwgLnRleHQtY29tcG9uZW50IC5saXN0LS1pY29ucyBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1saXN0LW9mZnNldCk7XG4gIH1cbn1cblxuLmxpc3RfX2ljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLmxpc3RfX2ljb246bm90KC50b3AtMCkge1xuICB0b3A6IGNhbGMoKDEuNGVtIC0gMjRweCkgLyAyKTtcbn1cbkBzdXBwb3J0cyAoLS1jc3M6IHZhcmlhYmxlcykge1xuICAubGlzdF9faWNvbiB7XG4gICAgd2lkdGg6IHZhcigtLWxpc3QtYnVsbGV0LXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tbGlzdC1idWxsZXQtc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1saXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQpO1xuICB9XG4gIC5saXN0X19pY29uOm5vdCgudG9wLTApIHtcbiAgICB0b3A6IGNhbGMoKDEuNGVtICogdmFyKC0tbGlzdC1saW5lLWhlaWdodC1tdWx0aXBsaWVyKSAtIHZhcigtLWxpc3QtYnVsbGV0LXNpemUpKSAvIDIpO1xuICB9XG59XG5cbi8qICNlbmRyZWdpb24gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfbW9kYWwtd2luZG93XG5UaXRsZTogTW9kYWwgV2luZG93XG5EZXNjcjogQSBtb2RhbCBkaWFsb2cgdXNlZCB0byBkaXNwbGF5IGNyaXRpY2FsIGluZm9ybWF0aW9uXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC1vdmVybGF5LCAxNSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm1vZGFsOm5vdCgubW9kYWwtLWlzLXZpc2libGUpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubW9kYWwtLWlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubW9kYWxfX2Nsb3NlLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4ubW9kYWxfX2Nsb3NlLWJ0biAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5tb2RhbF9fY2xvc2UtYnRuLS1vdXRlciB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZml4ZWQtZWxlbWVudCwgMTApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuOSk7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4ubW9kYWxfX2Nsb3NlLWJ0bi0tb3V0ZXIgLmljb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyB2YXIoLS1lYXNlLW91dC1iYWNrKTtcbn1cbi5tb2RhbF9fY2xvc2UtYnRuLS1vdXRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMSk7XG59XG4ubW9kYWxfX2Nsb3NlLWJ0bi0tb3V0ZXI6aG92ZXIgLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5tb2RhbF9fY2xvc2UtYnRuLS1pbm5lciB7XG4gIC0tc2l6ZTogMzJweDtcbiAgd2lkdGg6IHZhcigtLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlubmVyLWdsb3cpLCB2YXIoLS1zaGFkb3ctc20pO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuLm1vZGFsX19jbG9zZS1idG4tLWlubmVyIC5pY29uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ubW9kYWxfX2Nsb3NlLWJ0bi0taW5uZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5uZXItZ2xvdyksIHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbjpyb290IHtcbiAgLS1tb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgLm1vZGFsLS1hbmltYXRlLWZhZGUge1xuICAgIC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pLCB2aXNpYmlsaXR5IDBzIHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS1mYWRlLm1vZGFsLS1pcy12aXNpYmxlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pLCB2aXNpYmlsaXR5IDBzO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS1zY2FsZSxcbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS11cCxcbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS1kb3duLFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLXJpZ2h0LFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLWxlZnQge1xuICAgIC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiksIHZpc2liaWxpdHkgMHMgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNjYWxlIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS11cCAubW9kYWxfX2NvbnRlbnQsXG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtZG93biAubW9kYWxfX2NvbnRlbnQsXG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtcmlnaHQgLm1vZGFsX19jb250ZW50LFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLWxlZnQgLm1vZGFsX19jb250ZW50IHtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1tb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS1lYXNlLW91dCk7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNjYWxlLm1vZGFsLS1pcy12aXNpYmxlLFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLXVwLm1vZGFsLS1pcy12aXNpYmxlLFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLWRvd24ubW9kYWwtLWlzLXZpc2libGUsXG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtcmlnaHQubW9kYWwtLWlzLXZpc2libGUsXG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtbGVmdC5tb2RhbC0taXMtdmlzaWJsZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1tb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1tb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uKSwgdmlzaWJpbGl0eSAwcztcbiAgfVxuICAubW9kYWwtLWFuaW1hdGUtc2NhbGUubW9kYWwtLWlzLXZpc2libGUgLm1vZGFsX19jb250ZW50LFxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLXVwLm1vZGFsLS1pcy12aXNpYmxlIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS1kb3duLm1vZGFsLS1pcy12aXNpYmxlIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS1yaWdodC5tb2RhbC0taXMtdmlzaWJsZSAubW9kYWxfX2NvbnRlbnQsXG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtbGVmdC5tb2RhbC0taXMtdmlzaWJsZSAubW9kYWxfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLXVwLFxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtZG93bixcbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLXJpZ2h0LFxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtbGVmdCB7XG4gICAgLS1tb2RhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiksIHZpc2liaWxpdHkgMHMgdmFyKC0tbW9kYWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLXVwIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLWRvd24gLm1vZGFsX19jb250ZW50LFxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtcmlnaHQgLm1vZGFsX19jb250ZW50LFxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtbGVmdCAubW9kYWxfX2NvbnRlbnQge1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pIHZhcigtLWVhc2Utb3V0KTtcbiAgfVxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtdXAubW9kYWwtLWlzLXZpc2libGUsXG4gIC5tb2RhbC0tYW5pbWF0ZS1zbGlkZS1kb3duLm1vZGFsLS1pcy12aXNpYmxlLFxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtcmlnaHQubW9kYWwtLWlzLXZpc2libGUsXG4gIC5tb2RhbC0tYW5pbWF0ZS1zbGlkZS1sZWZ0Lm1vZGFsLS1pcy12aXNpYmxlIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLW1vZGFsLXRyYW5zaXRpb24tZHVyYXRpb24pLCB2aXNpYmlsaXR5IDBzO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS1zbGlkZS11cC5tb2RhbC0taXMtdmlzaWJsZSAubW9kYWxfX2NvbnRlbnQsXG4gIC5tb2RhbC0tYW5pbWF0ZS1zbGlkZS1kb3duLm1vZGFsLS1pcy12aXNpYmxlIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLXJpZ2h0Lm1vZGFsLS1pcy12aXNpYmxlIC5tb2RhbF9fY29udGVudCxcbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLWxlZnQubW9kYWwtLWlzLXZpc2libGUgLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS1zY2FsZSAubW9kYWxfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXRyYW5zbGF0ZS11cCAubW9kYWxfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgfVxuICAubW9kYWwtLWFuaW1hdGUtdHJhbnNsYXRlLWRvd24gLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtcmlnaHQgLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS10cmFuc2xhdGUtbGVmdCAubW9kYWxfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcbiAgfVxuICAubW9kYWwtLWFuaW1hdGUtc2xpZGUtdXAgLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLWRvd24gLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIC5tb2RhbC0tYW5pbWF0ZS1zbGlkZS1yaWdodCAubW9kYWxfX2NvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgLm1vZGFsLS1hbmltYXRlLXNsaWRlLWxlZnQgLm1vZGFsX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbn1cbi5tb2RhbC0taXMtbG9hZGluZyAubW9kYWxfX2NvbnRlbnQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubW9kYWwtLWlzLWxvYWRpbmcgLm1vZGFsX19sb2FkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9kYWxfX2xvYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfbm90ZVxuVGl0bGU6IE5vdGVcbkRlc2NyOiBBIGJyaWVmIHBpZWNlIG9mIGluZm9ybWF0aW9uIGdpdmVuIHRvIHRoZSB1c2VyXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAvKiDwn5GHIHlvdSBjYW4gb3Z2ZXJpZGUgdGhpcyBwYWRkaW5nIHVzaW5nIHRoZSBwYWRkaW5nIHV0aWxpdHkgY2xhc3NlcyAqL1xufVxuLm5vdGU6bm90KFtjbGFzc149cGFkZGluZy1dKTpub3QoW2NsYXNzKj1cIiBwYWRkaW5nLVwiXSkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5ub3RlLS13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4ubm90ZS0tZXJyb3Ige1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4ubm90ZS0tc3VjY2VzcyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnRleHQtY29tcG9uZW50IHtcbiAgLyogcmVzZXQgaW4gY2FzZSB0aGUgY29tcG9uZW50IGlzIHVzZWQgaW5zaWRlIGEgLnRleHQtY29tcG9uZW50ICovXG59XG4udGV4dC1jb21wb25lbnQgLm5vdGVfX2NvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRleHQtY29tcG9uZW50IC5ub3RlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfcGFnaW5hdGlvblxuVGl0bGU6IFBhZ2luYXRpb24gXG5EZXNjcjogQ29tcG9uZW50IHVzZWQgdG8gbmF2aWdhdGUgdGhyb3VnaCBwYWdlcyBvZiByZWxhdGVkIGNvbnRlbnRcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhZ2luYXRpb25fX2xpc3QgPiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnBhZ2luYXRpb24tLXNwbGl0IC5wYWdpbmF0aW9uX19saXN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFnaW5hdGlvbi0tc3BsaXQgLnBhZ2luYXRpb25fX2xpc3QgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnBhZ2luYXRpb24tLXNwbGl0IC5wYWdpbmF0aW9uX19saXN0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5wYWdpbmF0aW9uX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgY2FsYygxLjM1NSAqIHZhcigtLXNwYWNlLXhzKSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoKTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4ucGFnaW5hdGlvbl9faXRlbTpob3Zlcjpub3QoLnBhZ2luYXRpb25fX2l0ZW0tLXNlbGVjdGVkKTpub3QoLnBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2lzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4xKTtcbn1cbi5wYWdpbmF0aW9uX19pdGVtOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xufVxuXG4ucGFnaW5hdGlvbl9faXRlbS0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4ucGFnaW5hdGlvbl9faXRlbS0tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGFnaW5hdGlvbl9fanVtcGVyIC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogM2VtO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cbi5wYWdpbmF0aW9uX19qdW1wZXIgZW0ge1xuICBmbGV4LXNocmluazogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9wb3dlci1saW5rXG5UaXRsZTogUG93ZXIgTGlua1xuRGVzY3I6IEEgbGluayBlZmZlY3RcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBvd2VyLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5uZXItZ2xvdyksIHZhcigtLXNoYWRvdy1zbSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG4ucG93ZXItbGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlubmVyLWdsb3cpLCB2YXIoLS1zaGFkb3ctbWQpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8xX3ByZXZpb3VzLW5leHQtbGlua3NcblRpdGxlOiBQcmV2aW91cy9OZXh0IExpbmtzXG5EZXNjcjogTGlua3MgdG8gcHJldmlvdXMvbmV4dCBhcnRpY2xlc1xuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucG4tbGlua3Mge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXIpO1xufVxuXG4ucG4tbGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQgLnBuLWxpbmtzX19saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbn1cblxuLnBuLWxpbmtzX19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG59XG4ucG4tbGlua3NfX2xpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5wbi1saW5rc19fbGluazpob3ZlciAucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLnBuLWxpbmtzX19saW5rOmhvdmVyIC5wbi1saW5rc19faWNvbiBsaW5lOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuLnBuLWxpbmtzX19saW5rOmhvdmVyIC5wbi1saW5rc19faWNvbiBsaW5lOm50aC1jaGlsZCgzKSB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAxNDtcbn1cblxuLnBuLWxpbmtzX19pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMSksXG4ucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyB2YXIoLS1lYXNlLW91dCk7XG59XG4ucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA0MnB4IDE5cHg7XG59XG4ucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMikge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA0MnB4IDI5cHg7XG59XG4ucG4tbGlua3NfX2ljb24gbGluZTpudGgtY2hpbGQoMykge1xuICBzdHJva2UtZGFzaGFycmF5OiA0ODtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC4zcyB2YXIoLS1lYXNlLW91dCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NHJlbSkge1xuICAucG4tbGlua3NfX2l0ZW06Zmlyc3QtY2hpbGQgLnBuLWxpbmtzX19saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9yYWRpby1zd2l0Y2hcblRpdGxlOiBSYWRpbyBTd2l0Y2hcbkRlc2NyOiBDdXN0b20gcmFkaW8gdG9nZ2xlXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgLS1yYWRpby1zd2l0Y2gtd2lkdGg6IDcycHg7XG4gIC0tcmFkaW8tc3dpdGNoLWhlaWdodDogMzJweDtcbiAgLS1yYWRpby1zd2l0Y2gtcGFkZGluZzogM3B4O1xuICAtLXJhZGlvLXN3aXRjaC1yYWRpdXM6IDUwZW07XG4gIC0tcmFkaW8tc3dpdGNoLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbn1cblxuLnJhZGlvLXN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogdmFyKC0tcmFkaW8tc3dpdGNoLXBhZGRpbmcpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJhZGlvLXN3aXRjaC1yYWRpdXMpICogMS40KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFya2VyKTtcbn1cbi5yYWRpby1zd2l0Y2g6Zm9jdXMtd2l0aGluLCAucmFkaW8tc3dpdGNoOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIDAuMTUpO1xufVxuXG4ucmFkaW8tc3dpdGNoX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1yYWRpby1zd2l0Y2gtaGVpZ2h0KSAtIDIgKiB2YXIoLS1yYWRpby1zd2l0Y2gtcGFkZGluZykpO1xuICB3aWR0aDogY2FsYyh2YXIoLS1yYWRpby1zd2l0Y2gtd2lkdGgpICogMC41IC0gdmFyKC0tcmFkaW8tc3dpdGNoLXBhZGRpbmcpKTtcbn1cblxuLnJhZGlvLXN3aXRjaF9fbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGlvLXN3aXRjaC1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1yYWRpby1zd2l0Y2gtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cbi5yYWRpby1zd2l0Y2hfX2lucHV0OmNoZWNrZWQgfiAucmFkaW8tc3dpdGNoX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4ucmFkaW8tc3dpdGNoX19pbnB1dDpmb2N1cyB+IC5yYWRpby1zd2l0Y2hfX2xhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsKHZhcigtLWNvbG9yLXByaW1hcnktaCksIHZhcigtLWNvbG9yLXByaW1hcnktcyksIGNhbGModmFyKC0tY29sb3ItcHJpbWFyeS1sKSAqIDAuNikpO1xufVxuLnJhZGlvLXN3aXRjaF9fbGFiZWwgOm5vdCgqKTpmb2N1cy13aXRoaW4sIC5yYWRpby1zd2l0Y2hfX2lucHV0OmZvY3VzIH4gLnJhZGlvLXN3aXRjaF9fbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnJhZGlvLXN3aXRjaF9fbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpby1zd2l0Y2gtcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1yYWRpby1zd2l0Y2gtaGVpZ2h0KSAtIDIgKiB2YXIoLS1yYWRpby1zd2l0Y2gtcGFkZGluZykpO1xuICB3aWR0aDogY2FsYyh2YXIoLS1yYWRpby1zd2l0Y2gtd2lkdGgpICogMC41IC0gdmFyKC0tcmFkaW8tc3dpdGNoLXBhZGRpbmcpKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXJhZGlvLXN3aXRjaC1hbmltYXRpb24tZHVyYXRpb24pO1xufVxuLnJhZGlvLXN3aXRjaF9faW5wdXQ6Y2hlY2tlZCB+IC5yYWRpby1zd2l0Y2hfX21hcmtlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9yYWRpb3MtY2hlY2tib3hlc1xuVGl0bGU6IFJhZGlvcyBhbmQgQ2hlY2tib3hlc1xuRGVzY3I6IEN1c3RvbSByYWRpbyBhbmQgY2hlY2tib3ggYnV0dG9uc1xuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gIC0tY2hlY2tib3gtcmFkaW8tc2l6ZTogMThweDtcbiAgLS1jaGVja2JveC1yYWRpby1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIC0tY2hlY2tib3gtcmFkaW8tYm9yZGVyLXdpZHRoOiAxcHg7XG4gIC0tY2hlY2tib3gtcmFkaW8tbGluZS1oZWlnaHQ6IDEuNDtcbiAgLS1yYWRpby1tYXJrZXItc2l6ZTogOHB4O1xuICAtLWNoZWNrYm94LW1hcmtlci1zaXplOiAxMnB4O1xuICAtLWNoZWNrYm94LXJhZGl1czogNHB4O1xufVxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogY2FsYygoMWVtICogdmFyKC0tY2hlY2tib3gtcmFkaW8tbGluZS1oZWlnaHQpIC0gdmFyKC0tY2hlY2tib3gtcmFkaW8tc2l6ZSkpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogdmFyKC0tY2hlY2tib3gtcmFkaW8tc2l6ZSk7XG4gIHdpZHRoOiB2YXIoLS1jaGVja2JveC1yYWRpby1zaXplKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5yYWRpbyArIGxhYmVsLFxuLmNoZWNrYm94ICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGVja2JveC1yYWRpby1saW5lLWhlaWdodCk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNoZWNrYm94LXJhZGlvLXNpemUpICsgdmFyKC0tY2hlY2tib3gtcmFkaW8tZ2FwKSk7XG59XG5cbi5yYWRpbyArIGxhYmVsOjpiZWZvcmUsXG4uY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvcDogLTAuMWVtO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICh2YXIoLS1jaGVja2JveC1yYWRpby1zaXplKSArIHZhcigtLWNoZWNrYm94LXJhZGlvLWdhcCkpKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiB2YXIoLS1jaGVja2JveC1yYWRpby1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC1yYWRpby1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLWNoZWNrYm94LXJhZGlvLWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93LWwpLCAwLjY1KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNoZWNrYm94LXJhZGlvLWdhcCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzLCBib3JkZXIgMC4ycztcbn1cblxuLnJhZGlvOm5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykgKyBsYWJlbDpob3Zlcjo6YmVmb3JlLFxuLmNoZWNrYm94Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykgKyBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93LXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctbCksIDEpO1xufVxuXG4ucmFkaW8gKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uY2hlY2tib3ggKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2hlY2tib3gtcmFkaXVzKTtcbn1cblxuLnJhZGlvOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlLFxuLmNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xufVxuXG4ucmFkaW86YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbi5jaGVja2JveDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcbn1cblxuLnJhZGlvOmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbi5jaGVja2JveDpjaGVja2VkOmFjdGl2ZSArIGxhYmVsOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5yYWRpbzpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2cgY2xhc3M9J25jLWljb24td3JhcHBlcicgZmlsbD0nJTIzZmZmZmZmJyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzgnIGZpbGw9JyUyM2ZmZmZmZiclM0UlM0MvY2lyY2xlJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXJhZGlvLW1hcmtlci1zaXplKTtcbn1cblxuLmNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMSA2LjUgNCA5LjUgMTEgMi41JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tY2hlY2tib3gtbWFya2VyLXNpemUpO1xufVxuXG4ucmFkaW86Y2hlY2tlZDphY3RpdmUgKyBsYWJlbDo6YmVmb3JlLFxuLmNoZWNrYm94OmNoZWNrZWQ6YWN0aXZlICsgbGFiZWw6OmJlZm9yZSxcbi5yYWRpbzpmb2N1cyArIGxhYmVsOjpiZWZvcmUsXG4uY2hlY2tib3g6Zm9jdXMgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4yKTtcbn1cblxuLnJhZGlvLS1iZyArIGxhYmVsLCAuY2hlY2tib3gtLWJnICsgbGFiZWwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00eHMpIHZhcigtLXNwYWNlLTN4cyk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jaGVja2JveC1yYWRpby1zaXplKSArIHZhcigtLWNoZWNrYm94LXJhZGlvLWdhcCkgKyB2YXIoLS1zcGFjZS0zeHMpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xufVxuXG4ucmFkaW8tLWJnICsgbGFiZWw6aG92ZXIsIC5jaGVja2JveC0tYmcgKyBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4wNzUpO1xufVxuXG4ucmFkaW8tLWJnOmFjdGl2ZSArIGxhYmVsLFxuLmNoZWNrYm94LS1iZzphY3RpdmUgKyBsYWJlbCxcbi5yYWRpby0tYmc6Zm9jdXMgKyBsYWJlbCxcbi5jaGVja2JveC0tYmc6Zm9jdXMgKyBsYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4xKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV9yZXNwb25zaXZlLXNpZGViYXJcblRpdGxlOiBSZXNwb25zaXZlIFNpZGViYXJcbkRlc2NyOiBSZXNwb25zaXZlIHNpZGViYXIgY29udGFpbmVyXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIG1vYmlsZSB2ZXJzaW9uIG9ubHkgKC0tZGVmYXVsdCkg8J+RhyAqL1xuLnNpZGViYXI6bm90KC5zaWRlYmFyLS1zdGF0aWMpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZml4ZWQtZWxlbWVudCwgMTApO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgMC4zcztcbn1cbi5zaWRlYmFyOm5vdCguc2lkZWJhci0tc3RhdGljKTo6YWZ0ZXIgeyAvKiBvdmVybGF5IGxheWVyICovXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIHotaW5kZXg6IDE7XG59XG4uc2lkZWJhcjpub3QoLnNpZGViYXItLXN0YXRpYykgLnNpZGViYXJfX3BhbmVsIHsgLyogY29udGVudCAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuLnNpZGViYXI6bm90KC5zaWRlYmFyLS1zdGF0aWMpLnNpZGViYXItLXJpZ2h0LW9uLW1vYmlsZSAuc2lkZWJhcl9fcGFuZWwge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLnNpZGViYXI6bm90KC5zaWRlYmFyLS1zdGF0aWMpLnNpZGViYXItLWlzLXZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnNpZGViYXI6bm90KC5zaWRlYmFyLS1zdGF0aWMpLnNpZGViYXItLWlzLXZpc2libGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjg1KTtcbn1cbi5zaWRlYmFyOm5vdCguc2lkZWJhci0tc3RhdGljKS5zaWRlYmFyLS1pcy12aXNpYmxlIC5zaWRlYmFyX19wYW5lbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbn1cblxuLyogZW5kIG1vYmlsZSB2ZXJzaW9uICovXG4uc2lkZWJhcl9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG59XG5cbi5zaWRlYmFyX19jbG9zZS1idG4ge1xuICAtLXNpemU6IDMycHg7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlubmVyLWdsb3cpLCB2YXIoLS1zaGFkb3ctc20pO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5zaWRlYmFyX19jbG9zZS1idG4gLmljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBhdXRvO1xufVxuLnNpZGViYXJfX2Nsb3NlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXIpO1xuICBib3gtc2hhZG93OiB2YXIoLS1pbm5lci1nbG93KSwgdmFyKC0tc2hhZG93LW1kKTtcbn1cblxuLyogZGVza3RvcCB2ZXJzaW9uIG9ubHkgKC0tc3RhdGljKSDwn5GHICovXG4uc2lkZWJhci0tc3RhdGljLCBodG1sOm5vdCguanMpIC5zaWRlYmFyIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI2MHB4O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwdmg7XG59XG4uc2lkZWJhci0tc3RhdGljOjphZnRlciwgaHRtbDpub3QoLmpzKSAuc2lkZWJhcjo6YWZ0ZXIgeyAvKiByaWdodCBsaW5lYXIgZ3JhZGllbnQgKi9cbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxNHB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgaHNsYSgwLCAwJSwgMCUsIDAuMDMpLCBoc2xhKDAsIDAlLCAwJSwgMCkpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zaWRlYmFyLS1zdGF0aWMgLnNpZGViYXJfX2hlYWRlciwgaHRtbDpub3QoLmpzKSAuc2lkZWJhciAuc2lkZWJhcl9faGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyLS1zdGF0aWMgLnNpZGViYXJfX3BhbmVsLCBodG1sOm5vdCguanMpIC5zaWRlYmFyIC5zaWRlYmFyX19wYW5lbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogZW5kIGRlc2t0b3AgdmVyc2lvbiAqL1xuLyogZml4ZWQgd2lkdGggKi9cbi5qcyAuc2lkZWJhciwgLmpzIC5zaWRlYmFyLWxvYWRlZFxcOnNob3cge1xuICBvcGFjaXR5OiAwOyAvKiBoaWRlIHNpZGViYXIgLSBvciBvdGhlciBlbGVtZW50cyB1c2luZyB0aGUgLnNpZGViYXItbG9hZGVkOnNob3cgY2xhc3MgLSB3aGlsZSBpdCBpcyBpbml0aWFsaXplZCBpbiBKUyAqL1xufVxuLmpzIC5zaWRlYmFyLS1sb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBuby1qcyAqL1xuaHRtbDpub3QoLmpzKSAuc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi8qIGRldGVjdCB3aGVuIHRoZSBzaWRlYmFyIG5lZWRzIHRvIHN3aXRjaCBmcm9tIHRoZSBtb2JpbGUgbGF5b3V0IHRvIGEgc3RhdGljIG9uZSAtIHVzZWQgaW4gSlMgKi9cbltjbGFzcyo9c2lkZWJhci0tc3RhdGljXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNpZGViYXItLXN0YXRpY1xcQHhzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIm1vYmlsZVwiO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDMycmVtKSB7XG4gIC5zaWRlYmFyLS1zdGF0aWNcXEB4czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInN0YXRpY1wiO1xuICB9XG59XG5cbi5zaWRlYmFyLS1zdGF0aWNcXEBzbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJtb2JpbGVcIjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuc2lkZWJhci0tc3RhdGljXFxAc206OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJzdGF0aWNcIjtcbiAgfVxufVxuXG4uc2lkZWJhci0tc3RhdGljXFxAbWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwibW9iaWxlXCI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgLnNpZGViYXItLXN0YXRpY1xcQG1kOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwic3RhdGljXCI7XG4gIH1cbn1cblxuLnNpZGViYXItLXN0YXRpY1xcQGxnOjpiZWZvcmUge1xuICBjb250ZW50OiBcIm1vYmlsZVwiO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG4gIC5zaWRlYmFyLS1zdGF0aWNcXEBsZzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInN0YXRpY1wiO1xuICB9XG59XG5cbi5zaWRlYmFyLS1zdGF0aWNcXEB4bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJtb2JpbGVcIjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MHJlbSkge1xuICAuc2lkZWJhci0tc3RhdGljXFxAeGw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJzdGF0aWNcIjtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8xX3NlYXJjaC1pbnB1dFxuVGl0bGU6IFNlYXJjaCBpbnB1dFxuRGVzY3I6IFNlYXJjaCBpbnB1dCBmaWVsZCB3aXRoIGN1c3RvbSBidXR0b25cblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAtLXNlYXJjaC1pbnB1dC1idG4td2lkdGg6IDIuMmVtO1xuICAtLXNlYXJjaC1pbnB1dC1pY29uLXNpemU6IDFlbTtcbiAgLS1zZWFyY2gtaW5wdXQtc2hvcnRjdXQtbWFyZ2luOiAwLjMyNWVtOyAvKiBnYXAgYmV0d2VlbiB0aGUgc2hvcnRjdXQgYmFkZ2UgYW5kIHRoZSBpbnB1dCBlZGdlcyAqL1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VhcmNoLWlucHV0X19pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc2VhcmNoLWlucHV0X19pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgLnNlYXJjaC1pbnB1dF9faW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIC5zZWFyY2gtaW5wdXRfX2lucHV0Ojotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgLnNlYXJjaC1pbnB1dF9faW5wdXQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zZWFyY2gtaW5wdXRfX2lucHV0OjotbXMtY2xlYXIsIC5zZWFyY2gtaW5wdXRfX2lucHV0OjotbXMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cbi5zZWFyY2gtaW5wdXQtLWljb24tcmlnaHQgLnNlYXJjaC1pbnB1dF9faW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zZWFyY2gtaW5wdXQtYnRuLXdpZHRoKTtcbn1cbi5zZWFyY2gtaW5wdXQtLWljb24tbGVmdCAuc2VhcmNoLWlucHV0X19pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc2VhcmNoLWlucHV0LWJ0bi13aWR0aCk7XG59XG5cbi5zZWFyY2gtaW5wdXRfX2J0biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogdmFyKC0tc2VhcmNoLWlucHV0LWJ0bi13aWR0aCk7XG59XG4uc2VhcmNoLWlucHV0X19idG46YWN0aXZlIC5pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XG59XG4uc2VhcmNoLWlucHV0X19idG4gLmljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLS1zaXplOiB2YXIoLS1zZWFyY2gtaW5wdXQtaWNvbi1zaXplKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdyk7IC8qIGljb24gY29sb3IgKi9cbiAgdHJhbnNpdGlvbjogMC4ycztcbn1cbi5zZWFyY2gtaW5wdXQtLWljb24tbGVmdCAuc2VhcmNoLWlucHV0X19idG4ge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zZWFyY2gtaW5wdXRfX2J0bjpmb2N1cyAuaWNvbixcbi5zZWFyY2gtaW5wdXQgLnNlYXJjaC1pbnB1dF9faW5wdXQ6Zm9jdXMgKyAuc2VhcmNoLWlucHV0X19idG4gLmljb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IC8qIGFjdGl2ZSBpY29uIGNvbG9yICovXG59XG5cbi8qIC0tc2hvcnRjdXQgKi9cbi5zZWFyY2gtaW5wdXRfX3Nob3J0Y3V0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogdmFyKC0tc2VhcmNoLWlucHV0LXNob3J0Y3V0LW1hcmdpbik7XG4gIHRvcDogdmFyKC0tc2VhcmNoLWlucHV0LXNob3J0Y3V0LW1hcmdpbik7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tc2VhcmNoLWlucHV0LXNob3J0Y3V0LW1hcmdpbikgKiAyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgLS1zcGFjZS11bml0OiAxZW07XG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtM3hzKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0pO1xufVxuXG4uc2VhcmNoLWlucHV0OmZvY3VzLXdpdGhpbiAuc2VhcmNoLWlucHV0X19zaG9ydGN1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzFfc21vb3RoLXNjcm9sbGluZ1xuVGl0bGU6IFNtb290aCBTY3JvbGxpbmdcbkRlc2NyOiBSZXBsYWNlIHRoZSBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3VyIChqdW1wKSB3aXRoIGEgc21vb3RoIHNjcm9sbGluZyB0cmFuc2l0aW9uXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaWRlLXRlbXBsYXRlLXYzX19tYWluIHtcbiAgc2Nyb2xsLXBhZGRpbmc6IGNhbGModmFyKC0tc2lkZS10ZW1wbGF0ZS1tb2JpbGUtaGVhZGVyLWhlaWdodCkgKyB2YXIoLS1zcGFjZS0yeHMpKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NHJlbSkge1xuICAuc2lkZS10ZW1wbGF0ZS12M19fbWFpbiB7XG4gICAgc2Nyb2xsLXBhZGRpbmc6IGNhbGModmFyKC0tc2lkZS10ZW1wbGF0ZS1kZXNrdG9wLWhlYWRlci1oZWlnaHQpICsgdmFyKC0tc3BhY2UtMnhzKSk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMV90YWJsZS12MlxuVGl0bGU6IFRhYmxlIHYyXG5EZXNjcjogQmFzaWMgdGFibGUgdGVtcGxhdGVcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRibCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi50Ymw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIHdpZHRoOiA4cHg7XG59XG4udGJsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyKTtcbn1cbi50Ymw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiA1MGVtO1xufVxuLnRibDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXIpO1xufVxuXG4udGJsX190YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGJsX19ib2R5IC50YmxfX3JvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG4udGJsX19ib2R5IC50YmxfX3Jvdzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4wNSk7XG59XG4udGJsX19ib2R5IC50YmxfX3JvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRibF9fY2VsbCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMl9hY2NvcmRpb24tdjJcblRpdGxlOiBBY2NvcmRpb24gdjJcbkRlc2NyOiBTdGFja2VkLCBleHBhbmRhYmxlIGNvbnRlbnQgc2VjdGlvbnNcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuOnJvb3Qge1xuICAtLWFjY29yZGlvbi12Mi1pY29uLXNpemU6IDIwcHg7XG4gIC0tYWNjb3JkaW9uLXYyLWljb24tc3Ryb2tlLXdpZHRoOiAycHg7XG59XG5cbi5hY2NvcmRpb24tdjJfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlubmVyLWdsb3ctdG9wKSwgdmFyKC0tc2hhZG93LXNtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbn1cbi5hY2NvcmRpb24tdjJfX2l0ZW06aG92ZXIge1xuICBib3gtc2hhZG93OiB2YXIoLS1pbm5lci1nbG93LXRvcCksIHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5hY2NvcmRpb24tdjJfX2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5hY2NvcmRpb24tdjJfX2hlYWRlciAuaWNvbiB7XG4gIC0tc2l6ZTogdmFyKC0tYWNjb3JkaW9uLXYyLWljb24tc2l6ZSk7XG59XG4uYWNjb3JkaW9uLXYyX19oZWFkZXIgLmljb24gLmljb25fX2dyb3VwIHtcbiAgc3Ryb2tlLXdpZHRoOiB2YXIoLS1hY2NvcmRpb24tdjItaWNvbi1zdHJva2Utd2lkdGgpO1xufVxuXG4uYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG4uYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICoge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBzdHJva2UtZGFzaGFycmF5OiAyMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG59XG4uYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICBzdHJva2UtZGFzaG9mZnNldDogMTAuMTU7XG59XG4uYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAxMC4xNTtcbn1cblxuLmFjY29yZGlvbi12Ml9faXRlbS0taXMtb3BlbiA+IC5hY2NvcmRpb24tdjJfX2hlYWRlciA+IC5hY2NvcmRpb24tdjJfX2ljb24tYXJyb3cgLmljb25fX2dyb3VwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5hY2NvcmRpb24tdjJfX2l0ZW0tLWlzLW9wZW4gPiAuYWNjb3JkaW9uLXYyX19oZWFkZXIgPiAuYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQsIC5hY2NvcmRpb24tdjJfX2l0ZW0tLWlzLW9wZW4gPiAuYWNjb3JkaW9uLXYyX19oZWFkZXIgPiAuYWNjb3JkaW9uLXYyX19pY29uLWFycm93IC5pY29uX19ncm91cCAqOmxhc3QtY2hpbGQge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbi5qcyAuYWNjb3JkaW9uLXYyX19wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBoZWlnaHQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xufVxuLmpzIC5hY2NvcmRpb24tdjJfX2l0ZW0tLWlzLW9wZW4gPiAuYWNjb3JkaW9uLXYyX19wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWNjb3JkaW9uLXYyW2RhdGEtYW5pbWF0aW9uPW9uXSAuYWNjb3JkaW9uLXYyX19pdGVtLS1pcy1vcGVuIC5hY2NvcmRpb24tdjJfX3BhbmVsID4gKiB7XG4gIGFuaW1hdGlvbjogYWNjb3JkaW9uLXYyLWVudHJ5LWFuaW1hdGlvbiAwLjRzIHZhcigtLWVhc2Utb3V0KTtcbn1cbi5hY2NvcmRpb24tdjJbZGF0YS1hbmltYXRpb249b25dIC5hY2NvcmRpb24tdjJfX2ljb24tYXJyb3cgLmljb25fX2dyb3VwIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgdmFyKC0tZWFzZS1vdXQpO1xufVxuLmFjY29yZGlvbi12MltkYXRhLWFuaW1hdGlvbj1vbl0gLmFjY29yZGlvbi12Ml9faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAgPiAqIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIHN0cm9rZS1kYXNob2Zmc2V0IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1lYXNlLW91dCk7XG59XG5cbkBrZXlmcmFtZXMgYWNjb3JkaW9uLXYyLWVudHJ5LWFuaW1hdGlvbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuRmlsZSM6IF8yX2F1dG9jb21wbGV0ZVxuVGl0bGU6IEF1dG9jb21wbGV0ZVxuRGVzY3I6IEF1dG9jb21wbGV0ZSBwbHVnaW4gZm9yIGlucHV0IGVsZW1lbnRzXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgLS1hdXRvY29tcGxldGUtZHJvcGRvd24tdmVydGljYWwtZ2FwOiA0cHg7XG4gIC0tYXV0b2NvbXBsZXRlLWRyb3Bkb3duLW1heC1oZWlnaHQ6IDE2MHB4O1xuICAtLWF1dG9jb21wbGV0ZS1kcm9wZG93bi1zY3JvbGxiYXItd2lkdGg6IDZweDtcbn1cblxuLmF1dG9jb21wbGV0ZV9fbG9hZGVyIHtcbiAgLS1jaXJjbGUtbG9hZGVyLXYxLXNpemU6IDFlbTtcbiAgLS1jaXJjbGUtbG9hZGVyLXYxLXN0cm9rZS13aWR0aDogMnB4O1xufVxuXG4uYXV0b2NvbXBsZXRlOm5vdCguYXV0b2NvbXBsZXRlLS1zZWFyY2hpbmcpIC5hdXRvY29tcGxldGVfX2xvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hdXRvY29tcGxldGVfX3Jlc3VsdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtcG9wb3ZlciwgNSk7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IGNhbGMoMTAwJSArIHZhcigtLWF1dG9jb21wbGV0ZS1kcm9wZG93bi12ZXJ0aWNhbC1nYXApKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5uZXItZ2xvdyksIHZhcigtLXNoYWRvdy1tZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB2aXNpYmlsaXR5IDBzIDAuM3MsIHRyYW5zZm9ybSAwLjNzIHZhcigtLWVhc2UtaW4pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmF1dG9jb21wbGV0ZS0tcmVzdWx0cy12aXNpYmxlIC5hdXRvY29tcGxldGVfX3Jlc3VsdHMge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzIHZhcigtLWVhc2Utb3V0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uYXV0b2NvbXBsZXRlX19saXN0IHtcbiAgbWF4LWhlaWdodDogdmFyKC0tYXV0b2NvbXBsZXRlLWRyb3Bkb3duLW1heC1oZWlnaHQpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmF1dG9jb21wbGV0ZV9fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogdmFyKC0tYXV0b2NvbXBsZXRlLWRyb3Bkb3duLXNjcm9sbGJhci13aWR0aCk7XG59XG4uYXV0b2NvbXBsZXRlX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYXV0b2NvbXBsZXRlX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4xMik7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYXV0b2NvbXBsZXRlX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgMC4yKTtcbn1cblxuLmF1dG9jb21wbGV0ZV9faXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4ycztcbn1cbi5hdXRvY29tcGxldGVfX2l0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIDAuMDc1KTtcbn1cblxuLmF1dG9jb21wbGV0ZV9fbGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgMC4xNSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxuXG5GaWxlIzogXzJfY2hhbmdlbG9nXG5UaXRsZTogQ2hhbmdlbG9nXG5EZXNjcjogQSBsaXN0IG9mIHVwZGF0ZXMsIGdyb3VwZWQgYnkgcmVsZWFzZSBkYXRlXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NHJlbSkge1xuICAuY2hhbmdlbG9nX19tZXRhZGF0YSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxufVxuXG4uY2hhbmdlbG9nX19zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjE1KTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMl9jb250ZW50LXJhdGluZ1xuVGl0bGU6IENvbnRlbnQgUmF0aW5nXG5EZXNjcjogQSBsaWtlL2Rpc2xpa2UgZmVlZGJhY2sgcmF0aW5nIHdpZGdldFxuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucmF0ZS1jb250X19jdXN0b20taW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjE1KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzLCBib3gtc2hhZG93IDAuMnM7XG59XG4ucmF0ZS1jb250X19jdXN0b20taW5wdXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIDAuMik7XG59XG4ucmF0ZS1jb250X19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5yYXRlLWNvbnRfX2N1c3RvbS1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG4ucmF0ZS1jb250X19uYXRpdmUtaW5wdXQ6Zm9jdXMgKyAucmF0ZS1jb250X19jdXN0b20taW5wdXQge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjIpO1xufVxuXG4ucmF0ZS1jb250X19pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuLnJhdGUtY29udF9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAucmF0ZS1jb250X19jdXN0b20taW5wdXQtLXllcyAucmF0ZS1jb250X19pY29uLCAucmF0ZS1jb250X19uYXRpdmUtaW5wdXQ6Y2hlY2tlZCArIC5yYXRlLWNvbnRfX2N1c3RvbS1pbnB1dC0tbm8gLnJhdGUtY29udF9faWNvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLnJhdGUtY29udF9fbmF0aXZlLWlucHV0OmNoZWNrZWQgKyAucmF0ZS1jb250X19jdXN0b20taW5wdXQtLXllcyAucmF0ZS1jb250X19pY29uIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJhdGUtY29udC1hbmltLXllcztcbn1cbi5yYXRlLWNvbnRfX25hdGl2ZS1pbnB1dDpjaGVja2VkICsgLnJhdGUtY29udF9fY3VzdG9tLWlucHV0LS1ubyAucmF0ZS1jb250X19pY29uIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJhdGUtY29udC1hbmltLW5vO1xufVxuXG5Aa2V5ZnJhbWVzIHJhdGUtY29udC1hbmltLXllcyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxKTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKSBzY2FsZSgxLjEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTI1ZGVnKSBzY2FsZSgxLjIpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZykgc2NhbGUoMS4yKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxLjIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJhdGUtY29udC1hbmltLW5vIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHNjYWxlKDEpO1xuICB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKSBzY2FsZSgxLjEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjVkZWcpIHNjYWxlKDEuMik7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgc2NhbGUoMS4yKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSBzY2FsZSgxLjIpO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8yX2hhc2gtbGlua1xuVGl0bGU6IEhhc2ggTGlua1xuRGVzY3I6IEFkZCBhIGhhc2ggYW5jaG9yIHRvIGhlYWRpbmcgZWxlbWVudHNcblVzYWdlOiBjb2R5aG91c2UuY28vbGljZW5zZVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhhc2gtbGlua19fYW5jaG9yIHtcbiAgb3BhY2l0eTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtbG93KTtcbn1cblxuLmhhc2gtbGluazpob3ZlciAuaGFzaC1saW5rX19hbmNob3IsXG4uaGFzaC1saW5rX19hbmNob3I6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGFzaC1saW5rLS12aXNpYmxlIC5oYXNoLWxpbmtfX2FuY2hvciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oYXNoLWxpbmstLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGFzaC1saW5rLS1sZWZ0IC5oYXNoLWxpbmtfX2FuY2hvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG5cbkZpbGUjOiBfMl9tb2RhbC12aWRlb1xuVGl0bGU6IE1vZGFsIFZpZGVvXG5EZXNjcjogQSBtb2RhbCB3aW5kb3cgdXNlZCB0byBkaXNwbGF5IGEgcmVzcG9uc2l2ZSB2aWRlb1xuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5GaWxlIzogXzJfc2lkZS1uYXZpZ2F0aW9uLXYzXG5UaXRsZTogU2lkZSBOYXZpZ2F0aW9uIHYzXG5EZXNjcjogQSBwcmltYXJ5IG5hdmlnYXRpb24gbG9jYXRlZCBpbiB0aGUgc2lkZWJhclxuVXNhZ2U6IGNvZHlob3VzZS5jby9saWNlbnNlXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG46cm9vdCB7XG4gIC0tc2lkZS10ZW1wbGF0ZS1tb2JpbGUtaGVhZGVyLWhlaWdodDogNTBweDtcbiAgLS1zaWRlLXRlbXBsYXRlLWRlc2t0b3AtaGVhZGVyLWhlaWdodDogNjRweDtcbn1cblxuQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gIC5zaWRlLXRlbXBsYXRlLXYzIC5zaWRlYmFyIHtcbiAgICAtLXNwYWNlLXVuaXQ6IDEuMnJlbTtcbiAgICAtLXRleHQtdW5pdDogMS4ycmVtO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC11bml0KTtcbiAgfVxufVxuXG4vKiBtb2JpbGUgaGVhZGVyIC0gaGlkZGVuIG9uIGJpZ2dlciBzY3JlZW5zICovXG4uc2lkZS10ZW1wbGF0ZS12M19fbW9iaWxlLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1zaWRlLXRlbXBsYXRlLW1vYmlsZS1oZWFkZXItaGVpZ2h0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWhlYWRlcik7XG59XG5cbi5zaWRlLXRlbXBsYXRlLXYzX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zaWRlLXRlbXBsYXRlLXYzX19sb2dvIHN2ZywgLnNpZGUtdGVtcGxhdGUtdjNfX2xvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBpbmhlcml0O1xufVxuXG4vKiBkZXNrdG9wIGhlYWRlciAqL1xuLnNpZGUtdGVtcGxhdGUtdjNfX2xvZ28td3JhcHBlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC1oZWFkZXIpO1xufVxuLnNpZGUtdGVtcGxhdGUtdjNfX2xvZ28td3JhcHBlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1jb2xvci1iZy1kYXJrKSwgaHNsYSh2YXIoLS1jb2xvci1iZy1kYXJrLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrLXMpLCB2YXIoLS1jb2xvci1iZy1kYXJrLWwpLCAwKSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2lkZS10ZW1wbGF0ZS12M19fZGVza3RvcC1oZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtaGVhZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogaHNsYSh2YXIoLS1jb2xvci1iZy1oKSwgdmFyKC0tY29sb3ItYmctcyksIHZhcigtLWNvbG9yLWJnLWwpLCAwLjkpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIGhlaWdodDogdmFyKC0tc2lkZS10ZW1wbGF0ZS1kZXNrdG9wLWhlYWRlci1oZWlnaHQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjEpOyAvKiByZW1lbWJlciB0byB1cGRhdGUgYWxzbyAuc2lkZS10ZW1wbGF0ZS12Mzo6YWZ0ZXIg8J+RhyAqL1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi8qIG1haW4gKi9cbi5zaWRlLXRlbXBsYXRlLXYzX19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xufVxuXG4vKiBmb290ZXIgKi9cbi5zaWRlLXRlbXBsYXRlLXYzX19mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NHJlbSkge1xuICAuc2lkZS10ZW1wbGF0ZS12MyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1jb2xvci1iZy1kYXJrKSA1MCUsIHZhcigtLWNvbG9yLWJnKSA1MCUpO1xuICB9XG4gIC5zaWRlLXRlbXBsYXRlLXYzOjphZnRlciB7IC8qIGV4dGVuZGVkIGhlYWRlciAocmlnaHQpIGJhY2tncm91bmQgdmlzaWJsZSBvbiBiaWdnZXIgc2NyZWVucyAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IHZhcigtLXNpZGUtdGVtcGxhdGUtZGVza3RvcC1oZWFkZXItaGVpZ2h0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCAwLjEpOyAvKiDwn5GGIHNhbWUgYXMgLnNpZGUtdGVtcGxhdGUtdjNfX2Rlc2t0b3AtaGVhZGVyICovXG4gIH1cbiAgLnNpZGUtdGVtcGxhdGUtdjNfX21vYmlsZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNpZGUtdGVtcGxhdGUtdjNfX21haW4ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG4gIC5zaWRlLXRlbXBsYXRlLXYzX19mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcblxuRmlsZSM6IF8yX3RhYmxlLW9mLWNvbnRlbnRzXG5UaXRsZTogVGFibGUgb2YgQ29udGVudHNcbkRlc2NyOiBBIG5hdmlnYXRpb24gd2l0aCBhIGxpc3Qgb2YgbGlua3MgdG8gdGhlIG1haW4gc2VjdGlvbnMgb2YgdGhlIHBhZ2UgXG5Vc2FnZTogY29keWhvdXNlLmNvL2xpY2Vuc2VcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjpyb290IHtcbiAgLS10b2MtYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi8qICNyZWdpb24gKHN0eWxlIGFmZmVjdGluZyBjb2xsYXBzZWQgKyBzdGF0aWMgdmVyc2lvbnMpIPCfkYcgKi9cbi50b2NfX2xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udG9jX19saXN0IC50b2NfX2xpc3QgLnRvY19fbGluayB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZS1zbSkgKiAxLjUpO1xufVxuXG4udG9jX19saW5rLFxuLnRvY19fbGFiZWwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpIHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnRvY19fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50b2NfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiB2YXIoLS10b2MtYm9yZGVyLXdpZHRoKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi50b2NfX2xpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaCk7XG59XG5cbi50b2NfX2xpbmstLXNlbGVjdGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnRvY19fbGluay0tc2VsZWN0ZWQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50b2NfX2xhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xufVxuXG4udG9jX19jb250cm9sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRvY19fY29udHJvbC10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRvY19fY29udHJvbC10ZXh0ID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzLCB0cmFuc2Zvcm0gMC40cyB2YXIoLS1lYXNlLW91dCk7XG59XG4udG9jX19jb250cm9sLXRleHQgPiAqOmxhc3QtY2hpbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG59XG5cbi50b2NfX2ljb24tYXJyb3cge1xuICAtLXNpemU6IDE2cHg7XG59XG4udG9jX19pY29uLWFycm93IC5pY29uX19ncm91cCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1vcmlnaW46IDhweCA4cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIHZhcigtLWVhc2Utb3V0KTtcbn1cbi50b2NfX2ljb24tYXJyb3cgLmljb25fX2dyb3VwID4gKiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDhweCA4cHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDE3O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIHN0cm9rZS1kYXNob2Zmc2V0IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1lYXNlLW91dCk7XG59XG4udG9jX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICBzdHJva2UtZGFzaG9mZnNldDogMTA7XG59XG4udG9jX19pY29uLWFycm93IC5pY29uX19ncm91cCA+ICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAxMDtcbn1cblxuLnRvYy1jb250ZW50X190YXJnZXQge1xuICBzY3JvbGwtbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuLyogI3JlZ2lvbiAoY29sbGFwc2VkIHZlcnNpb24gb25seSAtIG1vYmlsZSDwn5GHKSAqL1xuLnRvYzpub3QoLnRvYy0tc3RhdGljKSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5uZXItZ2xvdyksIHZhcigtLXNoYWRvdy1zbSk7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG4udG9jOm5vdCgudG9jLS1zdGF0aWMpOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taW5uZXItZ2xvdyksIHZhcigtLXNoYWRvdy1tZCk7XG59XG4udG9jOm5vdCgudG9jLS1zdGF0aWMpIC50b2NfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhzKSAwO1xufVxuLnRvYzpub3QoLnRvYy0tc3RhdGljKSAudG9jX19saXN0IHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cbi50b2M6bm90KC50b2MtLXN0YXRpYykgLnRvY19fbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRvYzpub3QoLnRvYy0tc3RhdGljKSAudG9jX19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50b2M6bm90KC50b2MtLXN0YXRpYykudG9jLS1leHBhbmRlZCAudG9jX19jb250cm9sLXRleHQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50b2M6bm90KC50b2MtLXN0YXRpYykudG9jLS1leHBhbmRlZCAudG9jX19jb250cm9sLXRleHQgPiAqOmxhc3QtY2hpbGQge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLnRvYzpub3QoLnRvYy0tc3RhdGljKS50b2MtLWV4cGFuZGVkIC50b2NfX25hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbmltYXRpb246IHRvYy1lbnRyeS1hbmltYXRpb24gMC40cyB2YXIoLS1lYXNlLW91dCk7XG59XG4udG9jOm5vdCgudG9jLS1zdGF0aWMpLnRvYy0tZXhwYW5kZWQgLnRvY19faWNvbi1hcnJvdyAuaWNvbl9fZ3JvdXAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLnRvYzpub3QoLnRvYy0tc3RhdGljKS50b2MtLWV4cGFuZGVkIC50b2NfX2ljb24tYXJyb3cgLmljb25fX2dyb3VwID4gKjpmaXJzdC1jaGlsZCwgLnRvYzpub3QoLnRvYy0tc3RhdGljKS50b2MtLWV4cGFuZGVkIC50b2NfX2ljb24tYXJyb3cgLmljb25fX2dyb3VwICo6bGFzdC1jaGlsZCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuLyogI3JlZ2lvbiAoc3RhdGljIHZlcnNpb24gb25seSAtIGRlc2t0b3Ag8J+RhykgKi9cbi50b2MtLXN0YXRpYyB7XG4gIGJveC1zaGFkb3c6IGluc2V0IHZhcigtLXRvYy1ib3JkZXItd2lkdGgpIDAgMCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlcik7XG59XG4udG9jLS1zdGF0aWNbY2xhc3MqPXBvc2l0aW9uLXN0aWNreV0ge1xuICB0b3A6IGNhbGModmFyKC0tc3BhY2UtbWQpICsgdmFyKC0tc2lkZS10ZW1wbGF0ZS1kZXNrdG9wLWhlYWRlci1oZWlnaHQpKTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLXNwYWNlLW1kKSAqIDIgLSB2YXIoLS1zaWRlLXRlbXBsYXRlLWRlc2t0b3AtaGVhZGVyLWhlaWdodCkpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnRvYy0tc3RhdGljIC50b2NfX2xhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbn1cbi50b2MtLXN0YXRpYyAudG9jX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG59XG4udG9jLS1zdGF0aWMgLnRvY19fbGluay0tc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnRvYy0tc3RhdGljIC50b2NfX2NvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9jLWNvbnRlbnQtLXRvYy1zdGF0aWMgKjp0YXJnZXQsXG4udG9jLWNvbnRlbnRfX3RhcmdldC50b2MtY29udGVudF9fdGFyZ2V0LS1zZWxlY3RlZCB7XG4gIGFuaW1hdGlvbjogdG9jLXRhcmdldCAycztcbn1cblxuLnRvYy1jb250ZW50X190YXJnZXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiAjZW5kcmVnaW9uICovXG5Aa2V5ZnJhbWVzIHRvYy10YXJnZXQge1xuICAwJSwgNTAlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWwpLCAwLjUpO1xuICB9XG4gIDEwMCUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCBoc2xhKHZhcigtLWNvbG9yLXByaW1hcnktaCksIHZhcigtLWNvbG9yLXByaW1hcnktcyksIHZhcigtLWNvbG9yLXByaW1hcnktbCksIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvYy1lbnRyeS1hbmltYXRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbn1cbmh0bWw6bm90KC5qcykgLnRvYyAudG9jX19uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2NsYXNzKj10b2MtLXN0YXRpY106OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiY29sbGFwc2VkXCI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAudG9jLS1zdGF0aWNcXEB4czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInN0YXRpY1wiO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLnRvYy0tc3RhdGljXFxAc206OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJzdGF0aWNcIjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gIC50b2MtLXN0YXRpY1xcQG1kOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwic3RhdGljXCI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MHJlbSkge1xuICAudG9jLS1zdGF0aWNcXEBsZzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInN0YXRpY1wiO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTByZW0pIHtcbiAgLnRvYy0tc3RhdGljXFxAeGw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJzdGF0aWNcIjtcbiAgfVxufVxuLyohIHB1cmdlY3NzIGVuZCBpZ25vcmUgKi9cbi8qIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAvKiBzcGFjaW5nICovXG4gIC0tc3BhY2UtNHhzOiBjbGFtcCgwLjEyNXJlbSwgY2FsYygwLjEyNXJlbSArIDB2dyksIDAuMTI1cmVtKTtcbiAgLS1zcGFjZS0zeHM6IGNsYW1wKDAuMjVyZW0sIGNhbGMoMC4yNXJlbSArIDB2dyksIDAuMjVyZW0pO1xuICAtLXNwYWNlLTJ4czogY2xhbXAoMC41cmVtLCBjYWxjKDAuNXJlbSArIDB2dyksIDAuNXJlbSk7XG4gIC0tc3BhY2UteHM6IGNsYW1wKDAuNzVyZW0sIGNhbGMoMC43NXJlbSArIDB2dyksIDAuNzVyZW0pO1xuICAtLXNwYWNlLXNtOiBjbGFtcCgxcmVtLCBjYWxjKDFyZW0gKyAwdncpLCAxcmVtKTtcbiAgLS1zcGFjZS1tZDogY2xhbXAoMS41cmVtLCBjYWxjKDEuMTI1cmVtICsgMC43ODEyNXZ3KSwgMS43NXJlbSk7XG4gIC0tc3BhY2UtbGc6IGNsYW1wKDIuMjVyZW0sIGNhbGMoMS4xMjVyZW0gKyAyLjM0Mzc1dncpLCAzcmVtKTtcbiAgLS1zcGFjZS14bDogY2xhbXAoMy41cmVtLCBjYWxjKDEuMjVyZW0gKyA0LjY4NzV2dyksIDVyZW0pO1xuICAtLXNwYWNlLTJ4bDogY2xhbXAoNS43NXJlbSwgY2FsYygyLjM3NXJlbSArIDcuMDMxMjV2dyksIDhyZW0pO1xuICAtLXNwYWNlLTN4bDogY2xhbXAoOS4yNXJlbSwgY2FsYyg0Ljc1cmVtICsgOS4zNzV2dyksIDEyLjI1cmVtKTtcbiAgLS1zcGFjZS00eGw6IGNsYW1wKDE1cmVtLCBjYWxjKDcuNXJlbSArIDE1LjYyNXZ3KSwgMjByZW0pO1xuICAvKiBmb250LWZhbWlseSAqL1xuICAtLWZvbnQtcHJpbWFyeTogc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICAvKiBmb250LXNpemUgKi9cbiAgLS10ZXh0LXhzOiAwLjY5NHJlbTtcbiAgLS10ZXh0LXNtOiAwLjgzM3JlbTtcbiAgLS10ZXh0LWJhc2U6IDFyZW07XG4gIC0tdGV4dC1tZDogMS4ycmVtO1xuICAtLXRleHQtbGc6IDEuNDRyZW07XG4gIC0tdGV4dC14bDogMS43MjhyZW07XG4gIC0tdGV4dC0yeGw6IDIuMDc0cmVtO1xuICAtLXRleHQtM3hsOiAyLjQ4OHJlbTtcbiAgLS10ZXh0LTR4bDogMi45ODZyZW07XG4gIC8qIGxpbmUtaGVpZ2h0ICovXG4gIC0tbGluZS1oZWlnaHQteHM6IDEuMTtcbiAgLS1saW5lLWhlaWdodC1zbTogMS4yO1xuICAtLWxpbmUtaGVpZ2h0LW1kOiAxLjQ7XG4gIC0tbGluZS1oZWlnaHQtbGc6IDEuNTg7XG4gIC0tbGluZS1oZWlnaHQteGw6IDEuNzI7XG4gIC8qIG1heC13aWR0aCAqL1xuICAtLW1heC13aWR0aC01eHM6IDE3LjVyZW07XG4gIC0tbWF4LXdpZHRoLTR4czogMjByZW07XG4gIC0tbWF4LXdpZHRoLTN4czogMjZyZW07XG4gIC0tbWF4LXdpZHRoLTJ4czogMzJyZW07XG4gIC0tbWF4LXdpZHRoLXhzOiAzOHJlbTtcbiAgLS1tYXgtd2lkdGgtc206IDQ4cmVtO1xuICAtLW1heC13aWR0aC1tZDogNjRyZW07XG4gIC0tbWF4LXdpZHRoLWxnOiA4MHJlbTtcbiAgLS1tYXgtd2lkdGgteGw6IDkwcmVtO1xuICAtLW1heC13aWR0aC0yeGw6IDEwMHJlbTtcbiAgLS1tYXgtd2lkdGgtM3hsOiAxMjByZW07XG4gIC0tbWF4LXdpZHRoLTR4bDogMTUwcmVtO1xuICAtLWNvbnRhaW5lci1tYXJnaW4teDogdmFyKC0tc3BhY2UtbWQpO1xuICAvKiBib3gtc2hhZG93ICovXG4gIC0tc2hhZG93LXJpbmc6IDAgMCAwIDFweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDUpO1xuICAtLXNoYWRvdy14czogMCAwIDAgMXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMiksIDAgMXB4IDNweCAtMXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4yKTtcbiAgLS1zaGFkb3ctc206IDAgMC4zcHggMC40cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAyKSwgMCAwLjlweCAxLjVweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDQ1KSwgMCAzLjVweCA2cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA5KTtcbiAgLS1zaGFkb3ctbWQ6IDAgMC45cHggMS4yNXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMjUpLCAwIDNweCA1cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA1KSwgMCAxMnB4IDIwcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjA5KTtcbiAgLS1zaGFkb3ctbGc6IDAgMS4ycHggMS45cHggLTFweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDEpLCAwIDNweCA1cHggLTFweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMDE1KSwgMCA4cHggMTVweCAtMXB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wNSksIDAgMjhweCA0MHB4IC0xcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjEpO1xuICAtLXNoYWRvdy14bDogMCAxLjVweCAyLjFweCAtNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMDkpLCAwIDMuNnB4IDUuMnB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAxMTUpLCAwIDcuM3B4IDEwLjZweCAtNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4wMTI1KSwgMCAxNi4ycHggMjEuOXB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjAyNSksIDAgNDZweCA2MHB4IC02cHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjE1KTtcbiAgLyogaW5uZXItZ2xvdyAqL1xuICAtLWlubmVyLWdsb3c6IGluc2V0IDAgMCAwLjVweCAxcHggaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCAwLjA3NSk7XG4gIC0taW5uZXItZ2xvdy10b3A6IGluc2V0IDAgMXB4IDAuNXB4IGhzbGEodmFyKC0tY29sb3Itd2hpdGUtaCksIHZhcigtLWNvbG9yLXdoaXRlLXMpLCB2YXIoLS1jb2xvci13aGl0ZS1sKSwgMC4wNzUpO1xuICAvKiBib3JkZXItcmFkaXVzICovXG4gIC0tcmFkaXVzLXNtOiAwLjE4NzVlbTtcbiAgLS1yYWRpdXMtbWQ6IDAuMzc1ZW07XG4gIC0tcmFkaXVzLWxnOiAwLjc1ZW07XG4gIC8qIHotaW5kZXggKi9cbiAgLS16LWluZGV4LWhlYWRlcjogMztcbiAgLS16LWluZGV4LXBvcG92ZXI6IDU7XG4gIC0tei1pbmRleC1maXhlZC1lbGVtZW50OiAxMDtcbiAgLS16LWluZGV4LW92ZXJsYXk6IDE1O1xuICAvKiB0aW1pbmcgZnVuY3Rpb25zICovXG4gIC0tZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgLS1lYXNlLWluOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgLS1lYXNlLW91dDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIC0tZWFzZS1vdXQtYmFjazogY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xufVxuXG4vKiBjb2xvcnMgKi9cbjpyb290LCBbZGF0YS10aGVtZT1kZWZhdWx0XSB7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrZXItaDogMjAzO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VyLXM6IDIyJTtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlci1sOiAyNiU7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrZXI6IGhzbCh2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlci1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXItcyksIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyLWwpKTtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmstaDogMjAzO1xuICAtLWNvbG9yLXByaW1hcnktZGFyay1zOiAyMiU7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrLWw6IDMyJTtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcms6IGhzbCh2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstaCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWwpKTtcbiAgLS1jb2xvci1wcmltYXJ5LWg6IDIwMztcbiAgLS1jb2xvci1wcmltYXJ5LXM6IDIyJTtcbiAgLS1jb2xvci1wcmltYXJ5LWw6IDM4JTtcbiAgLS1jb2xvci1wcmltYXJ5OiBoc2wodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSk7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodC1oOiAyMDM7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodC1zOiAyMiU7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodC1sOiA0NCU7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodDogaHNsKHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtaCksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtcyksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtbCkpO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlci1oOiAyMDM7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodGVyLXM6IDIyJTtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItbDogNTAlO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlcjogaHNsKHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItbCkpO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrZXItaDogMTczO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrZXItczogNTQlO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrZXItbDogMzMlO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrZXI6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWwpKTtcbiAgLS1jb2xvci1hY2NlbnQtZGFyay1oOiAxNzM7XG4gIC0tY29sb3ItYWNjZW50LWRhcmstczogNTQlO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrLWw6IDM5JTtcbiAgLS1jb2xvci1hY2NlbnQtZGFyazogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1kYXJrLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFyay1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmstbCkpO1xuICAtLWNvbG9yLWFjY2VudC1oOiAxNzM7XG4gIC0tY29sb3ItYWNjZW50LXM6IDU0JTtcbiAgLS1jb2xvci1hY2NlbnQtbDogNDUlO1xuICAtLWNvbG9yLWFjY2VudDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbCkpO1xuICAtLWNvbG9yLWFjY2VudC1saWdodC1oOiAxNzM7XG4gIC0tY29sb3ItYWNjZW50LWxpZ2h0LXM6IDU0JTtcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHQtbDogNTElO1xuICAtLWNvbG9yLWFjY2VudC1saWdodDogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1saWdodC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHQtbCkpO1xuICAtLWNvbG9yLWFjY2VudC1saWdodGVyLWg6IDE3MztcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHRlci1zOiA1NCU7XG4gIC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItbDogNTclO1xuICAtLWNvbG9yLWFjY2VudC1saWdodGVyOiBoc2wodmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWFjY2VudC1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHRlci1sKSk7XG4gIC0tY29sb3ItYmxhY2staDogMjA0O1xuICAtLWNvbG9yLWJsYWNrLXM6IDI4JTtcbiAgLS1jb2xvci1ibGFjay1sOiA3JTtcbiAgLS1jb2xvci1ibGFjazogaHNsKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCkpO1xuICAtLWNvbG9yLXdoaXRlLWg6IDA7XG4gIC0tY29sb3Itd2hpdGUtczogMCU7XG4gIC0tY29sb3Itd2hpdGUtbDogMTAwJTtcbiAgLS1jb2xvci13aGl0ZTogaHNsKHZhcigtLWNvbG9yLXdoaXRlLWgpLCB2YXIoLS1jb2xvci13aGl0ZS1zKSwgdmFyKC0tY29sb3Itd2hpdGUtbCkpO1xuICAtLWNvbG9yLXdhcm5pbmctZGFya2VyLWg6IDQ2O1xuICAtLWNvbG9yLXdhcm5pbmctZGFya2VyLXM6IDEwMCU7XG4gIC0tY29sb3Itd2FybmluZy1kYXJrZXItbDogNDclO1xuICAtLWNvbG9yLXdhcm5pbmctZGFya2VyOiBoc2wodmFyKC0tY29sb3Itd2FybmluZy1kYXJrZXItaCksIHZhcigtLWNvbG9yLXdhcm5pbmctZGFya2VyLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmtlci1sKSk7XG4gIC0tY29sb3Itd2FybmluZy1kYXJrLWg6IDQ2O1xuICAtLWNvbG9yLXdhcm5pbmctZGFyay1zOiAxMDAlO1xuICAtLWNvbG9yLXdhcm5pbmctZGFyay1sOiA1MCU7XG4gIC0tY29sb3Itd2FybmluZy1kYXJrOiBoc2wodmFyKC0tY29sb3Itd2FybmluZy1kYXJrLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmstcyksIHZhcigtLWNvbG9yLXdhcm5pbmctZGFyay1sKSk7XG4gIC0tY29sb3Itd2FybmluZy1oOiA0NjtcbiAgLS1jb2xvci13YXJuaW5nLXM6IDEwMCU7XG4gIC0tY29sb3Itd2FybmluZy1sOiA2MSU7XG4gIC0tY29sb3Itd2FybmluZzogaHNsKHZhcigtLWNvbG9yLXdhcm5pbmctaCksIHZhcigtLWNvbG9yLXdhcm5pbmctcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbCkpO1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQtaDogNDY7XG4gIC0tY29sb3Itd2FybmluZy1saWdodC1zOiAxMDAlO1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQtbDogNzElO1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQ6IGhzbCh2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LWwpKTtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItaDogNDY7XG4gIC0tY29sb3Itd2FybmluZy1saWdodGVyLXM6IDEwMCU7XG4gIC0tY29sb3Itd2FybmluZy1saWdodGVyLWw6IDgwJTtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXI6IGhzbCh2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodGVyLWwpKTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcmtlci1oOiAxMjI7XG4gIC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItczogNTAlO1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWw6IDQ3JTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcmtlcjogaHNsKHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmtlci1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItbCkpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFyay1oOiAxMjI7XG4gIC0tY29sb3Itc3VjY2Vzcy1kYXJrLXM6IDUwJTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcmstbDogNTIlO1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFyazogaHNsKHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyay1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmstbCkpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtaDogMTIyO1xuICAtLWNvbG9yLXN1Y2Nlc3MtczogNTAlO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbDogNjAlO1xuICAtLWNvbG9yLXN1Y2Nlc3M6IGhzbCh2YXIoLS1jb2xvci1zdWNjZXNzLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWwpKTtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0LWg6IDEyMjtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0LXM6IDUwJTtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0LWw6IDY5JTtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0OiBoc2wodmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1sKSk7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLWg6IDEyMjtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItczogNTAlO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1sOiA3NiU7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodGVyOiBoc2wodmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1sKSk7XG4gIC0tY29sb3ItZXJyb3ItZGFya2VyLWg6IDM0MjtcbiAgLS1jb2xvci1lcnJvci1kYXJrZXItczogODklO1xuICAtLWNvbG9yLWVycm9yLWRhcmtlci1sOiAzOCU7XG4gIC0tY29sb3ItZXJyb3ItZGFya2VyOiBoc2wodmFyKC0tY29sb3ItZXJyb3ItZGFya2VyLWgpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrZXItcyksIHZhcigtLWNvbG9yLWVycm9yLWRhcmtlci1sKSk7XG4gIC0tY29sb3ItZXJyb3ItZGFyay1oOiAzNDI7XG4gIC0tY29sb3ItZXJyb3ItZGFyay1zOiA4OSU7XG4gIC0tY29sb3ItZXJyb3ItZGFyay1sOiA0MyU7XG4gIC0tY29sb3ItZXJyb3ItZGFyazogaHNsKHZhcigtLWNvbG9yLWVycm9yLWRhcmstaCksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstcyksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstbCkpO1xuICAtLWNvbG9yLWVycm9yLWg6IDM0MjtcbiAgLS1jb2xvci1lcnJvci1zOiA4OSU7XG4gIC0tY29sb3ItZXJyb3ItbDogNDglO1xuICAtLWNvbG9yLWVycm9yOiBoc2wodmFyKC0tY29sb3ItZXJyb3ItaCksIHZhcigtLWNvbG9yLWVycm9yLXMpLCB2YXIoLS1jb2xvci1lcnJvci1sKSk7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHQtaDogMzQyO1xuICAtLWNvbG9yLWVycm9yLWxpZ2h0LXM6IDg5JTtcbiAgLS1jb2xvci1lcnJvci1saWdodC1sOiA1NiU7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHQ6IGhzbCh2YXIoLS1jb2xvci1lcnJvci1saWdodC1oKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHQtcyksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0LWwpKTtcbiAgLS1jb2xvci1lcnJvci1saWdodGVyLWg6IDM0MjtcbiAgLS1jb2xvci1lcnJvci1saWdodGVyLXM6IDg5JTtcbiAgLS1jb2xvci1lcnJvci1saWdodGVyLWw6IDYyJTtcbiAgLS1jb2xvci1lcnJvci1saWdodGVyOiBoc2wodmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1sKSk7XG4gIC0tY29sb3ItYmctZGFya2VyLWg6IDIxMDtcbiAgLS1jb2xvci1iZy1kYXJrZXItczogNCU7XG4gIC0tY29sb3ItYmctZGFya2VyLWw6IDg5JTtcbiAgLS1jb2xvci1iZy1kYXJrZXI6IGhzbCh2YXIoLS1jb2xvci1iZy1kYXJrZXItaCksIHZhcigtLWNvbG9yLWJnLWRhcmtlci1zKSwgdmFyKC0tY29sb3ItYmctZGFya2VyLWwpKTtcbiAgLS1jb2xvci1iZy1kYXJrLWg6IDE4MDtcbiAgLS1jb2xvci1iZy1kYXJrLXM6IDMlO1xuICAtLWNvbG9yLWJnLWRhcmstbDogOTQlO1xuICAtLWNvbG9yLWJnLWRhcms6IGhzbCh2YXIoLS1jb2xvci1iZy1kYXJrLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrLXMpLCB2YXIoLS1jb2xvci1iZy1kYXJrLWwpKTtcbiAgLS1jb2xvci1iZy1oOiAwO1xuICAtLWNvbG9yLWJnLXM6IDAlO1xuICAtLWNvbG9yLWJnLWw6IDEwMCU7XG4gIC0tY29sb3ItYmc6IGhzbCh2YXIoLS1jb2xvci1iZy1oKSwgdmFyKC0tY29sb3ItYmctcyksIHZhcigtLWNvbG9yLWJnLWwpKTtcbiAgLS1jb2xvci1iZy1saWdodC1oOiAwO1xuICAtLWNvbG9yLWJnLWxpZ2h0LXM6IDAlO1xuICAtLWNvbG9yLWJnLWxpZ2h0LWw6IDEwMCU7XG4gIC0tY29sb3ItYmctbGlnaHQ6IGhzbCh2YXIoLS1jb2xvci1iZy1saWdodC1oKSwgdmFyKC0tY29sb3ItYmctbGlnaHQtcyksIHZhcigtLWNvbG9yLWJnLWxpZ2h0LWwpKTtcbiAgLS1jb2xvci1iZy1saWdodGVyLWg6IDA7XG4gIC0tY29sb3ItYmctbGlnaHRlci1zOiAwJTtcbiAgLS1jb2xvci1iZy1saWdodGVyLWw6IDEwMCU7XG4gIC0tY29sb3ItYmctbGlnaHRlcjogaHNsKHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItbCkpO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWg6IDE4MDtcbiAgLS1jb2xvci1jb250cmFzdC1sb3dlci1zOiAxJTtcbiAgLS1jb2xvci1jb250cmFzdC1sb3dlci1sOiA4NCU7XG4gIC0tY29sb3ItY29udHJhc3QtbG93ZXI6IGhzbCh2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWwpKTtcbiAgLS1jb2xvci1jb250cmFzdC1sb3ctaDogMjEwO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvdy1zOiAyJTtcbiAgLS1jb2xvci1jb250cmFzdC1sb3ctbDogNjQlO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvdzogaHNsKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93LXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctbCkpO1xuICAtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1oOiAyMDQ7XG4gIC0tY29sb3ItY29udHJhc3QtbWVkaXVtLXM6IDIlO1xuICAtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1sOiA0NiU7XG4gIC0tY29sb3ItY29udHJhc3QtbWVkaXVtOiBoc2wodmFyKC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0tcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1sKSk7XG4gIC0tY29sb3ItY29udHJhc3QtaGlnaC1oOiAyMTA7XG4gIC0tY29sb3ItY29udHJhc3QtaGlnaC1zOiA3JTtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoLWw6IDIxJTtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoOiBoc2wodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1sKSk7XG4gIC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWg6IDIwNDtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoZXItczogMjglO1xuICAtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sOiA3JTtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoZXI6IGhzbCh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpKTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10ge1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VyLWg6IDI1MDtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlci1zOiA5MyU7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrZXItbDogNTclO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VyOiBoc2wodmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXItaCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyLXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlci1sKSk7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrLWg6IDI1MDtcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmstczogOTMlO1xuICAtLWNvbG9yLXByaW1hcnktZGFyay1sOiA2MSU7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrOiBoc2wodmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstcyksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1sKSk7XG4gIC0tY29sb3ItcHJpbWFyeS1oOiAyNTA7XG4gIC0tY29sb3ItcHJpbWFyeS1zOiA5MyU7XG4gIC0tY29sb3ItcHJpbWFyeS1sOiA2NSU7XG4gIC0tY29sb3ItcHJpbWFyeTogaHNsKHZhcigtLWNvbG9yLXByaW1hcnktaCksIHZhcigtLWNvbG9yLXByaW1hcnktcyksIHZhcigtLWNvbG9yLXByaW1hcnktbCkpO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQtaDogMjUwO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQtczogOTMlO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQtbDogNjklO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6IGhzbCh2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LWwpKTtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItaDogMjUwO1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlci1zOiA5MyU7XG4gIC0tY29sb3ItcHJpbWFyeS1saWdodGVyLWw6IDcyJTtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXI6IGhzbCh2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyLWwpKTtcbiAgLS1jb2xvci1hY2NlbnQtZGFya2VyLWg6IDM0MjtcbiAgLS1jb2xvci1hY2NlbnQtZGFya2VyLXM6IDkyJTtcbiAgLS1jb2xvci1hY2NlbnQtZGFya2VyLWw6IDQxJTtcbiAgLS1jb2xvci1hY2NlbnQtZGFya2VyOiBoc2wodmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1sKSk7XG4gIC0tY29sb3ItYWNjZW50LWRhcmstaDogMzQyO1xuICAtLWNvbG9yLWFjY2VudC1kYXJrLXM6IDkyJTtcbiAgLS1jb2xvci1hY2NlbnQtZGFyay1sOiA0NyU7XG4gIC0tY29sb3ItYWNjZW50LWRhcms6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtZGFyay1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmstcyksIHZhcigtLWNvbG9yLWFjY2VudC1kYXJrLWwpKTtcbiAgLS1jb2xvci1hY2NlbnQtaDogMzQyO1xuICAtLWNvbG9yLWFjY2VudC1zOiA5MiU7XG4gIC0tY29sb3ItYWNjZW50LWw6IDU0JTtcbiAgLS1jb2xvci1hY2NlbnQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtaCksIHZhcigtLWNvbG9yLWFjY2VudC1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWwpKTtcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHQtaDogMzQyO1xuICAtLWNvbG9yLWFjY2VudC1saWdodC1zOiA5MiU7XG4gIC0tY29sb3ItYWNjZW50LWxpZ2h0LWw6IDYwJTtcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHQ6IGhzbCh2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHQtaCksIHZhcigtLWNvbG9yLWFjY2VudC1saWdodC1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0LWwpKTtcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHRlci1oOiAzNDI7XG4gIC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItczogOTIlO1xuICAtLWNvbG9yLWFjY2VudC1saWdodGVyLWw6IDY1JTtcbiAgLS1jb2xvci1hY2NlbnQtbGlnaHRlcjogaHNsKHZhcigtLWNvbG9yLWFjY2VudC1saWdodGVyLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItbCkpO1xuICAtLWNvbG9yLWJsYWNrLWg6IDIwNDtcbiAgLS1jb2xvci1ibGFjay1zOiAyOCU7XG4gIC0tY29sb3ItYmxhY2stbDogNyU7XG4gIC0tY29sb3ItYmxhY2s6IGhzbCh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpKTtcbiAgLS1jb2xvci13aGl0ZS1oOiAwO1xuICAtLWNvbG9yLXdoaXRlLXM6IDAlO1xuICAtLWNvbG9yLXdoaXRlLWw6IDEwMCU7XG4gIC0tY29sb3Itd2hpdGU6IGhzbCh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpKTtcbiAgLS1jb2xvci13YXJuaW5nLWRhcmtlci1oOiA0NjtcbiAgLS1jb2xvci13YXJuaW5nLWRhcmtlci1zOiAxMDAlO1xuICAtLWNvbG9yLXdhcm5pbmctZGFya2VyLWw6IDQ3JTtcbiAgLS1jb2xvci13YXJuaW5nLWRhcmtlcjogaHNsKHZhcigtLWNvbG9yLXdhcm5pbmctZGFya2VyLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmtlci1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrZXItbCkpO1xuICAtLWNvbG9yLXdhcm5pbmctZGFyay1oOiA0NjtcbiAgLS1jb2xvci13YXJuaW5nLWRhcmstczogMTAwJTtcbiAgLS1jb2xvci13YXJuaW5nLWRhcmstbDogNTAlO1xuICAtLWNvbG9yLXdhcm5pbmctZGFyazogaHNsKHZhcigtLWNvbG9yLXdhcm5pbmctZGFyay1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmstbCkpO1xuICAtLWNvbG9yLXdhcm5pbmctaDogNDY7XG4gIC0tY29sb3Itd2FybmluZy1zOiAxMDAlO1xuICAtLWNvbG9yLXdhcm5pbmctbDogNjElO1xuICAtLWNvbG9yLXdhcm5pbmc6IGhzbCh2YXIoLS1jb2xvci13YXJuaW5nLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWwpKTtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0LWg6IDQ2O1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHQtczogMTAwJTtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0LWw6IDcxJTtcbiAgLS1jb2xvci13YXJuaW5nLWxpZ2h0OiBoc2wodmFyKC0tY29sb3Itd2FybmluZy1saWdodC1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodC1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodC1sKSk7XG4gIC0tY29sb3Itd2FybmluZy1saWdodGVyLWg6IDQ2O1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1zOiAxMDAlO1xuICAtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1sOiA4MCU7XG4gIC0tY29sb3Itd2FybmluZy1saWdodGVyOiBoc2wodmFyKC0tY29sb3Itd2FybmluZy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1sKSk7XG4gIC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItaDogMTIyO1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLXM6IDUwJTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcmtlci1sOiA0NyU7XG4gIC0tY29sb3Itc3VjY2Vzcy1kYXJrZXI6IGhzbCh2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmtlci1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWwpKTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcmstaDogMTIyO1xuICAtLWNvbG9yLXN1Y2Nlc3MtZGFyay1zOiA1MCU7XG4gIC0tY29sb3Itc3VjY2Vzcy1kYXJrLWw6IDUyJTtcbiAgLS1jb2xvci1zdWNjZXNzLWRhcms6IGhzbCh2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmstaCksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyay1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrLWwpKTtcbiAgLS1jb2xvci1zdWNjZXNzLWg6IDEyMjtcbiAgLS1jb2xvci1zdWNjZXNzLXM6IDUwJTtcbiAgLS1jb2xvci1zdWNjZXNzLWw6IDYwJTtcbiAgLS1jb2xvci1zdWNjZXNzOiBoc2wodmFyKC0tY29sb3Itc3VjY2Vzcy1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1sKSk7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodC1oOiAxMjI7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodC1zOiA1MCU7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodC1sOiA2OSU7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodDogaHNsKHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtaCksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtbCkpO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1oOiAxMjI7XG4gIC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLXM6IDUwJTtcbiAgLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItbDogNzYlO1xuICAtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlcjogaHNsKHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItbCkpO1xuICAtLWNvbG9yLWVycm9yLWRhcmtlci1oOiAzNDI7XG4gIC0tY29sb3ItZXJyb3ItZGFya2VyLXM6IDkyJTtcbiAgLS1jb2xvci1lcnJvci1kYXJrZXItbDogNDElO1xuICAtLWNvbG9yLWVycm9yLWRhcmtlcjogaHNsKHZhcigtLWNvbG9yLWVycm9yLWRhcmtlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItZGFya2VyLXMpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrZXItbCkpO1xuICAtLWNvbG9yLWVycm9yLWRhcmstaDogMzQyO1xuICAtLWNvbG9yLWVycm9yLWRhcmstczogOTIlO1xuICAtLWNvbG9yLWVycm9yLWRhcmstbDogNDclO1xuICAtLWNvbG9yLWVycm9yLWRhcms6IGhzbCh2YXIoLS1jb2xvci1lcnJvci1kYXJrLWgpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrLXMpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrLWwpKTtcbiAgLS1jb2xvci1lcnJvci1oOiAzNDI7XG4gIC0tY29sb3ItZXJyb3ItczogOTIlO1xuICAtLWNvbG9yLWVycm9yLWw6IDU0JTtcbiAgLS1jb2xvci1lcnJvcjogaHNsKHZhcigtLWNvbG9yLWVycm9yLWgpLCB2YXIoLS1jb2xvci1lcnJvci1zKSwgdmFyKC0tY29sb3ItZXJyb3ItbCkpO1xuICAtLWNvbG9yLWVycm9yLWxpZ2h0LWg6IDM0MjtcbiAgLS1jb2xvci1lcnJvci1saWdodC1zOiA5MiU7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHQtbDogNjAlO1xuICAtLWNvbG9yLWVycm9yLWxpZ2h0OiBoc2wodmFyKC0tY29sb3ItZXJyb3ItbGlnaHQtaCksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1lcnJvci1saWdodC1sKSk7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlci1oOiAzNDI7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlci1zOiA5MiU7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlci1sOiA2NSU7XG4gIC0tY29sb3ItZXJyb3ItbGlnaHRlcjogaHNsKHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItbCkpO1xuICAtLWNvbG9yLWJnLWRhcmtlci1oOiAyMDQ7XG4gIC0tY29sb3ItYmctZGFya2VyLXM6IDE1JTtcbiAgLS1jb2xvci1iZy1kYXJrZXItbDogNiU7XG4gIC0tY29sb3ItYmctZGFya2VyOiBoc2wodmFyKC0tY29sb3ItYmctZGFya2VyLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrZXItcyksIHZhcigtLWNvbG9yLWJnLWRhcmtlci1sKSk7XG4gIC0tY29sb3ItYmctZGFyay1oOiAyMDM7XG4gIC0tY29sb3ItYmctZGFyay1zOiAxOCU7XG4gIC0tY29sb3ItYmctZGFyay1sOiA5JTtcbiAgLS1jb2xvci1iZy1kYXJrOiBoc2wodmFyKC0tY29sb3ItYmctZGFyay1oKSwgdmFyKC0tY29sb3ItYmctZGFyay1zKSwgdmFyKC0tY29sb3ItYmctZGFyay1sKSk7XG4gIC0tY29sb3ItYmctaDogMjAzO1xuICAtLWNvbG9yLWJnLXM6IDI0JTtcbiAgLS1jb2xvci1iZy1sOiAxMyU7XG4gIC0tY29sb3ItYmc6IGhzbCh2YXIoLS1jb2xvci1iZy1oKSwgdmFyKC0tY29sb3ItYmctcyksIHZhcigtLWNvbG9yLWJnLWwpKTtcbiAgLS1jb2xvci1iZy1saWdodC1oOiAyMDM7XG4gIC0tY29sb3ItYmctbGlnaHQtczogMTglO1xuICAtLWNvbG9yLWJnLWxpZ2h0LWw6IDE3JTtcbiAgLS1jb2xvci1iZy1saWdodDogaHNsKHZhcigtLWNvbG9yLWJnLWxpZ2h0LWgpLCB2YXIoLS1jb2xvci1iZy1saWdodC1zKSwgdmFyKC0tY29sb3ItYmctbGlnaHQtbCkpO1xuICAtLWNvbG9yLWJnLWxpZ2h0ZXItaDogMjA0O1xuICAtLWNvbG9yLWJnLWxpZ2h0ZXItczogMTUlO1xuICAtLWNvbG9yLWJnLWxpZ2h0ZXItbDogMjAlO1xuICAtLWNvbG9yLWJnLWxpZ2h0ZXI6IGhzbCh2YXIoLS1jb2xvci1iZy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci1iZy1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1iZy1saWdodGVyLWwpKTtcbiAgLS1jb2xvci1jb250cmFzdC1sb3dlci1oOiAyMDg7XG4gIC0tY29sb3ItY29udHJhc3QtbG93ZXItczogMTIlO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWw6IDI0JTtcbiAgLS1jb2xvci1jb250cmFzdC1sb3dlcjogaHNsKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItbCkpO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvdy1oOiAyMDg7XG4gIC0tY29sb3ItY29udHJhc3QtbG93LXM6IDYlO1xuICAtLWNvbG9yLWNvbnRyYXN0LWxvdy1sOiA0MCU7XG4gIC0tY29sb3ItY29udHJhc3QtbG93OiBoc2wodmFyKC0tY29sb3ItY29udHJhc3QtbG93LWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1sKSk7XG4gIC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWg6IDIxMztcbiAgLS1jb2xvci1jb250cmFzdC1tZWRpdW0tczogNSU7XG4gIC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWw6IDU2JTtcbiAgLS1jb2xvci1jb250cmFzdC1tZWRpdW06IGhzbCh2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0taCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWwpKTtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoLWg6IDIyMztcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoLXM6IDglO1xuICAtLWNvbG9yLWNvbnRyYXN0LWhpZ2gtbDogODIlO1xuICAtLWNvbG9yLWNvbnRyYXN0LWhpZ2g6IGhzbCh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoLWwpKTtcbiAgLS1jb2xvci1jb250cmFzdC1oaWdoZXItaDogMjQwO1xuICAtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zOiAxMDAlO1xuICAtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sOiA5OSU7XG4gIC0tY29sb3ItY29udHJhc3QtaGlnaGVyOiBoc2wodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSk7XG59XG5cbi8qIGdyaWQgKi9cbi5ncmlkIHtcbiAgLS1ncmlkLWNvbHVtbnM6IDEyO1xuICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgLS1yb3ctZ2FwOiAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdyaWQgPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmdyaWQtY29sLTEge1xuICAtLWdyaWQtY29sdW1uczogMTtcbn1cblxuLmNvbC0xIHtcbiAgLS1jb2x1bW4tc3BhbjogMTtcbn1cblxuLmdyaWQtY29sLTIge1xuICAtLWdyaWQtY29sdW1uczogMjtcbn1cblxuLmNvbC0yIHtcbiAgLS1jb2x1bW4tc3BhbjogMjtcbn1cblxuLmdyaWQtY29sLTMge1xuICAtLWdyaWQtY29sdW1uczogMztcbn1cblxuLmNvbC0zIHtcbiAgLS1jb2x1bW4tc3BhbjogMztcbn1cblxuLmdyaWQtY29sLTQge1xuICAtLWdyaWQtY29sdW1uczogNDtcbn1cblxuLmNvbC00IHtcbiAgLS1jb2x1bW4tc3BhbjogNDtcbn1cblxuLmdyaWQtY29sLTUge1xuICAtLWdyaWQtY29sdW1uczogNTtcbn1cblxuLmNvbC01IHtcbiAgLS1jb2x1bW4tc3BhbjogNTtcbn1cblxuLmdyaWQtY29sLTYge1xuICAtLWdyaWQtY29sdW1uczogNjtcbn1cblxuLmNvbC02IHtcbiAgLS1jb2x1bW4tc3BhbjogNjtcbn1cblxuLmdyaWQtY29sLTcge1xuICAtLWdyaWQtY29sdW1uczogNztcbn1cblxuLmNvbC03IHtcbiAgLS1jb2x1bW4tc3BhbjogNztcbn1cblxuLmdyaWQtY29sLTgge1xuICAtLWdyaWQtY29sdW1uczogODtcbn1cblxuLmNvbC04IHtcbiAgLS1jb2x1bW4tc3BhbjogODtcbn1cblxuLmdyaWQtY29sLTkge1xuICAtLWdyaWQtY29sdW1uczogOTtcbn1cblxuLmNvbC05IHtcbiAgLS1jb2x1bW4tc3BhbjogOTtcbn1cblxuLmdyaWQtY29sLTEwIHtcbiAgLS1ncmlkLWNvbHVtbnM6IDEwO1xufVxuXG4uY29sLTEwIHtcbiAgLS1jb2x1bW4tc3BhbjogMTA7XG59XG5cbi5ncmlkLWNvbC0xMSB7XG4gIC0tZ3JpZC1jb2x1bW5zOiAxMTtcbn1cblxuLmNvbC0xMSB7XG4gIC0tY29sdW1uLXNwYW46IDExO1xufVxuXG4uZ3JpZC1jb2wtMTIge1xuICAtLWdyaWQtY29sdW1uczogMTI7XG59XG5cbi5jb2wtMTIge1xuICAtLWNvbHVtbi1zcGFuOiAxMjtcbn1cblxuLmNvbC0xLCAuY29sLTIsIC5jb2wtMywgLmNvbC00LCAuY29sLTUsIC5jb2wtNiwgLmNvbC03LCAuY29sLTgsIC5jb2wtOSwgLmNvbC0xMCwgLmNvbC0xMSwgLmNvbC0xMiB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gKHZhcigtLWdyaWQtY29sdW1ucykgLSAxKSAqIHZhcigtLWNvbHVtbi1nYXApKSAqIHZhcigtLWNvbHVtbi1zcGFuKSAvIHZhcigtLWdyaWQtY29sdW1ucykgKyAodmFyKC0tY29sdW1uLXNwYW4pIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG4gIGZsZXg6IGluaXRpYWw7XG59XG5cbi5jb2wge1xuICB3aWR0aDogYXV0bztcbiAgZmxleDogMSAxIDA7XG59XG5cbi5jb2wtY29udGVudCB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLm9mZnNldC0xIHtcbiAgLS1jb2x1bW4tb2Zmc2V0OiAxO1xufVxuXG4ub2Zmc2V0LTIge1xuICAtLWNvbHVtbi1vZmZzZXQ6IDI7XG59XG5cbi5vZmZzZXQtMyB7XG4gIC0tY29sdW1uLW9mZnNldDogMztcbn1cblxuLm9mZnNldC00IHtcbiAgLS1jb2x1bW4tb2Zmc2V0OiA0O1xufVxuXG4ub2Zmc2V0LTUge1xuICAtLWNvbHVtbi1vZmZzZXQ6IDU7XG59XG5cbi5vZmZzZXQtNiB7XG4gIC0tY29sdW1uLW9mZnNldDogNjtcbn1cblxuLm9mZnNldC03IHtcbiAgLS1jb2x1bW4tb2Zmc2V0OiA3O1xufVxuXG4ub2Zmc2V0LTgge1xuICAtLWNvbHVtbi1vZmZzZXQ6IDg7XG59XG5cbi5vZmZzZXQtOSB7XG4gIC0tY29sdW1uLW9mZnNldDogOTtcbn1cblxuLm9mZnNldC0xMCB7XG4gIC0tY29sdW1uLW9mZnNldDogMTA7XG59XG5cbi5vZmZzZXQtMTEge1xuICAtLWNvbHVtbi1vZmZzZXQ6IDExO1xufVxuXG4ub2Zmc2V0LTEsIC5vZmZzZXQtMiwgLm9mZnNldC0zLCAub2Zmc2V0LTQsIC5vZmZzZXQtNSwgLm9mZnNldC02LCAub2Zmc2V0LTcsIC5vZmZzZXQtOCwgLm9mZnNldC05LCAub2Zmc2V0LTEwLCAub2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAodmFyKC0tZ3JpZC1jb2x1bW5zKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpICogdmFyKC0tY29sdW1uLW9mZnNldCkgLyB2YXIoLS1ncmlkLWNvbHVtbnMpICsgdmFyKC0tY29sdW1uLW9mZnNldCkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG59XG5cbi8qIGdhcCAqL1xuLmdhcC00eHMge1xuICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LTR4cyB7XG4gIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC15LTR4cyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG59XG5cbi5nYXAtM3hzIHtcbiAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteC0zeHMge1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS0zeHMge1xuICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xufVxuXG4uZ2FwLTJ4cyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xufVxuXG4uZ2FwLXgtMnhzIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xufVxuXG4uZ2FwLXktMnhzIHtcbiAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC14cyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LXhzIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS14cyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC1zbSB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LXNtIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS1zbSB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC1tZCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LW1kIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS1tZCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC1sZyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LWxnIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS1sZyB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC14bCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LXhsIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS14bCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC0yeGwge1xuICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC14LTJ4bCB7XG4gIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbn1cblxuLmdhcC15LTJ4bCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG59XG5cbi5nYXAtM3hsIHtcbiAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteC0zeGwge1xuICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG59XG5cbi5nYXAteS0zeGwge1xuICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xufVxuXG4uZ2FwLTR4bCB7XG4gIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xufVxuXG4uZ2FwLXgtNHhsIHtcbiAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xufVxuXG4uZ2FwLXktNHhsIHtcbiAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbn1cblxuLmdhcC0wIHtcbiAgLS1yb3ctZ2FwOiAwcHg7XG4gIC0tY29sdW1uLWdhcDogMHB4O1xuICBnYXA6IDBweDtcbn1cblxuLmdhcC14LTAge1xuICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgLW1vei1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgICAgY29sdW1uLWdhcDogMHB4O1xufVxuXG4uZ2FwLXktMCB7XG4gIC0tcm93LWdhcDogMHB4O1xuICByb3ctZ2FwOiAwcHg7XG59XG5cbi8qIGZsZXhib3ggKi9cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmlubGluZS1mbGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGV4LW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1ncm93IHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uZmxleC1ncm93LTAge1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5mbGV4LXNocmluayB7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuXG4uZmxleC1zaHJpbmstMCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmxleC1iYXNpcy0wIHtcbiAgZmxleC1iYXNpczogMDtcbn1cblxuLyoganVzdGlmeS1jb250ZW50ICovXG4uanVzdGlmeS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xufVxuXG4uanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogYWxpZ24taXRlbXMgKi9cbi5pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG5cbi5pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG4uaXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbi5pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi8qIGFsaWduLWNvbnRlbnQgKi9cbi5jb250ZW50LXN0YXJ0IHtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG59XG5cbi5jb250ZW50LWVuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IGVuZDtcbn1cblxuLmNvbnRlbnQtY2VudGVyIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyogb3JkZXIgKi9cbi5vcmRlci0xIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5vcmRlci0yIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5vcmRlci0zIHtcbiAgb3JkZXI6IDM7XG59XG5cbi8qIGFzcGVjdC1yYXRpbyAqL1xuLmFzcGVjdC1yYXRpby0xNlxcOjkge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG59XG5cbi5hc3BlY3QtcmF0aW8tM1xcOjIge1xuICBhc3BlY3QtcmF0aW86IDMvMjtcbn1cblxuLmFzcGVjdC1yYXRpby00XFw6MyB7XG4gIGFzcGVjdC1yYXRpbzogNC8zO1xufVxuXG4uYXNwZWN0LXJhdGlvLTVcXDo0IHtcbiAgYXNwZWN0LXJhdGlvOiA1LzQ7XG59XG5cbi5hc3BlY3QtcmF0aW8tMVxcOjEge1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbn1cblxuLmFzcGVjdC1yYXRpby00XFw6NSB7XG4gIGFzcGVjdC1yYXRpbzogNC81O1xufVxuXG4uYXNwZWN0LXJhdGlvLTNcXDo0IHtcbiAgYXNwZWN0LXJhdGlvOiAzLzQ7XG59XG5cbi5hc3BlY3QtcmF0aW8tMlxcOjMge1xuICBhc3BlY3QtcmF0aW86IDIvMztcbn1cblxuLmFzcGVjdC1yYXRpby05XFw6MTYge1xuICBhc3BlY3QtcmF0aW86IDkvMTY7XG59XG5cbi8qIG1lZGlhIHdyYXBwZXIgKi9cbjp3aGVyZShbY2xhc3NePW1lZGlhLXdyYXBwZXJdLCBbY2xhc3MqPVwiIG1lZGlhLXdyYXBwZXJcIl0pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5bY2xhc3NePW1lZGlhLXdyYXBwZXJdLCBbY2xhc3MqPVwiIG1lZGlhLXdyYXBwZXJcIl0ge1xuICBoZWlnaHQ6IDA7XG59XG5cbltjbGFzc149bWVkaWEtd3JhcHBlcl0gPiAqLFxuW2NsYXNzKj1cIiBtZWRpYS13cmFwcGVyXCJdID4gKiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5bY2xhc3NePW1lZGlhLXdyYXBwZXJdID4gKjpub3QoaWZyYW1lKSxcbltjbGFzcyo9XCIgbWVkaWEtd3JhcHBlclwiXSA+ICo6bm90KGlmcmFtZSkge1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5tZWRpYS13cmFwcGVyLTE2XFw6OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5tZWRpYS13cmFwcGVyLTNcXDoyIHtcbiAgcGFkZGluZy1ib3R0b206IDY2LjY2NjY2NjY2NjclO1xufVxuXG4ubWVkaWEtd3JhcHBlci00XFw6MyB7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5tZWRpYS13cmFwcGVyLTFcXDoxIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi8qIGRpc3BsYXkgKi9cbi5ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uY29udGVudHMge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLmNzcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmNzcy1pbmxpbmUtZ3JpZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogdmFyKC0tZGlzcGxheSwgYmxvY2spICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIG1hcmdpbiAqL1xuLm1hcmdpbi00eHMge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5tYXJnaW4tM3hzIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ubWFyZ2luLTJ4cyB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLm1hcmdpbi14cyB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ubWFyZ2luLXNtIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5tYXJnaW4tbWQge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLm1hcmdpbi1sZyB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ubWFyZ2luLXhsIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5tYXJnaW4tMnhsIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ubWFyZ2luLTN4bCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLm1hcmdpbi00eGwge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5tYXJnaW4tYXV0byB7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLm1hcmdpbi0wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWFyZ2luLXktNHhzIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLm1hcmdpbi14LTR4cyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5tYXJnaW4teS0zeHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ubWFyZ2luLXgtM3hzIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLm1hcmdpbi15LTJ4cyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5tYXJnaW4teC0yeHMge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ubWFyZ2luLXkteHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLm1hcmdpbi14LXhzIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5tYXJnaW4teS1zbSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ubWFyZ2luLXgtc20ge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLm1hcmdpbi15LW1kIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5tYXJnaW4teC1tZCB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubWFyZ2luLXktbGcge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLm1hcmdpbi14LWxnIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5tYXJnaW4teS14bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4ubWFyZ2luLXgteGwge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLm1hcmdpbi15LTJ4bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5tYXJnaW4teC0yeGwge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ubWFyZ2luLXktM3hsIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLm1hcmdpbi14LTN4bCB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG59XG5cbi5tYXJnaW4teS00eGwge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ubWFyZ2luLXgtNHhsIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbn1cblxuLm1hcmdpbi15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xufVxuXG4ubWFyZ2luLXktMCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJnaW4teC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm1hcmdpbi14LTAge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWFyZ2luLXRvcC00eHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xufVxuXG4ubWFyZ2luLXJpZ2h0LTR4cyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLm1hcmdpbi1ib3R0b20tNHhzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLm1hcmdpbi1sZWZ0LTR4cyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xufVxuXG4ubWFyZ2luLXRvcC0zeHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ubWFyZ2luLXJpZ2h0LTN4cyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLm1hcmdpbi1ib3R0b20tM3hzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLm1hcmdpbi1sZWZ0LTN4cyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ubWFyZ2luLXRvcC0yeHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ubWFyZ2luLXJpZ2h0LTJ4cyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLm1hcmdpbi1ib3R0b20tMnhzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLm1hcmdpbi1sZWZ0LTJ4cyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ubWFyZ2luLXRvcC14cyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLm1hcmdpbi1yaWdodC14cyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ubWFyZ2luLWJvdHRvbS14cyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLm1hcmdpbi1sZWZ0LXhzIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLm1hcmdpbi10b3Atc20ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5tYXJnaW4tcmlnaHQtc20ge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLm1hcmdpbi1ib3R0b20tc20ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5tYXJnaW4tbGVmdC1zbSB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5tYXJnaW4tdG9wLW1kIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubWFyZ2luLXJpZ2h0LW1kIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5tYXJnaW4tYm90dG9tLW1kIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubWFyZ2luLWxlZnQtbWQge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubWFyZ2luLXRvcC1sZyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLm1hcmdpbi1yaWdodC1sZyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ubWFyZ2luLWJvdHRvbS1sZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLm1hcmdpbi1sZWZ0LWxnIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLm1hcmdpbi10b3AteGwge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5tYXJnaW4tcmlnaHQteGwge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLm1hcmdpbi1ib3R0b20teGwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5tYXJnaW4tbGVmdC14bCB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5tYXJnaW4tdG9wLTJ4bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5tYXJnaW4tcmlnaHQtMnhsIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ubWFyZ2luLWJvdHRvbS0yeGwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ubWFyZ2luLWxlZnQtMnhsIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5tYXJnaW4tdG9wLTN4bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG59XG5cbi5tYXJnaW4tcmlnaHQtM3hsIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4ubWFyZ2luLWJvdHRvbS0zeGwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4ubWFyZ2luLWxlZnQtM3hsIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG59XG5cbi5tYXJnaW4tdG9wLTR4bCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5tYXJnaW4tcmlnaHQtNHhsIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ubWFyZ2luLWJvdHRvbS00eGwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ubWFyZ2luLWxlZnQtNHhsIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5tYXJnaW4tdG9wLWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1hcmdpbi1yaWdodC1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tYXJnaW4tYm90dG9tLWF1dG8ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xufVxuXG4ubWFyZ2luLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmdpbi1sZWZ0LWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLm1hcmdpbi1sZWZ0LTAge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogcGFkZGluZyAqL1xuLnBhZGRpbmctNHhzIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLnBhZGRpbmctM3hzIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnBhZGRpbmctMnhzIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnBhZGRpbmcteHMge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5wYWRkaW5nLXNtIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucGFkZGluZy1tZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnBhZGRpbmctbGcge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5wYWRkaW5nLXhsIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4ucGFkZGluZy0yeGwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ucGFkZGluZy0zeGwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4ucGFkZGluZy00eGwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhZGRpbmcteS00eHMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5wYWRkaW5nLXgtNHhzIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xufVxuXG4ucGFkZGluZy15LTN4cyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnBhZGRpbmcteC0zeHMge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG59XG5cbi5wYWRkaW5nLXktMnhzIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ucGFkZGluZy14LTJ4cyB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnBhZGRpbmcteS14cyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5wYWRkaW5nLXgteHMge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucGFkZGluZy15LXNtIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnBhZGRpbmcteC1zbSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5wYWRkaW5nLXktbWQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucGFkZGluZy14LW1kIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnBhZGRpbmcteS1sZyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5wYWRkaW5nLXgtbGcge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucGFkZGluZy15LXhsIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLnBhZGRpbmcteC14bCB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5wYWRkaW5nLXktMnhsIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ucGFkZGluZy14LTJ4bCB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbn1cblxuLnBhZGRpbmcteS0zeGwge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG59XG5cbi5wYWRkaW5nLXgtM3hsIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4ucGFkZGluZy15LTR4bCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbn1cblxuLnBhZGRpbmcteC00eGwge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5wYWRkaW5nLXktMCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnBhZGRpbmcteC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucGFkZGluZy10b3AtNHhzIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTR4cyB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS00eHMge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLnBhZGRpbmctbGVmdC00eHMge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5wYWRkaW5nLXRvcC0zeHMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnBhZGRpbmctcmlnaHQtM3hzIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLTN4cyB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ucGFkZGluZy1sZWZ0LTN4cyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnBhZGRpbmctdG9wLTJ4cyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ucGFkZGluZy1yaWdodC0yeHMge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ucGFkZGluZy1ib3R0b20tMnhzIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5wYWRkaW5nLWxlZnQtMnhzIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4ucGFkZGluZy10b3AteHMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucGFkZGluZy1yaWdodC14cyB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLXhzIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnBhZGRpbmctbGVmdC14cyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucGFkZGluZy10b3Atc20ge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucGFkZGluZy1yaWdodC1zbSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLXNtIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnBhZGRpbmctbGVmdC1zbSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucGFkZGluZy10b3AtbWQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucGFkZGluZy1yaWdodC1tZCB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLW1kIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnBhZGRpbmctbGVmdC1tZCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucGFkZGluZy10b3AtbGcge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucGFkZGluZy1yaWdodC1sZyB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLWxnIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnBhZGRpbmctbGVmdC1sZyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucGFkZGluZy10b3AteGwge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4ucGFkZGluZy1yaWdodC14bCB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLXhsIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLnBhZGRpbmctbGVmdC14bCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4ucGFkZGluZy10b3AtMnhsIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTJ4bCB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0yeGwge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbn1cblxuLnBhZGRpbmctbGVmdC0yeGwge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5wYWRkaW5nLXRvcC0zeGwge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnBhZGRpbmctcmlnaHQtM3hsIHtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLTN4bCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4ucGFkZGluZy1sZWZ0LTN4bCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnBhZGRpbmctdG9wLTR4bCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ucGFkZGluZy1yaWdodC00eGwge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ucGFkZGluZy1ib3R0b20tNHhsIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5wYWRkaW5nLWxlZnQtNHhsIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4ucGFkZGluZy10b3AtMCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucGFkZGluZy1yaWdodC0wIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnBhZGRpbmctbGVmdC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vKiB2ZXJ0aWNhbC1hbGlnbiAqL1xuLmFsaWduLWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uYWxpZ24tc3ViIHtcbiAgdmVydGljYWwtYWxpZ246IHN1Yjtcbn1cblxuLmFsaWduLXN1cGVyIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuXG4uYWxpZ24tdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5hbGlnbi10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbn1cblxuLmFsaWduLXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLyogdHlwb2dyYXBoeSAqL1xuLnRydW5jYXRlLCAudGV4dC10cnVuY2F0ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGV4dC1yZXBsYWNlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWluZGVudDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJyZWFrLXdvcmQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIGZvbnQtc2l6ZSAqL1xuLnRleHQteHMge1xuICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xufVxuXG4udGV4dC1zbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG59XG5cbi50ZXh0LWJhc2Uge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG59XG5cbi50ZXh0LW1kIHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LW1kKTtcbn1cblxuLnRleHQtbGcge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtbGcpO1xufVxuXG4udGV4dC14bCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG59XG5cbi50ZXh0LTJ4bCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0yeGwpO1xufVxuXG4udGV4dC0zeGwge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtM3hsKTtcbn1cblxuLnRleHQtNHhsIHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTR4bCk7XG59XG5cbi8qIHRleHQtdHJhbnNmb3JtICovXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8qIGxldHRlci1zcGFjaW5nICovXG4ubGV0dGVyLXNwYWNpbmcteHMge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMWVtO1xufVxuXG4ubGV0dGVyLXNwYWNpbmctc20ge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbn1cblxuLmxldHRlci1zcGFjaW5nLW1kIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmxldHRlci1zcGFjaW5nLWxnIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xufVxuXG4ubGV0dGVyLXNwYWNpbmcteGwge1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG59XG5cbi8qIGZvbnQtd2VpZ2h0ICovXG4uZm9udC10aGluIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbn1cblxuLmZvbnQtZXh0cmFsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5cbi5mb250LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvbnQtbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZvbnQtc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZvbnQtZXh0cmFib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLmZvbnQtYmxhY2sge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4vKiBmb250LXN0eWxlICovXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIGZvbnQtc21vb3RoICovXG4uZm9udC1zbW9vdGgge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmZvbnQtcHJpbWFyeSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaW1hcnkpO1xufVxuXG4vKiB0ZXh0LWFsaWduICovXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLyogdGV4dC1kZWNvcmF0aW9uICovXG4udGV4dC1saW5lLXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogdGV4dC1zaGFkb3cgKi9cbi50ZXh0LXNoYWRvdy14cyB7XG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCAwLjE1KTtcbn1cblxuLnRleHQtc2hhZG93LXNtIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMjUpO1xufVxuXG4udGV4dC1zaGFkb3ctbWQge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4xKSwgMCAycHggNHB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4yKTtcbn1cblxuLnRleHQtc2hhZG93LWxnIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMSksIDAgMnB4IDhweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMTUpLCAwIDRweCAxNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4yKTtcbn1cblxuLnRleHQtc2hhZG93LXhsIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDRweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMSksIDAgMnB4IDhweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMTUpLCAwIDRweCAxNnB4IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgMC4yKSwgMCA2cHggMjRweCBoc2xhKHZhcigtLWNvbG9yLWJsYWNrLWgpLCB2YXIoLS1jb2xvci1ibGFjay1zKSwgdmFyKC0tY29sb3ItYmxhY2stbCksIDAuMjUpO1xufVxuXG4udGV4dC1zaGFkb3ctbm9uZSB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiB0ZXh0LWluZGVudCAqL1xuLnRleHQtaW5kZW50LXNtIHtcbiAgdGV4dC1pbmRlbnQ6IDAuNWVtO1xufVxuXG4udGV4dC1pbmRlbnQtbWQge1xuICB0ZXh0LWluZGVudDogMWVtO1xufVxuXG4udGV4dC1pbmRlbnQtbGcge1xuICB0ZXh0LWluZGVudDogMS41ZW07XG59XG5cbi8qIGxpbmUtaGVpZ2h0ICovXG4ubGluZS1oZWlnaHQtbm9ybWFsIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmxpbmUtaGVpZ2h0LTEge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxpbmUtaGVpZ2h0LXhzIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzKTtcbn1cblxuLmxpbmUtaGVpZ2h0LXNtIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtKTtcbn1cblxuLmxpbmUtaGVpZ2h0LW1kIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1kKTtcbn1cblxuLmxpbmUtaGVpZ2h0LWxnIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWxnKTtcbn1cblxuLmxpbmUtaGVpZ2h0LXhsIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbn1cblxuLyogbGluZS1jbGFtcCAqL1xuLmxpbmUtY2xhbXAtMSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG59XG5cbi5saW5lLWNsYW1wLTIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xufVxuXG4ubGluZS1jbGFtcC0zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbn1cblxuLmxpbmUtY2xhbXAtNCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG59XG5cbi8qIHdoaXRlLXNwYWNlICovXG4ud3Mtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogY29sdW1uLWNvdW50ICovXG4uY29sdW1uLWNvdW50LTEge1xuICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICAgICBjb2x1bW4tY291bnQ6IDE7XG59XG5cbi5jb2x1bW4tY291bnQtMiB7XG4gIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgIGNvbHVtbi1jb3VudDogMjtcbn1cblxuLmNvbHVtbi1jb3VudC0zIHtcbiAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgY29sdW1uLWNvdW50OiAzO1xufVxuXG4uY29sdW1uLWNvdW50LTQge1xuICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG59XG5cbi8qIGxpc3Qtc3R5bGUgKi9cbi5saXN0LXN0eWxlLW5vbmUge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBjdXJzb3IgKi9cbi5jdXJzb3ItcG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmN1cnNvci1kZWZhdWx0IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKiBwb2ludGVyLWV2ZW50cyAqL1xuLnBvaW50ZXItZXZlbnRzLWF1dG8ge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLnBvaW50ZXItZXZlbnRzLW5vbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogdXNlci1zZWxlY3QgKi9cbi51c2VyLXNlbGVjdC1ub25lIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnVzZXItc2VsZWN0LWFsbCB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IGFsbDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogYWxsO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XG59XG5cbi8qIGNvbG9yICovXG5bY2xhc3NePWNvbG9yLV0sIFtjbGFzcyo9XCIgY29sb3ItXCJdIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAxO1xufVxuXG4uY29sb3ItaW5oZXJpdCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uY29sb3ItcHJpbWFyeS1kYXJrZXIge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlci1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXItcyksIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1wcmltYXJ5LWRhcmsge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstaCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1wcmltYXJ5IHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItcHJpbWFyeS1saWdodCB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtaCksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtcyksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQtbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLXByaW1hcnktbGlnaHRlciB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWFjY2VudC1kYXJrZXIge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1hY2NlbnQtZGFyayB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1kYXJrLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFyay1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmstbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWFjY2VudCB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWFjY2VudC1saWdodCB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1saWdodC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHQtbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWFjY2VudC1saWdodGVyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWFjY2VudC1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHRlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItYmxhY2sge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1ibGFjay1oKSwgdmFyKC0tY29sb3ItYmxhY2stcyksIHZhcigtLWNvbG9yLWJsYWNrLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdoaXRlLWgpLCB2YXIoLS1jb2xvci13aGl0ZS1zKSwgdmFyKC0tY29sb3Itd2hpdGUtbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLXdhcm5pbmctZGFya2VyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3Itd2FybmluZy1kYXJrZXItaCksIHZhcigtLWNvbG9yLXdhcm5pbmctZGFya2VyLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmtlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3Itd2FybmluZy1kYXJrIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3Itd2FybmluZy1kYXJrLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmstcyksIHZhcigtLWNvbG9yLXdhcm5pbmctZGFyay1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3Itd2FybmluZyB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctaCksIHZhcigtLWNvbG9yLXdhcm5pbmctcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLXdhcm5pbmctbGlnaHQge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0LWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci13YXJuaW5nLWxpZ2h0ZXIge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodGVyLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1zdWNjZXNzLWRhcmtlciB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmtlci1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLXN1Y2Nlc3MtZGFyayB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyay1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmstbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLXN1Y2Nlc3Mge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1zdWNjZXNzLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1zdWNjZXNzLWxpZ2h0IHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3Itc3VjY2Vzcy1saWdodGVyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItZXJyb3ItZGFya2VyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItZGFya2VyLWgpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrZXItcyksIHZhcigtLWNvbG9yLWVycm9yLWRhcmtlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItZXJyb3ItZGFyayB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWRhcmstaCksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstcyksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWVycm9yIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItaCksIHZhcigtLWNvbG9yLWVycm9yLXMpLCB2YXIoLS1jb2xvci1lcnJvci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItZXJyb3ItbGlnaHQge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1lcnJvci1saWdodC1oKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHQtcyksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0LWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1lcnJvci1saWdodGVyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItYmctZGFya2VyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmctZGFya2VyLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrZXItcyksIHZhcigtLWNvbG9yLWJnLWRhcmtlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItYmctZGFyayB7XG4gIGNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWRhcmstaCksIHZhcigtLWNvbG9yLWJnLWRhcmstcyksIHZhcigtLWNvbG9yLWJnLWRhcmstbCksIHZhcigtLWNvbG9yLW9wYWNpdHksIDEpKTtcbn1cblxuLmNvbG9yLWJnIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmctaCksIHZhcigtLWNvbG9yLWJnLXMpLCB2YXIoLS1jb2xvci1iZy1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItYmctbGlnaHQge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1iZy1saWdodC1oKSwgdmFyKC0tY29sb3ItYmctbGlnaHQtcyksIHZhcigtLWNvbG9yLWJnLWxpZ2h0LWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1iZy1saWdodGVyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmctbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItYmctbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItYmctbGlnaHRlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItY29udHJhc3QtbG93ZXIge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1jb250cmFzdC1sb3cge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93LWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1jb250cmFzdC1tZWRpdW0ge1xuICBjb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0taCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWwpLCB2YXIoLS1jb2xvci1vcGFjaXR5LCAxKSk7XG59XG5cbi5jb2xvci1jb250cmFzdC1oaWdoIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3ItY29udHJhc3QtaGlnaGVyIHtcbiAgY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1sKSwgdmFyKC0tY29sb3Itb3BhY2l0eSwgMSkpO1xufVxuXG4uY29sb3Itb3BhY2l0eS0wIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwO1xufVxuXG4uY29sb3Itb3BhY2l0eS01XFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjA1O1xufVxuXG4uY29sb3Itb3BhY2l0eS0xMFxcJSB7XG4gIC0tY29sb3Itb3BhY2l0eTogMC4xO1xufVxuXG4uY29sb3Itb3BhY2l0eS0xNVxcJSB7XG4gIC0tY29sb3Itb3BhY2l0eTogMC4xNTtcbn1cblxuLmNvbG9yLW9wYWNpdHktMjBcXCUge1xuICAtLWNvbG9yLW9wYWNpdHk6IDAuMjtcbn1cblxuLmNvbG9yLW9wYWNpdHktMjVcXCUge1xuICAtLWNvbG9yLW9wYWNpdHk6IDAuMjU7XG59XG5cbi5jb2xvci1vcGFjaXR5LTMwXFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjM7XG59XG5cbi5jb2xvci1vcGFjaXR5LTQwXFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjQ7XG59XG5cbi5jb2xvci1vcGFjaXR5LTUwXFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjU7XG59XG5cbi5jb2xvci1vcGFjaXR5LTYwXFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjY7XG59XG5cbi5jb2xvci1vcGFjaXR5LTcwXFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjc7XG59XG5cbi5jb2xvci1vcGFjaXR5LTc1XFwlIHtcbiAgLS1jb2xvci1vcGFjaXR5OiAwLjc1O1xufVxuXG4uY29sb3Itb3BhY2l0eS04MFxcJSB7XG4gIC0tY29sb3Itb3BhY2l0eTogMC44O1xufVxuXG4uY29sb3Itb3BhY2l0eS04NVxcJSB7XG4gIC0tY29sb3Itb3BhY2l0eTogMC44NTtcbn1cblxuLmNvbG9yLW9wYWNpdHktOTBcXCUge1xuICAtLWNvbG9yLW9wYWNpdHk6IDAuOTtcbn1cblxuLmNvbG9yLW9wYWNpdHktOTVcXCUge1xuICAtLWNvbG9yLW9wYWNpdHk6IDAuOTU7XG59XG5cbi8qIGdyYWRpZW50ICovXG5bY2xhc3NePWNvbG9yLWdyYWRpZW50XSwgW2NsYXNzKj1cIiBjb2xvci1ncmFkaWVudFwiXSB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIG9wYWNpdHk6IHZhcigtLWNvbG9yLW9wYWNpdHkpO1xufVxuXG4vKiB3aWR0aCAqL1xuLndpZHRoLTR4cyB7XG4gIHdpZHRoOiAwLjI1cmVtO1xufVxuXG4ud2lkdGgtM3hzIHtcbiAgd2lkdGg6IDAuNXJlbTtcbn1cblxuLndpZHRoLTJ4cyB7XG4gIHdpZHRoOiAwLjc1cmVtO1xufVxuXG4ud2lkdGgteHMge1xuICB3aWR0aDogMXJlbTtcbn1cblxuLndpZHRoLXNtIHtcbiAgd2lkdGg6IDEuNXJlbTtcbn1cblxuLndpZHRoLW1kIHtcbiAgd2lkdGg6IDJyZW07XG59XG5cbi53aWR0aC1sZyB7XG4gIHdpZHRoOiAzcmVtO1xufVxuXG4ud2lkdGgteGwge1xuICB3aWR0aDogNHJlbTtcbn1cblxuLndpZHRoLTJ4bCB7XG4gIHdpZHRoOiA2cmVtO1xufVxuXG4ud2lkdGgtM3hsIHtcbiAgd2lkdGg6IDhyZW07XG59XG5cbi53aWR0aC00eGwge1xuICB3aWR0aDogMTZyZW07XG59XG5cbi53aWR0aC0wIHtcbiAgd2lkdGg6IDA7XG59XG5cbi53aWR0aC0xMFxcJSB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi53aWR0aC0yMFxcJSB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi53aWR0aC0yNVxcJSB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi53aWR0aC0zMFxcJSB7XG4gIHdpZHRoOiAzMCU7XG59XG5cbi53aWR0aC0zM1xcJSB7XG4gIHdpZHRoOiAzMyU7XG59XG5cbi53aWR0aC00MFxcJSB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi53aWR0aC01MFxcJSB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi53aWR0aC02MFxcJSB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi53aWR0aC03MFxcJSB7XG4gIHdpZHRoOiA3MCU7XG59XG5cbi53aWR0aC03NVxcJSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi53aWR0aC04MFxcJSB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi53aWR0aC05MFxcJSB7XG4gIHdpZHRoOiA5MCU7XG59XG5cbi53aWR0aC0xMDBcXCUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndpZHRoLTEwMHZ3IHtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4ud2lkdGgtYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud2lkdGgtaW5oZXJpdCB7XG4gIHdpZHRoOiBpbmhlcml0O1xufVxuXG4vKiBoZWlnaHQgKi9cbi5oZWlnaHQtNHhzIHtcbiAgaGVpZ2h0OiAwLjI1cmVtO1xufVxuXG4uaGVpZ2h0LTN4cyB7XG4gIGhlaWdodDogMC41cmVtO1xufVxuXG4uaGVpZ2h0LTJ4cyB7XG4gIGhlaWdodDogMC43NXJlbTtcbn1cblxuLmhlaWdodC14cyB7XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLmhlaWdodC1zbSB7XG4gIGhlaWdodDogMS41cmVtO1xufVxuXG4uaGVpZ2h0LW1kIHtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4uaGVpZ2h0LWxnIHtcbiAgaGVpZ2h0OiAzcmVtO1xufVxuXG4uaGVpZ2h0LXhsIHtcbiAgaGVpZ2h0OiA0cmVtO1xufVxuXG4uaGVpZ2h0LTJ4bCB7XG4gIGhlaWdodDogNnJlbTtcbn1cblxuLmhlaWdodC0zeGwge1xuICBoZWlnaHQ6IDhyZW07XG59XG5cbi5oZWlnaHQtNHhsIHtcbiAgaGVpZ2h0OiAxNnJlbTtcbn1cblxuLmhlaWdodC0wIHtcbiAgaGVpZ2h0OiAwO1xufVxuXG4uaGVpZ2h0LTEwXFwlIHtcbiAgaGVpZ2h0OiAxMCU7XG59XG5cbi5oZWlnaHQtMjBcXCUge1xuICBoZWlnaHQ6IDIwJTtcbn1cblxuLmhlaWdodC0yNVxcJSB7XG4gIGhlaWdodDogMjUlO1xufVxuXG4uaGVpZ2h0LTMwXFwlIHtcbiAgaGVpZ2h0OiAzMCU7XG59XG5cbi5oZWlnaHQtMzNcXCUge1xuICBoZWlnaHQ6IDMzJTtcbn1cblxuLmhlaWdodC00MFxcJSB7XG4gIGhlaWdodDogNDAlO1xufVxuXG4uaGVpZ2h0LTUwXFwlIHtcbiAgaGVpZ2h0OiA1MCU7XG59XG5cbi5oZWlnaHQtNjBcXCUge1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLmhlaWdodC03MFxcJSB7XG4gIGhlaWdodDogNzAlO1xufVxuXG4uaGVpZ2h0LTc1XFwlIHtcbiAgaGVpZ2h0OiA3NSU7XG59XG5cbi5oZWlnaHQtODBcXCUge1xuICBoZWlnaHQ6IDgwJTtcbn1cblxuLmhlaWdodC05MFxcJSB7XG4gIGhlaWdodDogOTAlO1xufVxuXG4uaGVpZ2h0LTEwMFxcJSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmhlaWdodC0xMDB2aCB7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbi5oZWlnaHQtYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmhlaWdodC1pbmhlcml0IHtcbiAgaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKiBtaW4td2lkdGggKi9cbi5taW4td2lkdGgtMCB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLm1pbi13aWR0aC0yNVxcJSB7XG4gIG1pbi13aWR0aDogMjUlO1xufVxuXG4ubWluLXdpZHRoLTMzXFwlIHtcbiAgbWluLXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLm1pbi13aWR0aC01MFxcJSB7XG4gIG1pbi13aWR0aDogNTAlO1xufVxuXG4ubWluLXdpZHRoLTY2XFwlIHtcbiAgbWluLXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLm1pbi13aWR0aC03NVxcJSB7XG4gIG1pbi13aWR0aDogNzUlO1xufVxuXG4ubWluLXdpZHRoLTEwMFxcJSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbn1cblxuLm1pbi13aWR0aC0xMDB2dyB7XG4gIG1pbi13aWR0aDogMTAwdnc7XG59XG5cbi8qIG1pbi1oZWlnaHQgKi9cbi5taW4taGVpZ2h0LTAge1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4ubWluLWhlaWdodC0xMDBcXCUge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4ubWluLWhlaWdodC0xMDB2aCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vKiBtYXgtd2lkdGggKi9cbi5jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLWNvbnRhaW5lci1tYXJnaW4teCkpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubWF4LXdpZHRoLTV4cyB7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTV4cyk7XG59XG5cbi5tYXgtd2lkdGgtNHhzIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNHhzKTtcbn1cblxuLm1heC13aWR0aC0zeHMge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeHMpO1xufVxuXG4ubWF4LXdpZHRoLTJ4cyB7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTJ4cyk7XG59XG5cbi5tYXgtd2lkdGgteHMge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14cyk7XG59XG5cbi5tYXgtd2lkdGgtc20ge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1zbSk7XG59XG5cbi5tYXgtd2lkdGgtbWQge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1tZCk7XG59XG5cbi5tYXgtd2lkdGgtbGcge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1sZyk7XG59XG5cbi5tYXgtd2lkdGgteGwge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14bCk7XG59XG5cbi5tYXgtd2lkdGgtMnhsIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtMnhsKTtcbn1cblxuLm1heC13aWR0aC0zeGwge1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeGwpO1xufVxuXG4ubWF4LXdpZHRoLTR4bCB7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTR4bCk7XG59XG5cbi5tYXgtd2lkdGgtMTAwXFwlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubWF4LXdpZHRoLW5vbmUge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbltjbGFzc149bWF4LXdpZHRoLWFkYXB0aXZlXSwgW2NsYXNzKj1cIiBtYXgtd2lkdGgtYWRhcHRpdmVcIl0ge1xuICBtYXgtd2lkdGg6IDMycmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLm1heC13aWR0aC1hZGFwdGl2ZS1zbSwgLm1heC13aWR0aC1hZGFwdGl2ZS1tZCwgLm1heC13aWR0aC1hZGFwdGl2ZS1sZywgLm1heC13aWR0aC1hZGFwdGl2ZS14bCB7XG4gICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gIC5tYXgtd2lkdGgtYWRhcHRpdmUtbWQsIC5tYXgtd2lkdGgtYWRhcHRpdmUtbGcsIC5tYXgtd2lkdGgtYWRhcHRpdmUteGwge1xuICAgIG1heC13aWR0aDogNjRyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MHJlbSkge1xuICAubWF4LXdpZHRoLWFkYXB0aXZlLWxnLCAubWF4LXdpZHRoLWFkYXB0aXZlLXhsIHtcbiAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTByZW0pIHtcbiAgLm1heC13aWR0aC1hZGFwdGl2ZS14bCB7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgfVxufVxuLyogbWF4LWhlaWdodCAqL1xuLm1heC1oZWlnaHQtMTAwXFwlIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLm1heC1oZWlnaHQtMTAwdmgge1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogYm94LXNoYWRvdyAqL1xuLnNoYWRvdy1yaW5nIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXJpbmcpO1xufVxuXG4uc2hhZG93LXhzIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhzKTtcbn1cblxuLnNoYWRvdy14cy5zaGFkb3ctcmluZyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14cyksIHZhcigtLXNoYWRvdy1yaW5nKTtcbn1cblxuLnNoYWRvdy1zbSB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG59XG5cbi5zaGFkb3ctc20uc2hhZG93LXJpbmcge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pLCB2YXIoLS1zaGFkb3ctcmluZyk7XG59XG5cbi5zaGFkb3ctbWQge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xufVxuXG4uc2hhZG93LW1kLnNoYWRvdy1yaW5nIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKSwgdmFyKC0tc2hhZG93LXJpbmcpO1xufVxuXG4uc2hhZG93LWxnIHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbn1cblxuLnNoYWRvdy1sZy5zaGFkb3ctcmluZyB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyksIHZhcigtLXNoYWRvdy1yaW5nKTtcbn1cblxuLnNoYWRvdy14bCB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy14bCk7XG59XG5cbi5zaGFkb3cteGwuc2hhZG93LXJpbmcge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpLCB2YXIoLS1zaGFkb3ctcmluZyk7XG59XG5cbi5zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIGlubmVyLWdsb3cgKi9cbjp3aGVyZSguaW5uZXItZ2xvdywgLmlubmVyLWdsb3ctdG9wKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlubmVyLWdsb3c6OmFmdGVyLCAuaW5uZXItZ2xvdy10b3A6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaW5uZXItZ2xvdzo6YWZ0ZXIge1xuICBib3gtc2hhZG93OiB2YXIoLS1pbm5lci1nbG93KTtcbn1cblxuLmlubmVyLWdsb3ctdG9wOjphZnRlciB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlubmVyLWdsb3ctdG9wKTtcbn1cblxuLyogcG9zaXRpb24gKi9cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLmluc2V0LTAge1xuICBpbnNldDogMDtcbn1cblxuLnRvcC00eHMge1xuICB0b3A6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5yaWdodC00eHMge1xuICByaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbn1cblxuLmJvdHRvbS00eHMge1xuICBib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5sZWZ0LTR4cyB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi50b3AtM3hzIHtcbiAgdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ucmlnaHQtM3hzIHtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG59XG5cbi5ib3R0b20tM3hzIHtcbiAgYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4ubGVmdC0zeHMge1xuICBsZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xufVxuXG4udG9wLTJ4cyB7XG4gIHRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnJpZ2h0LTJ4cyB7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uYm90dG9tLTJ4cyB7XG4gIGJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmxlZnQtMnhzIHtcbiAgbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnRvcC14cyB7XG4gIHRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucmlnaHQteHMge1xuICByaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uYm90dG9tLXhzIHtcbiAgYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5sZWZ0LXhzIHtcbiAgbGVmdDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udG9wLXNtIHtcbiAgdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5yaWdodC1zbSB7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5ib3R0b20tc20ge1xuICBib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmxlZnQtc20ge1xuICBsZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50b3AtbWQge1xuICB0b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJpZ2h0LW1kIHtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmJvdHRvbS1tZCB7XG4gIGJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubGVmdC1tZCB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRvcC1sZyB7XG4gIHRvcDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucmlnaHQtbGcge1xuICByaWdodDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uYm90dG9tLWxnIHtcbiAgYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5sZWZ0LWxnIHtcbiAgbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4udG9wLXhsIHtcbiAgdG9wOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5yaWdodC14bCB7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5ib3R0b20teGwge1xuICBib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLmxlZnQteGwge1xuICBsZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi50b3AtMnhsIHtcbiAgdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ucmlnaHQtMnhsIHtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5ib3R0b20tMnhsIHtcbiAgYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4ubGVmdC0yeGwge1xuICBsZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xufVxuXG4udG9wLTN4bCB7XG4gIHRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnJpZ2h0LTN4bCB7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xufVxuXG4uYm90dG9tLTN4bCB7XG4gIGJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLmxlZnQtM3hsIHtcbiAgbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnRvcC00eGwge1xuICB0b3A6IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5yaWdodC00eGwge1xuICByaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbn1cblxuLmJvdHRvbS00eGwge1xuICBib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi5sZWZ0LTR4bCB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG59XG5cbi50b3AtNTBcXCUge1xuICB0b3A6IDUwJTtcbn1cblxuLnRvcC1hdXRvIHtcbiAgdG9wOiBhdXRvO1xufVxuXG4udG9wLTAge1xuICB0b3A6IDA7XG59XG5cbi5yaWdodC01MFxcJSB7XG4gIHJpZ2h0OiA1MCU7XG59XG5cbi5yaWdodC1hdXRvIHtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi5yaWdodC0wIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ib3R0b20tNTBcXCUge1xuICBib3R0b206IDUwJTtcbn1cblxuLmJvdHRvbS1hdXRvIHtcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4uYm90dG9tLTAge1xuICBib3R0b206IDA7XG59XG5cbi5sZWZ0LTUwXFwlIHtcbiAgbGVmdDogNTAlO1xufVxuXG4ubGVmdC1hdXRvIHtcbiAgbGVmdDogYXV0bztcbn1cblxuLmxlZnQtMCB7XG4gIGxlZnQ6IDA7XG59XG5cbi8qIHotaW5kZXggKi9cbi56LWluZGV4LTEge1xuICB6LWluZGV4OiAxO1xufVxuXG4uei1pbmRleC0yIHtcbiAgei1pbmRleDogMjtcbn1cblxuLnotaW5kZXgtMyB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi56LWluZGV4LWhlYWRlciB7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtaGVhZGVyKTtcbn1cblxuLnotaW5kZXgtcG9wb3ZlciB7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgtcG9wb3Zlcik7XG59XG5cbi56LWluZGV4LWZpeGVkLWVsZW1lbnQge1xuICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWZpeGVkLWVsZW1lbnQpO1xufVxuXG4uei1pbmRleC1vdmVybGF5IHtcbiAgei1pbmRleDogdmFyKC0tei1pbmRleC1vdmVybGF5KTtcbn1cblxuLyogb3ZlcmZsb3cgKi9cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub3ZlcmZsb3cteC1oaWRkZW4ge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5vdmVyZmxvdy15LWhpZGRlbiB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLm92ZXJmbG93LWNsaXAge1xuICBvdmVyZmxvdzogY2xpcDtcbn1cblxuLm92ZXJmbG93LXgtY2xpcCB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi5vdmVyZmxvdy15LWNsaXAge1xuICBvdmVyZmxvdy15OiBjbGlwO1xufVxuXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubW9tZW50dW0tc2Nyb2xsaW5nIHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vKiBvdmVyc2Nyb2xsLWJlaGF2aW9yICovXG4ub3ZlcnNjcm9sbC1jb250YWluIHtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cblxuLyogc2Nyb2xsIGJlaGF2aW9yICovXG4uc2Nyb2xsLXNtb290aCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmctNHhzIHtcbiAgc2Nyb2xsLXBhZGRpbmc6IHZhcigtLXNwYWNlLTR4cyk7XG59XG5cbi5zY3JvbGwtcGFkZGluZy0zeHMge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLnNjcm9sbC1wYWRkaW5nLTJ4cyB7XG4gIHNjcm9sbC1wYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmcteHMge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmctc20ge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmctbWQge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmctbGcge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmcteGwge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4uc2Nyb2xsLXBhZGRpbmctMnhsIHtcbiAgc2Nyb2xsLXBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4bCk7XG59XG5cbi5zY3JvbGwtcGFkZGluZy0zeGwge1xuICBzY3JvbGwtcGFkZGluZzogdmFyKC0tc3BhY2UtM3hsKTtcbn1cblxuLnNjcm9sbC1wYWRkaW5nLTR4bCB7XG4gIHNjcm9sbC1wYWRkaW5nOiB2YXIoLS1zcGFjZS00eGwpO1xufVxuXG4vKiBhY2Nlc3NpYmlsaXR5ICovXG4uc3Itb25seSwgLnNyLW9ubHktZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIG9wYWNpdHkgKi9cbi5vcGFjaXR5LTAge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ub3BhY2l0eS01XFwlIHtcbiAgb3BhY2l0eTogMC4wNTtcbn1cblxuLm9wYWNpdHktMTBcXCUge1xuICBvcGFjaXR5OiAwLjE7XG59XG5cbi5vcGFjaXR5LTE1XFwlIHtcbiAgb3BhY2l0eTogMC4xNTtcbn1cblxuLm9wYWNpdHktMjBcXCUge1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5vcGFjaXR5LTI1XFwlIHtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxuLm9wYWNpdHktMzBcXCUge1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5vcGFjaXR5LTQwXFwlIHtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4ub3BhY2l0eS01MFxcJSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm9wYWNpdHktNjBcXCUge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi5vcGFjaXR5LTcwXFwlIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4ub3BhY2l0eS03NVxcJSB7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbi5vcGFjaXR5LTgwXFwlIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ub3BhY2l0eS04NVxcJSB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5vcGFjaXR5LTkwXFwlIHtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4ub3BhY2l0eS05NVxcJSB7XG4gIG9wYWNpdHk6IDAuOTU7XG59XG5cbi8qIGZsb2F0ICovXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIGJvcmRlciAqL1xuW2NsYXNzXj1ib3JkZXItXSwgW2NsYXNzKj1cIiBib3JkZXItXCJdIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMTtcbiAgLS1ib3JkZXItd2lkdGg6IDFweDtcbiAgLS1ib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgdmFyKC0tYm9yZGVyLXN0eWxlLCBzb2xpZCkgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eS1iYXNlLCAwLjEpKTtcbn1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgdmFyKC0tYm9yZGVyLXN0eWxlLCBzb2xpZCkgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eS1iYXNlLCAwLjEpKTtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgdmFyKC0tYm9yZGVyLXN0eWxlLCBzb2xpZCkgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eS1iYXNlLCAwLjEpKTtcbn1cblxuLmJvcmRlci1sZWZ0IHtcbiAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KSB2YXIoLS1ib3JkZXItc3R5bGUsIHNvbGlkKSBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LWJhc2UsIDAuMSkpO1xufVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgsIDFweCkgdmFyKC0tYm9yZGVyLXN0eWxlLCBzb2xpZCkgaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eS1iYXNlLCAwLjEpKTtcbn1cblxuLmJvcmRlci0yIHtcbiAgLS1ib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLmJvcmRlci0zIHtcbiAgLS1ib3JkZXItd2lkdGg6IDNweDtcbn1cblxuLmJvcmRlci00IHtcbiAgLS1ib3JkZXItd2lkdGg6IDRweDtcbn1cblxuLmJvcmRlci1kb3R0ZWQge1xuICAtLWJvcmRlci1zdHlsZTogZG90dGVkO1xufVxuXG4uYm9yZGVyLWRhc2hlZCB7XG4gIC0tYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG5cbi5ib3JkZXItcHJpbWFyeS1kYXJrZXIge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXItaCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyLXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlci1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1wcmltYXJ5LWRhcmsge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstcyksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXByaW1hcnktaCksIHZhcigtLWNvbG9yLXByaW1hcnktcyksIHZhcigtLWNvbG9yLXByaW1hcnktbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItcHJpbWFyeS1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0LWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLXByaW1hcnktbGlnaHRlciB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWFjY2VudC1kYXJrZXIge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmtlci1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1hY2NlbnQtZGFyayB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtZGFyay1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWRhcmstcyksIHZhcigtLWNvbG9yLWFjY2VudC1kYXJrLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWFjY2VudCB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtaCksIHZhcigtLWNvbG9yLWFjY2VudC1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWFjY2VudC1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHQtaCksIHZhcigtLWNvbG9yLWFjY2VudC1saWdodC1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0LWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWFjY2VudC1saWdodGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1saWdodGVyLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItYmxhY2sge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci13aGl0ZS1oKSwgdmFyKC0tY29sb3Itd2hpdGUtcyksIHZhcigtLWNvbG9yLXdoaXRlLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLXdhcm5pbmctZGFya2VyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctZGFya2VyLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmtlci1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItd2FybmluZy1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctZGFyay1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmstbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItd2FybmluZyB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci13YXJuaW5nLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLXdhcm5pbmctbGlnaHQge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3Itd2FybmluZy1saWdodC1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodC1zKSwgdmFyKC0tY29sb3Itd2FybmluZy1saWdodC1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci13YXJuaW5nLWxpZ2h0ZXIge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3Itd2FybmluZy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1zdWNjZXNzLWRhcmtlciB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmtlci1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3MtZGFyayB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmstaCksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyay1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1zdWNjZXNzLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtaCksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHQtbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItc3VjY2Vzcy1saWdodGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLXMpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItZXJyb3ItZGFya2VyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWRhcmtlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItZGFya2VyLXMpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItZXJyb3ItZGFyayB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1lcnJvci1kYXJrLWgpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrLXMpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWgpLCB2YXIoLS1jb2xvci1lcnJvci1zKSwgdmFyKC0tY29sb3ItZXJyb3ItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItZXJyb3ItbGlnaHQge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItbGlnaHQtaCksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1lcnJvci1saWdodC1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1lcnJvci1saWdodGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0ZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItYmctZGFya2VyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWRhcmtlci1oKSwgdmFyKC0tY29sb3ItYmctZGFya2VyLXMpLCB2YXIoLS1jb2xvci1iZy1kYXJrZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItYmctZGFyayB7XG4gIGJvcmRlci1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1iZy1kYXJrLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrLXMpLCB2YXIoLS1jb2xvci1iZy1kYXJrLWwpLCB2YXIoLS1ib3JkZXItb3BhY2l0eSwgMSkpO1xufVxuXG4uYm9yZGVyLWJnIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWgpLCB2YXIoLS1jb2xvci1iZy1zKSwgdmFyKC0tY29sb3ItYmctbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItYmctbGlnaHQge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmctbGlnaHQtaCksIHZhcigtLWNvbG9yLWJnLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1iZy1saWdodC1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1iZy1saWdodGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItY29udHJhc3QtbG93ZXIge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1jb250cmFzdC1sb3cge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtbG93LWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1jb250cmFzdC1tZWRpdW0ge1xuICBib3JkZXItY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0tcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1sKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHksIDEpKTtcbn1cblxuLmJvcmRlci1jb250cmFzdC1oaWdoIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gtaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gtcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2gtbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItY29udHJhc3QtaGlnaGVyIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItbCksIHZhcigtLWJvcmRlci1vcGFjaXR5LCAxKSk7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0wIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMDtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTVcXCUge1xuICAtLWJvcmRlci1vcGFjaXR5OiAwLjA1O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktMTBcXCUge1xuICAtLWJvcmRlci1vcGFjaXR5OiAwLjE7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0xNVxcJSB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IDAuMTU7XG59XG5cbi5ib3JkZXItb3BhY2l0eS0yMFxcJSB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IDAuMjtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTI1XFwlIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMC4yNTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTMwXFwlIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMC4zO1xufVxuXG4uYm9yZGVyLW9wYWNpdHktNDBcXCUge1xuICAtLWJvcmRlci1vcGFjaXR5OiAwLjQ7XG59XG5cbi5ib3JkZXItb3BhY2l0eS01MFxcJSB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IDAuNTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTYwXFwlIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMC42O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktNzBcXCUge1xuICAtLWJvcmRlci1vcGFjaXR5OiAwLjc7XG59XG5cbi5ib3JkZXItb3BhY2l0eS03NVxcJSB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5ib3JkZXItb3BhY2l0eS04MFxcJSB7XG4gIC0tYm9yZGVyLW9wYWNpdHk6IDAuODtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTg1XFwlIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMC44NTtcbn1cblxuLmJvcmRlci1vcGFjaXR5LTkwXFwlIHtcbiAgLS1ib3JkZXItb3BhY2l0eTogMC45O1xufVxuXG4uYm9yZGVyLW9wYWNpdHktOTVcXCUge1xuICAtLWJvcmRlci1vcGFjaXR5OiAwLjk1O1xufVxuXG4vKiBib3JkZXItcmFkaXVzICovXG4ucmFkaXVzLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbn1cblxuLnJhZGl1cy1tZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG59XG5cbi5yYWRpdXMtbGcge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xufVxuXG4ucmFkaXVzLTUwXFwlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucmFkaXVzLWZ1bGwge1xuICBib3JkZXItcmFkaXVzOiA1MGVtO1xufVxuXG4ucmFkaXVzLTAge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ucmFkaXVzLWluaGVyaXQge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuXG4ucmFkaXVzLXRvcC1sZWZ0LTAge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4ucmFkaXVzLXRvcC1yaWdodC0wIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5yYWRpdXMtYm90dG9tLXJpZ2h0LTAge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLnJhZGl1cy1ib3R0b20tbGVmdC0wIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLyogYmFja2dyb3VuZCAqL1xuLmJnLCBbY2xhc3NePWJnLV0sIFtjbGFzcyo9XCIgYmctXCJdIHtcbiAgLS1iZy1vcGFjaXR5OiAxO1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJnLWluaGVyaXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uYmctcHJpbWFyeS1kYXJrZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyLWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlci1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXItbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXByaW1hcnktZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLWgpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstcyksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctcHJpbWFyeS1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItcHJpbWFyeS1saWdodC1oKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodC1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodC1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctcHJpbWFyeS1saWdodGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1hY2NlbnQtZGFya2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFya2VyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1hY2NlbnQtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYWNjZW50LWRhcmstaCksIHZhcigtLWNvbG9yLWFjY2VudC1kYXJrLXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtZGFyay1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctYWNjZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtaCksIHZhcigtLWNvbG9yLWFjY2VudC1zKSwgdmFyKC0tY29sb3ItYWNjZW50LWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1hY2NlbnQtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWFjY2VudC1saWdodC1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHQtbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWFjY2VudC1saWdodGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1hY2NlbnQtbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItYWNjZW50LWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWFjY2VudC1saWdodGVyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmxhY2staCksIHZhcigtLWNvbG9yLWJsYWNrLXMpLCB2YXIoLS1jb2xvci1ibGFjay1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdoaXRlLWgpLCB2YXIoLS1jb2xvci13aGl0ZS1zKSwgdmFyKC0tY29sb3Itd2hpdGUtbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXdhcm5pbmctZGFya2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci13YXJuaW5nLWRhcmtlci1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrZXItcyksIHZhcigtLWNvbG9yLXdhcm5pbmctZGFya2VyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy13YXJuaW5nLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctZGFyay1oKSwgdmFyKC0tY29sb3Itd2FybmluZy1kYXJrLXMpLCB2YXIoLS1jb2xvci13YXJuaW5nLWRhcmstbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctaCksIHZhcigtLWNvbG9yLXdhcm5pbmctcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXdhcm5pbmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHQtaCksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHQtcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHQtbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXdhcm5pbmctbGlnaHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3Itd2FybmluZy1saWdodGVyLWgpLCB2YXIoLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHRlci1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctc3VjY2Vzcy1kYXJrZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmtlci1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrZXItbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLXN1Y2Nlc3MtZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1kYXJrLWgpLCB2YXIoLS1jb2xvci1zdWNjZXNzLWRhcmstcyksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtZGFyay1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctc3VjY2Vzcy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1oKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodC1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctc3VjY2Vzcy1saWdodGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlci1zKSwgdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodGVyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1lcnJvci1kYXJrZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWRhcmtlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItZGFya2VyLXMpLCB2YXIoLS1jb2xvci1lcnJvci1kYXJrZXItbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWVycm9yLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWVycm9yLWRhcmstaCksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstcyksIHZhcigtLWNvbG9yLWVycm9yLWRhcmstbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1lcnJvci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItcyksIHZhcigtLWNvbG9yLWVycm9yLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1lcnJvci1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItbGlnaHQtaCksIHZhcigtLWNvbG9yLWVycm9yLWxpZ2h0LXMpLCB2YXIoLS1jb2xvci1lcnJvci1saWdodC1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctZXJyb3ItbGlnaHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1oKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1zKSwgdmFyKC0tY29sb3ItZXJyb3ItbGlnaHRlci1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctZGFya2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1iZy1kYXJrZXItaCksIHZhcigtLWNvbG9yLWJnLWRhcmtlci1zKSwgdmFyKC0tY29sb3ItYmctZGFya2VyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1iZy1kYXJrLWgpLCB2YXIoLS1jb2xvci1iZy1kYXJrLXMpLCB2YXIoLS1jb2xvci1iZy1kYXJrLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItYmctaCksIHZhcigtLWNvbG9yLWJnLXMpLCB2YXIoLS1jb2xvci1iZy1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWxpZ2h0LWgpLCB2YXIoLS1jb2xvci1iZy1saWdodC1zKSwgdmFyKC0tY29sb3ItYmctbGlnaHQtbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWxpZ2h0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItaCksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItcyksIHZhcigtLWNvbG9yLWJnLWxpZ2h0ZXItbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWNvbnRyYXN0LWxvd2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1sb3dlci1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93ZXItcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvd2VyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1jb250cmFzdC1sb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWNvbG9yLWNvbnRyYXN0LWxvdy1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtbG93LXMpLCB2YXIoLS1jb2xvci1jb250cmFzdC1sb3ctbCksIHZhcigtLWJnLW9wYWNpdHksIDEpKTtcbn1cblxuLmJnLWNvbnRyYXN0LW1lZGl1bSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtbWVkaXVtLWgpLCB2YXIoLS1jb2xvci1jb250cmFzdC1tZWRpdW0tcyksIHZhcigtLWNvbG9yLWNvbnRyYXN0LW1lZGl1bS1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctY29udHJhc3QtaGlnaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEodmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1oKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaC1sKSwgdmFyKC0tYmctb3BhY2l0eSwgMSkpO1xufVxuXG4uYmctY29udHJhc3QtaGlnaGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSh2YXIoLS1jb2xvci1jb250cmFzdC1oaWdoZXItaCksIHZhcigtLWNvbG9yLWNvbnRyYXN0LWhpZ2hlci1zKSwgdmFyKC0tY29sb3ItY29udHJhc3QtaGlnaGVyLWwpLCB2YXIoLS1iZy1vcGFjaXR5LCAxKSk7XG59XG5cbi5iZy1vcGFjaXR5LTAge1xuICAtLWJnLW9wYWNpdHk6IDA7XG59XG5cbi5iZy1vcGFjaXR5LTVcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuMDU7XG59XG5cbi5iZy1vcGFjaXR5LTEwXFwlIHtcbiAgLS1iZy1vcGFjaXR5OiAwLjE7XG59XG5cbi5iZy1vcGFjaXR5LTE1XFwlIHtcbiAgLS1iZy1vcGFjaXR5OiAwLjE1O1xufVxuXG4uYmctb3BhY2l0eS0yMFxcJSB7XG4gIC0tYmctb3BhY2l0eTogMC4yO1xufVxuXG4uYmctb3BhY2l0eS0yNVxcJSB7XG4gIC0tYmctb3BhY2l0eTogMC4yNTtcbn1cblxuLmJnLW9wYWNpdHktMzBcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuMztcbn1cblxuLmJnLW9wYWNpdHktNDBcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuNDtcbn1cblxuLmJnLW9wYWNpdHktNTBcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuNTtcbn1cblxuLmJnLW9wYWNpdHktNjBcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuNjtcbn1cblxuLmJnLW9wYWNpdHktNzBcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuNztcbn1cblxuLmJnLW9wYWNpdHktNzVcXCUge1xuICAtLWJnLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5iZy1vcGFjaXR5LTgwXFwlIHtcbiAgLS1iZy1vcGFjaXR5OiAwLjg7XG59XG5cbi5iZy1vcGFjaXR5LTg1XFwlIHtcbiAgLS1iZy1vcGFjaXR5OiAwLjg1O1xufVxuXG4uYmctb3BhY2l0eS05MFxcJSB7XG4gIC0tYmctb3BhY2l0eTogMC45O1xufVxuXG4uYmctb3BhY2l0eS05NVxcJSB7XG4gIC0tYmctb3BhY2l0eTogMC45NTtcbn1cblxuLmJnLWNlbnRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLmJnLXRvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG59XG5cbi5iZy1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbn1cblxuLmJnLWJvdHRvbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG59XG5cbi5iZy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG59XG5cbi5iZy10b3AtbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xufVxuXG4uYmctdG9wLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xufVxuXG4uYmctYm90dG9tLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbn1cblxuLmJnLWJvdHRvbS1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbn1cblxuLmJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmJnLW5vLXJlcGVhdCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8qIGJhY2tkcm9wLWZpbHRlciAqL1xuLmJhY2tkcm9wLWJsdXItMTAge1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi5iYWNrZHJvcC1ibHVyLTIwIHtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xufVxuXG4vKiBtaXgtYmxlbmQtbW9kZSAqL1xuLmlzb2xhdGUge1xuICBpc29sYXRpb246IGlzb2xhdGU7XG59XG5cbi5ibGVuZC1tdWx0aXBseSB7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cblxuLmJsZW5kLW92ZXJsYXkge1xuICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcbn1cblxuLmJsZW5kLWRpZmZlcmVuY2Uge1xuICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcbn1cblxuLyogb2JqZWN0LWZpdCAqL1xuLm9iamVjdC1jb250YWluIHtcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLm9iamVjdC1jb3ZlciB7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogcGVyc3BlY3RpdmUgKi9cbi5wZXJzcGVjdGl2ZS14cyB7XG4gIHBlcnNwZWN0aXZlOiAyNTBweDtcbn1cblxuLnBlcnNwZWN0aXZlLXNtIHtcbiAgcGVyc3BlY3RpdmU6IDUwMHB4O1xufVxuXG4ucGVyc3BlY3RpdmUtbWQge1xuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xufVxuXG4ucGVyc3BlY3RpdmUtbGcge1xuICBwZXJzcGVjdGl2ZTogMTUwMHB4O1xufVxuXG4ucGVyc3BlY3RpdmUteGwge1xuICBwZXJzcGVjdGl2ZTogMzAwMHB4O1xufVxuXG4vKiB0cmFuc2Zvcm0gKi9cbltjbGFzc149ZmxpcF0sIFtjbGFzcyo9XCIgZmxpcFwiXSxcbltjbGFzc149LXJvdGF0ZV0sIFtjbGFzcyo9XCIgLXJvdGF0ZVwiXSxcbltjbGFzc149cm90YXRlXSwgW2NsYXNzKj1cIiByb3RhdGVcIl0sXG5bY2xhc3NePS10cmFuc2xhdGVdLCBbY2xhc3MqPVwiIC10cmFuc2xhdGVcIl0sXG5bY2xhc3NePXRyYW5zbGF0ZV0sIFtjbGFzcyo9XCIgdHJhbnNsYXRlXCJdLFxuW2NsYXNzXj0tc2NhbGVdLCBbY2xhc3MqPVwiIC1zY2FsZVwiXSxcbltjbGFzc149c2NhbGVdLCBbY2xhc3MqPVwiIHNjYWxlXCJdLFxuW2NsYXNzXj0tc2tld10sIFtjbGFzcyo9XCIgLXNrZXdcIl0gW2NsYXNzXj1za2V3XSxcbltjbGFzcyo9XCIgc2tld1wiXSB7XG4gIC0tdHJhbnNsYXRlOiAwO1xuICAtLXJvdGF0ZTogMDtcbiAgLS1za2V3OiAwO1xuICAtLXNjYWxlOiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKHZhcigtLXRyYW5zbGF0ZS14LCB2YXIoLS10cmFuc2xhdGUpKSwgdmFyKC0tdHJhbnNsYXRlLXksIHZhcigtLXRyYW5zbGF0ZSkpLCB2YXIoLS10cmFuc2xhdGUteiwgMCkpIHJvdGF0ZVgodmFyKC0tcm90YXRlLXgsIDApKSByb3RhdGVZKHZhcigtLXJvdGF0ZS15LCAwKSkgcm90YXRlWih2YXIoLS1yb3RhdGUteiwgdmFyKC0tcm90YXRlKSkpIHNrZXdYKHZhcigtLXNrZXcteCwgdmFyKC0tc2tldykpKSBza2V3WSh2YXIoLS1za2V3LXksIDApKSBzY2FsZVgodmFyKC0tc2NhbGUteCwgdmFyKC0tc2NhbGUpKSkgc2NhbGVZKHZhcigtLXNjYWxlLXksIHZhcigtLXNjYWxlKSkpO1xufVxuXG4uZmxpcCB7XG4gIC0tc2NhbGU6IC0xO1xufVxuXG4uZmxpcC14IHtcbiAgLS1zY2FsZS14OiAtMTtcbn1cblxuLmZsaXAteSB7XG4gIC0tc2NhbGUteTogLTE7XG59XG5cbi5yb3RhdGUtOTAge1xuICAtLXJvdGF0ZTogOTBkZWc7XG59XG5cbi5yb3RhdGUtMTgwIHtcbiAgLS1yb3RhdGU6IDE4MGRlZztcbn1cblxuLnJvdGF0ZS0yNzAge1xuICAtLXJvdGF0ZTogMjcwZGVnO1xufVxuXG4uLXRyYW5zbGF0ZS01MFxcJSB7XG4gIC0tdHJhbnNsYXRlOiAtNTAlO1xufVxuXG4uLXRyYW5zbGF0ZS14LTUwXFwlIHtcbiAgLS10cmFuc2xhdGUteDogLTUwJTtcbn1cblxuLi10cmFuc2xhdGUteS01MFxcJSB7XG4gIC0tdHJhbnNsYXRlLXk6IC01MCU7XG59XG5cbi4tdHJhbnNsYXRlLXktc2xpZ2h0IHtcbiAgLS10cmFuc2xhdGUteTogLTAuMWVtO1xufVxuXG4udHJhbnNsYXRlLTUwXFwlIHtcbiAgLS10cmFuc2xhdGU6IDUwJTtcbn1cblxuLnRyYW5zbGF0ZS14LTUwXFwlIHtcbiAgLS10cmFuc2xhdGUteDogNTAlO1xufVxuXG4udHJhbnNsYXRlLXktNTBcXCUge1xuICAtLXRyYW5zbGF0ZS15OiA1MCU7XG59XG5cbi8qIHRyYW5zZm9ybS1vcmlnaW4gKi9cbi5vcmlnaW4tY2VudGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG4ub3JpZ2luLXRvcCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5cbi5vcmlnaW4tcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5cbi5vcmlnaW4tYm90dG9tIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLm9yaWdpbi1sZWZ0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5cbi5vcmlnaW4tdG9wLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cblxuLm9yaWdpbi10b3AtcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG5cbi5vcmlnaW4tYm90dG9tLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cblxuLm9yaWdpbi1ib3R0b20tcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5cbi8qIHRyYW5zaXRpb24gKi9cbi50cmFuc2l0aW9uIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdmFyKC0tdHJhbnNpdGlvbi1wcm9wZXJ0eSwgYWxsKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IHZhcigtLXRyYW5zaXRpb24tZGVsYXksIDBzKTtcbn1cblxuLyogU1ZHICovXG4uZmlsbC1jdXJyZW50IHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uc3Ryb2tlLWN1cnJlbnQge1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnN0cm9rZS0xIHtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5zdHJva2UtMiB7XG4gIHN0cm9rZS13aWR0aDogMnB4O1xufVxuXG4uc3Ryb2tlLTMge1xuICBzdHJva2Utd2lkdGg6IDNweDtcbn1cblxuLnN0cm9rZS00IHtcbiAgc3Ryb2tlLXdpZHRoOiA0cHg7XG59XG5cbi8qIHZpc2liaWxpdHkgKi9cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogcHJpbnQgKi9cbkBtZWRpYSBwcmludCB7XG4gIC5wcmludFxcOmhpZGUsIC5wcmludFxcOmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcmludFxcOnNoYWRvdy1ub25lIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4vKiBhcHBlYXJhbmNlICovXG4uYXBwZWFyYW5jZS1ub25lIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmFwcGVhcmFuY2UtYXV0byB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYXV0bztcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBhdXRvO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAvKiBncmlkICovXG4gIC5ncmlkLWNvbC0xXFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxO1xuICB9XG4gIC5jb2wtMVxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxO1xuICB9XG4gIC5ncmlkLWNvbC0yXFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAyO1xuICB9XG4gIC5jb2wtMlxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAyO1xuICB9XG4gIC5ncmlkLWNvbC0zXFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAzO1xuICB9XG4gIC5jb2wtM1xcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAzO1xuICB9XG4gIC5ncmlkLWNvbC00XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA0O1xuICB9XG4gIC5jb2wtNFxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA0O1xuICB9XG4gIC5ncmlkLWNvbC01XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA1O1xuICB9XG4gIC5jb2wtNVxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA1O1xuICB9XG4gIC5ncmlkLWNvbC02XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA2O1xuICB9XG4gIC5jb2wtNlxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA2O1xuICB9XG4gIC5ncmlkLWNvbC03XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA3O1xuICB9XG4gIC5jb2wtN1xcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA3O1xuICB9XG4gIC5ncmlkLWNvbC04XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA4O1xuICB9XG4gIC5jb2wtOFxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA4O1xuICB9XG4gIC5ncmlkLWNvbC05XFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA5O1xuICB9XG4gIC5jb2wtOVxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA5O1xuICB9XG4gIC5ncmlkLWNvbC0xMFxcQHhzIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTA7XG4gIH1cbiAgLmNvbC0xMFxcQHhzIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxMDtcbiAgfVxuICAuZ3JpZC1jb2wtMTFcXEB4cyB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDExO1xuICB9XG4gIC5jb2wtMTFcXEB4cyB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTE7XG4gIH1cbiAgLmdyaWQtY29sLTEyXFxAeHMge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxMjtcbiAgfVxuICAuY29sLTEyXFxAeHMge1xuICAgIC0tY29sdW1uLXNwYW46IDEyO1xuICB9XG4gIC5jb2wtMVxcQHhzLCAuY29sLTJcXEB4cywgLmNvbC0zXFxAeHMsIC5jb2wtNFxcQHhzLCAuY29sLTVcXEB4cywgLmNvbC02XFxAeHMsIC5jb2wtN1xcQHhzLCAuY29sLThcXEB4cywgLmNvbC05XFxAeHMsIC5jb2wtMTBcXEB4cywgLmNvbC0xMVxcQHhzLCAuY29sLTEyXFxAeHMge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gKHZhcigtLWdyaWQtY29sdW1ucykgLSAxKSAqIHZhcigtLWNvbHVtbi1nYXApKSAqIHZhcigtLWNvbHVtbi1zcGFuKSAvIHZhcigtLWdyaWQtY29sdW1ucykgKyAodmFyKC0tY29sdW1uLXNwYW4pIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxuICAuY29sXFxAeHMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDEgMSAwO1xuICB9XG4gIC5jb2wtY29udGVudFxcQHhzIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAub2Zmc2V0LTFcXEB4cyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAxO1xuICB9XG4gIC5vZmZzZXQtMlxcQHhzIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDI7XG4gIH1cbiAgLm9mZnNldC0zXFxAeHMge1xuICAgIC0tY29sdW1uLW9mZnNldDogMztcbiAgfVxuICAub2Zmc2V0LTRcXEB4cyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA0O1xuICB9XG4gIC5vZmZzZXQtNVxcQHhzIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDU7XG4gIH1cbiAgLm9mZnNldC02XFxAeHMge1xuICAgIC0tY29sdW1uLW9mZnNldDogNjtcbiAgfVxuICAub2Zmc2V0LTdcXEB4cyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA3O1xuICB9XG4gIC5vZmZzZXQtOFxcQHhzIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDg7XG4gIH1cbiAgLm9mZnNldC05XFxAeHMge1xuICAgIC0tY29sdW1uLW9mZnNldDogOTtcbiAgfVxuICAub2Zmc2V0LTEwXFxAeHMge1xuICAgIC0tY29sdW1uLW9mZnNldDogMTA7XG4gIH1cbiAgLm9mZnNldC0xMVxcQHhzIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDExO1xuICB9XG4gIC5vZmZzZXQtMVxcQHhzLCAub2Zmc2V0LTJcXEB4cywgLm9mZnNldC0zXFxAeHMsIC5vZmZzZXQtNFxcQHhzLCAub2Zmc2V0LTVcXEB4cywgLm9mZnNldC02XFxAeHMsIC5vZmZzZXQtN1xcQHhzLCAub2Zmc2V0LThcXEB4cywgLm9mZnNldC05XFxAeHMsIC5vZmZzZXQtMTBcXEB4cywgLm9mZnNldC0xMVxcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtICh2YXIoLS1ncmlkLWNvbHVtbnMpIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSkgKiB2YXIoLS1jb2x1bW4tb2Zmc2V0KSAvIHZhcigtLWdyaWQtY29sdW1ucykgKyB2YXIoLS1jb2x1bW4tb2Zmc2V0KSAqIHZhcigtLWNvbHVtbi1nYXApKTtcbiAgfVxuICAub2Zmc2V0LTBcXEB4cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLyogZ2FwICovXG4gIC5nYXAtNHhzXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtNHhzXFxAeHMge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTR4c1xcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0zeHNcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0zeHNcXEB4cyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktM3hzXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTJ4c1xcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTJ4c1xcQHhzIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0yeHNcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAteHNcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgteHNcXEB4cyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS14c1xcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXNtXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXNtXFxAeHMge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktc21cXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC1tZFxcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC1tZFxcQHhzIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LW1kXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtbGdcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtbGdcXEB4cyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS1sZ1xcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXhsXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXhsXFxAeHMge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXkteGxcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0yeGxcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0yeGxcXEB4cyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktMnhsXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTN4bFxcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTN4bFxcQHhzIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0zeGxcXEB4cyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtNHhsXFxAeHMge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtNHhsXFxAeHMge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTR4bFxcQHhzIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0wXFxAeHMge1xuICAgIC0tcm93LWdhcDogMHB4O1xuICAgIC0tY29sdW1uLWdhcDogMHB4O1xuICAgIGdhcDogMHB4O1xuICB9XG4gIC5nYXAteC0wXFxAeHMge1xuICAgIC0tY29sdW1uLWdhcDogMHB4O1xuICAgIC1tb3otY29sdW1uLWdhcDogMHB4O1xuICAgICAgICAgY29sdW1uLWdhcDogMHB4O1xuICB9XG4gIC5nYXAteS0wXFxAeHMge1xuICAgIC0tcm93LWdhcDogMHB4O1xuICAgIHJvdy1nYXA6IDBweDtcbiAgfVxuICAvKiBmbGV4Ym94ICovXG4gIC5mbGV4XFxAeHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmlubGluZS1mbGV4XFxAeHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG4gIC5mbGV4LXdyYXBcXEB4cyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mbGV4LW5vd3JhcFxcQHhzIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAuZmxleC1jb2x1bW5cXEB4cyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuZmxleC1jb2x1bW4tcmV2ZXJzZVxcQHhzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbiAgLmZsZXgtcm93XFxAeHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmZsZXgtcm93LXJldmVyc2VcXEB4cyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5mbGV4LWNlbnRlclxcQHhzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5mbGV4LWdyb3dcXEB4cyB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gIC5mbGV4LWdyb3ctMFxcQHhzIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cbiAgLmZsZXgtc2hyaW5rXFxAeHMge1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICB9XG4gIC5mbGV4LXNocmluay0wXFxAeHMge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC5mbGV4LWJhc2lzLTBcXEB4cyB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgfVxuICAvKiBqdXN0aWZ5LWNvbnRlbnQgKi9cbiAgLmp1c3RpZnktc3RhcnRcXEB4cyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgfVxuICAuanVzdGlmeS1lbmRcXEB4cyB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cbiAgLmp1c3RpZnktY2VudGVyXFxAeHMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5qdXN0aWZ5LWJldHdlZW5cXEB4cyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC8qIGFsaWduLWl0ZW1zICovXG4gIC5pdGVtcy1jZW50ZXJcXEB4cyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuaXRlbXMtc3RhcnRcXEB4cyB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG4gIC5pdGVtcy1lbmRcXEB4cyB7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxuICAuaXRlbXMtYmFzZWxpbmVcXEB4cyB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICB9XG4gIC5pdGVtcy1zdHJldGNoXFxAeHMge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIC8qIGFsaWduLWNvbnRlbnQgKi9cbiAgLmNvbnRlbnQtc3RhcnRcXEB4cyB7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmNvbnRlbnQtZW5kXFxAeHMge1xuICAgIGFsaWduLWNvbnRlbnQ6IGVuZDtcbiAgfVxuICAuY29udGVudC1jZW50ZXJcXEB4cyB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG4gIC5jb250ZW50LWJldHdlZW5cXEB4cyB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAvKiBvcmRlciAqL1xuICAub3JkZXItMVxcQHhzIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXItMlxcQHhzIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAub3JkZXItM1xcQHhzIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAvKiBkaXNwbGF5ICovXG4gIC5ibG9ja1xcQHhzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaW5saW5lLWJsb2NrXFxAeHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaW5saW5lXFxAeHMge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAuY29udGVudHNcXEB4cyB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cbiAgLmNzcy1ncmlkXFxAeHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbiAgLmNzcy1pbmxpbmUtZ3JpZFxcQHhzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgfVxuICAuaGlkZVxcQHhzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIG1hcmdpbiAqL1xuICAubWFyZ2luLTR4c1xcQHhzIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi0zeHNcXEB4cyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tMnhzXFxAeHMge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXhzXFxAeHMge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tc21cXEB4cyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1tZFxcQHhzIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWxnXFxAeHMge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teGxcXEB4cyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi0yeGxcXEB4cyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tM3hsXFxAeHMge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLTR4bFxcQHhzIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1hdXRvXFxAeHMge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAubWFyZ2luLTBcXEB4cyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tYXJnaW4teS00eHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4teC00eHNcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4teS0zeHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4teC0zeHNcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4teS0yeHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4teC0yeHNcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4teS14c1xcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4teC14c1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4teS1zbVxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4teC1zbVxcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4teS1tZFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4teC1tZFxcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4teS1sZ1xcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teC1sZ1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teS14bFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4teC14bFxcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4teS0yeGxcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4teC0yeGxcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4teS0zeGxcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4teC0zeGxcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4teS00eGxcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4teC00eGxcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4teS1hdXRvXFxAeHMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuICAubWFyZ2luLXktMFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1hcmdpbi14LWF1dG9cXEB4cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tYXJnaW4teC0wXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWFyZ2luLXRvcC00eHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTR4c1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tNHhzXFxAeHMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTR4c1xcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXRvcC0zeHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTN4c1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tM3hzXFxAeHMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTN4c1xcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXRvcC0yeHNcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTJ4c1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMnhzXFxAeHMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTJ4c1xcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXRvcC14c1xcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC14c1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS14c1xcQHhzIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LXhzXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi10b3Atc21cXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtc21cXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tc21cXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1zbVxcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tdG9wLW1kXFxAeHMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LW1kXFxAeHMge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLW1kXFxAeHMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtbWRcXEB4cyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXRvcC1sZ1xcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1sZ1xcQHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1sZ1xcQHhzIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LWxnXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi10b3AteGxcXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQteGxcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20teGxcXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC14bFxcQHhzIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTJ4bFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtMnhsXFxAeHMge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0yeGxcXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtMnhsXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTN4bFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtM3hsXFxAeHMge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0zeGxcXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtM3hsXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTR4bFxcQHhzIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtNHhsXFxAeHMge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS00eGxcXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtNHhsXFxAeHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLWF1dG9cXEB4cyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICAubWFyZ2luLXRvcC0wXFxAeHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1hdXRvXFxAeHMge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTBcXEB4cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLWF1dG9cXEB4cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0wXFxAeHMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LWF1dG9cXEB4cyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTBcXEB4cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLyogcGFkZGluZyAqL1xuICAucGFkZGluZy00eHNcXEB4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy0zeHNcXEB4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy0yeHNcXEB4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy14c1xcQHhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctc21cXEB4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLW1kXFxAeHMge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1sZ1xcQHhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteGxcXEB4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLTJ4bFxcQHhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLTN4bFxcQHhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLTR4bFxcQHhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLTBcXEB4cyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAucGFkZGluZy15LTR4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy14LTR4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy15LTN4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy14LTN4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy15LTJ4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy14LTJ4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy15LXhzXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy14LXhzXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy15LXNtXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy14LXNtXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy15LW1kXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy14LW1kXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy15LWxnXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy14LWxnXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy15LXhsXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy14LXhsXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy15LTJ4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy14LTJ4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy15LTN4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy14LTN4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy15LTR4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy14LTR4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy15LTBcXEB4cyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBhZGRpbmcteC0wXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5wYWRkaW5nLXRvcC00eHNcXEB4cyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtNHhzXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTR4c1xcQHhzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTR4c1xcQHhzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTN4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0zeHNcXEB4cyB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tM3hzXFxAeHMge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtM3hzXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy10b3AtMnhzXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTJ4c1xcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0yeHNcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0yeHNcXEB4cyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC14c1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXhzXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20teHNcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXhzXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1zbVxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXNtXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tc21cXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXNtXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1tZFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LW1kXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tbWRcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LW1kXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1sZ1xcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LWxnXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tbGdcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LWxnXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC14bFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXhsXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20teGxcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXhsXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0yeGxcXEB4cyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtMnhsXFxAeHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTJ4bFxcQHhzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTJ4bFxcQHhzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTN4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0zeGxcXEB4cyB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tM3hsXFxAeHMge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtM3hsXFxAeHMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy10b3AtNHhsXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTR4bFxcQHhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS00eGxcXEB4cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC00eGxcXEB4cyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0wXFxAeHMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTBcXEB4cyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tMFxcQHhzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTBcXEB4cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC8qIHRleHQtYWxpZ24gKi9cbiAgLnRleHQtY2VudGVyXFxAeHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGV4dC1sZWZ0XFxAeHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRleHQtcmlnaHRcXEB4cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtanVzdGlmeVxcQHhzIHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG4gIC8qIGZvbnQtc2l6ZSAqL1xuICAudGV4dC14c1xcQHhzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICB9XG4gIC50ZXh0LXNtXFxAeHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIH1cbiAgLnRleHQtYmFzZVxcQHhzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIH1cbiAgLnRleHQtbWRcXEB4cyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LW1kKTtcbiAgfVxuICAudGV4dC1sZ1xcQHhzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtbGcpO1xuICB9XG4gIC50ZXh0LXhsXFxAeHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG4gIH1cbiAgLnRleHQtMnhsXFxAeHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0yeGwpO1xuICB9XG4gIC50ZXh0LTN4bFxcQHhzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtM3hsKTtcbiAgfVxuICAudGV4dC00eGxcXEB4cyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTR4bCk7XG4gIH1cbiAgLyogY29sdW1uLWNvdW50ICovXG4gIC5jb2x1bW4tY291bnQtMVxcQHhzIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxuICAuY29sdW1uLWNvdW50LTJcXEB4cyB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLmNvbHVtbi1jb3VudC0zXFxAeHMge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICB9XG4gIC5jb2x1bW4tY291bnQtNFxcQHhzIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxuICAvKiB3aWR0aCAqL1xuICAud2lkdGgtNHhzXFxAeHMge1xuICAgIHdpZHRoOiAwLjI1cmVtO1xuICB9XG4gIC53aWR0aC0zeHNcXEB4cyB7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgfVxuICAud2lkdGgtMnhzXFxAeHMge1xuICAgIHdpZHRoOiAwLjc1cmVtO1xuICB9XG4gIC53aWR0aC14c1xcQHhzIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgfVxuICAud2lkdGgtc21cXEB4cyB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgfVxuICAud2lkdGgtbWRcXEB4cyB7XG4gICAgd2lkdGg6IDJyZW07XG4gIH1cbiAgLndpZHRoLWxnXFxAeHMge1xuICAgIHdpZHRoOiAzcmVtO1xuICB9XG4gIC53aWR0aC14bFxcQHhzIHtcbiAgICB3aWR0aDogNHJlbTtcbiAgfVxuICAud2lkdGgtMnhsXFxAeHMge1xuICAgIHdpZHRoOiA2cmVtO1xuICB9XG4gIC53aWR0aC0zeGxcXEB4cyB7XG4gICAgd2lkdGg6IDhyZW07XG4gIH1cbiAgLndpZHRoLTR4bFxcQHhzIHtcbiAgICB3aWR0aDogMTZyZW07XG4gIH1cbiAgLndpZHRoLTBcXEB4cyB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLndpZHRoLTEwXFwlXFxAeHMge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLndpZHRoLTIwXFwlXFxAeHMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLndpZHRoLTI1XFwlXFxAeHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLndpZHRoLTMwXFwlXFxAeHMge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLndpZHRoLTMzXFwlXFxAeHMge1xuICAgIHdpZHRoOiAzMyU7XG4gIH1cbiAgLndpZHRoLTQwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLndpZHRoLTUwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLndpZHRoLTYwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLndpZHRoLTcwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLndpZHRoLTc1XFwlXFxAeHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLndpZHRoLTgwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLndpZHRoLTkwXFwlXFxAeHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLndpZHRoLTEwMFxcJVxcQHhzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAud2lkdGgtMTAwXFwlXFxAeHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC53aWR0aC0xMDB2d1xcQHhzIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLndpZHRoLWF1dG9cXEB4cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLndpZHRoLWluaGVyaXRcXEB4cyB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gIH1cbiAgLndpZHRoLTBcXEB4cyB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLyogaGVpZ2h0ICovXG4gIC5oZWlnaHQtNHhzXFxAeHMge1xuICAgIGhlaWdodDogMC4yNXJlbTtcbiAgfVxuICAuaGVpZ2h0LTN4c1xcQHhzIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgfVxuICAuaGVpZ2h0LTJ4c1xcQHhzIHtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgLmhlaWdodC14c1xcQHhzIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gIH1cbiAgLmhlaWdodC1zbVxcQHhzIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuaGVpZ2h0LW1kXFxAeHMge1xuICAgIGhlaWdodDogMnJlbTtcbiAgfVxuICAuaGVpZ2h0LWxnXFxAeHMge1xuICAgIGhlaWdodDogM3JlbTtcbiAgfVxuICAuaGVpZ2h0LXhsXFxAeHMge1xuICAgIGhlaWdodDogNHJlbTtcbiAgfVxuICAuaGVpZ2h0LTJ4bFxcQHhzIHtcbiAgICBoZWlnaHQ6IDZyZW07XG4gIH1cbiAgLmhlaWdodC0zeGxcXEB4cyB7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG4gIC5oZWlnaHQtNHhsXFxAeHMge1xuICAgIGhlaWdodDogMTZyZW07XG4gIH1cbiAgLmhlaWdodC0wXFxAeHMge1xuICAgIGhlaWdodDogMDtcbiAgfVxuICAuaGVpZ2h0LTEwXFwlXFxAeHMge1xuICAgIGhlaWdodDogMTAlO1xuICB9XG4gIC5oZWlnaHQtMjBcXCVcXEB4cyB7XG4gICAgaGVpZ2h0OiAyMCU7XG4gIH1cbiAgLmhlaWdodC0yNVxcJVxcQHhzIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuaGVpZ2h0LTMwXFwlXFxAeHMge1xuICAgIGhlaWdodDogMzAlO1xuICB9XG4gIC5oZWlnaHQtMzNcXCVcXEB4cyB7XG4gICAgaGVpZ2h0OiAzMyU7XG4gIH1cbiAgLmhlaWdodC00MFxcJVxcQHhzIHtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgfVxuICAuaGVpZ2h0LTUwXFwlXFxAeHMge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5oZWlnaHQtNjBcXCVcXEB4cyB7XG4gICAgaGVpZ2h0OiA2MCU7XG4gIH1cbiAgLmhlaWdodC03MFxcJVxcQHhzIHtcbiAgICBoZWlnaHQ6IDcwJTtcbiAgfVxuICAuaGVpZ2h0LTc1XFwlXFxAeHMge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5oZWlnaHQtODBcXCVcXEB4cyB7XG4gICAgaGVpZ2h0OiA4MCU7XG4gIH1cbiAgLmhlaWdodC05MFxcJVxcQHhzIHtcbiAgICBoZWlnaHQ6IDkwJTtcbiAgfVxuICAuaGVpZ2h0LTEwMFxcJVxcQHhzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmhlaWdodC0xMDBcXCVcXEB4cyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZWlnaHQtMTAwdmhcXEB4cyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAuaGVpZ2h0LWF1dG9cXEB4cyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5oZWlnaHQtaW5oZXJpdFxcQHhzIHtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgLmhlaWdodC0wXFxAeHMge1xuICAgIGhlaWdodDogMDtcbiAgfVxuICAvKiBtYXgtd2lkdGggKi9cbiAgLm1heC13aWR0aC01eHNcXEB4cyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNXhzKTtcbiAgfVxuICAubWF4LXdpZHRoLTR4c1xcQHhzIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC00eHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtM3hzXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTN4cyk7XG4gIH1cbiAgLm1heC13aWR0aC0yeHNcXEB4cyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtMnhzKTtcbiAgfVxuICAubWF4LXdpZHRoLXhzXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXhzKTtcbiAgfVxuICAubWF4LXdpZHRoLXNtXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXNtKTtcbiAgfVxuICAubWF4LXdpZHRoLW1kXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLW1kKTtcbiAgfVxuICAubWF4LXdpZHRoLWxnXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLWxnKTtcbiAgfVxuICAubWF4LXdpZHRoLXhsXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTJ4bFxcQHhzIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0yeGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtM3hsXFxAeHMge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTN4bCk7XG4gIH1cbiAgLm1heC13aWR0aC00eGxcXEB4cyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNHhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTEwMFxcJVxcQHhzIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1heC13aWR0aC1ub25lXFxAeHMge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAvKiBwb3NpdGlvbiAqL1xuICAucG9zaXRpb24tcmVsYXRpdmVcXEB4cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5wb3NpdGlvbi1hYnNvbHV0ZVxcQHhzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkXFxAeHMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAucG9zaXRpb24tc3RpY2t5XFxAeHMge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cbiAgLnBvc2l0aW9uLXN0YXRpY1xcQHhzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5pbnNldC0wXFxAeHMge1xuICAgIGluc2V0OiAwO1xuICB9XG4gIC50b3AtNHhzXFxAeHMge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucmlnaHQtNHhzXFxAeHMge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5ib3R0b20tNHhzXFxAeHMge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubGVmdC00eHNcXEB4cyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAudG9wLTN4c1xcQHhzIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnJpZ2h0LTN4c1xcQHhzIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAuYm90dG9tLTN4c1xcQHhzIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLmxlZnQtM3hzXFxAeHMge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnRvcC0yeHNcXEB4cyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5yaWdodC0yeHNcXEB4cyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLmJvdHRvbS0yeHNcXEB4cyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5sZWZ0LTJ4c1xcQHhzIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC50b3AteHNcXEB4cyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnJpZ2h0LXhzXFxAeHMge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLmJvdHRvbS14c1xcQHhzIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubGVmdC14c1xcQHhzIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnRvcC1zbVxcQHhzIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucmlnaHQtc21cXEB4cyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAuYm90dG9tLXNtXFxAeHMge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5sZWZ0LXNtXFxAeHMge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAudG9wLW1kXFxAeHMge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5yaWdodC1tZFxcQHhzIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5ib3R0b20tbWRcXEB4cyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLmxlZnQtbWRcXEB4cyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC50b3AtbGdcXEB4cyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnJpZ2h0LWxnXFxAeHMge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLmJvdHRvbS1sZ1xcQHhzIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubGVmdC1sZ1xcQHhzIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnRvcC14bFxcQHhzIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucmlnaHQteGxcXEB4cyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAuYm90dG9tLXhsXFxAeHMge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5sZWZ0LXhsXFxAeHMge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAudG9wLTJ4bFxcQHhzIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnJpZ2h0LTJ4bFxcQHhzIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAuYm90dG9tLTJ4bFxcQHhzIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLmxlZnQtMnhsXFxAeHMge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnRvcC0zeGxcXEB4cyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5yaWdodC0zeGxcXEB4cyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLmJvdHRvbS0zeGxcXEB4cyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5sZWZ0LTN4bFxcQHhzIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC50b3AtNHhsXFxAeHMge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucmlnaHQtNHhsXFxAeHMge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5ib3R0b20tNHhsXFxAeHMge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubGVmdC00eGxcXEB4cyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAudG9wLTUwXFwlXFxAeHMge1xuICAgIHRvcDogNTAlO1xuICB9XG4gIC50b3AtYXV0b1xcQHhzIHtcbiAgICB0b3A6IGF1dG87XG4gIH1cbiAgLnRvcC0wXFxAeHMge1xuICAgIHRvcDogMDtcbiAgfVxuICAucmlnaHQtNTBcXCVcXEB4cyB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAucmlnaHQtYXV0b1xcQHhzIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucmlnaHQtMFxcQHhzIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAuYm90dG9tLTUwXFwlXFxAeHMge1xuICAgIGJvdHRvbTogNTAlO1xuICB9XG4gIC5ib3R0b20tYXV0b1xcQHhzIHtcbiAgICBib3R0b206IGF1dG87XG4gIH1cbiAgLmJvdHRvbS0wXFxAeHMge1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAubGVmdC01MFxcJVxcQHhzIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmxlZnQtYXV0b1xcQHhzIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sZWZ0LTBcXEB4cyB7XG4gICAgbGVmdDogMDtcbiAgfVxuICAvKiBvdmVyZmxvdyAqL1xuICAub3ZlcmZsb3ctdmlzaWJsZVxcQHhzIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAub3ZlcmZsb3ctaGlkZGVuXFxAeHMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm92ZXJmbG93LWF1dG9cXEB4cyB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbiAgLm1vbWVudHVtLXNjcm9sbGluZ1xcQHhzIHtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLyogdmlzaWJpbGl0eSAqL1xuICAudmlzaWJsZVxcQHhzIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5pbnZpc2libGVcXEB4cyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5AbWVkaWEgbm90IGFsbCBhbmQgKG1pbi13aWR0aDogMzJyZW0pIHtcbiAgLmRpc3BsYXlcXEB4cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgLyogZ3JpZCAqL1xuICAuZ3JpZC1jb2wtMVxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTtcbiAgfVxuICAuY29sLTFcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTtcbiAgfVxuICAuZ3JpZC1jb2wtMlxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogMjtcbiAgfVxuICAuY29sLTJcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogMjtcbiAgfVxuICAuZ3JpZC1jb2wtM1xcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogMztcbiAgfVxuICAuY29sLTNcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogMztcbiAgfVxuICAuZ3JpZC1jb2wtNFxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogNDtcbiAgfVxuICAuY29sLTRcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogNDtcbiAgfVxuICAuZ3JpZC1jb2wtNVxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogNTtcbiAgfVxuICAuY29sLTVcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogNTtcbiAgfVxuICAuZ3JpZC1jb2wtNlxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogNjtcbiAgfVxuICAuY29sLTZcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogNjtcbiAgfVxuICAuZ3JpZC1jb2wtN1xcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogNztcbiAgfVxuICAuY29sLTdcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogNztcbiAgfVxuICAuZ3JpZC1jb2wtOFxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogODtcbiAgfVxuICAuY29sLThcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogODtcbiAgfVxuICAuZ3JpZC1jb2wtOVxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogOTtcbiAgfVxuICAuY29sLTlcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogOTtcbiAgfVxuICAuZ3JpZC1jb2wtMTBcXEBzbSB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDEwO1xuICB9XG4gIC5jb2wtMTBcXEBzbSB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTA7XG4gIH1cbiAgLmdyaWQtY29sLTExXFxAc20ge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxMTtcbiAgfVxuICAuY29sLTExXFxAc20ge1xuICAgIC0tY29sdW1uLXNwYW46IDExO1xuICB9XG4gIC5ncmlkLWNvbC0xMlxcQHNtIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTI7XG4gIH1cbiAgLmNvbC0xMlxcQHNtIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxMjtcbiAgfVxuICAuY29sLTFcXEBzbSwgLmNvbC0yXFxAc20sIC5jb2wtM1xcQHNtLCAuY29sLTRcXEBzbSwgLmNvbC01XFxAc20sIC5jb2wtNlxcQHNtLCAuY29sLTdcXEBzbSwgLmNvbC04XFxAc20sIC5jb2wtOVxcQHNtLCAuY29sLTEwXFxAc20sIC5jb2wtMTFcXEBzbSwgLmNvbC0xMlxcQHNtIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICh2YXIoLS1ncmlkLWNvbHVtbnMpIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSkgKiB2YXIoLS1jb2x1bW4tc3BhbikgLyB2YXIoLS1ncmlkLWNvbHVtbnMpICsgKHZhcigtLWNvbHVtbi1zcGFuKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpO1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbiAgLmNvbFxcQHNtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4OiAxIDEgMDtcbiAgfVxuICAuY29sLWNvbnRlbnRcXEBzbSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm9mZnNldC0xXFxAc20ge1xuICAgIC0tY29sdW1uLW9mZnNldDogMTtcbiAgfVxuICAub2Zmc2V0LTJcXEBzbSB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAyO1xuICB9XG4gIC5vZmZzZXQtM1xcQHNtIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDM7XG4gIH1cbiAgLm9mZnNldC00XFxAc20ge1xuICAgIC0tY29sdW1uLW9mZnNldDogNDtcbiAgfVxuICAub2Zmc2V0LTVcXEBzbSB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA1O1xuICB9XG4gIC5vZmZzZXQtNlxcQHNtIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDY7XG4gIH1cbiAgLm9mZnNldC03XFxAc20ge1xuICAgIC0tY29sdW1uLW9mZnNldDogNztcbiAgfVxuICAub2Zmc2V0LThcXEBzbSB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA4O1xuICB9XG4gIC5vZmZzZXQtOVxcQHNtIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDk7XG4gIH1cbiAgLm9mZnNldC0xMFxcQHNtIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDEwO1xuICB9XG4gIC5vZmZzZXQtMTFcXEBzbSB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAxMTtcbiAgfVxuICAub2Zmc2V0LTFcXEBzbSwgLm9mZnNldC0yXFxAc20sIC5vZmZzZXQtM1xcQHNtLCAub2Zmc2V0LTRcXEBzbSwgLm9mZnNldC01XFxAc20sIC5vZmZzZXQtNlxcQHNtLCAub2Zmc2V0LTdcXEBzbSwgLm9mZnNldC04XFxAc20sIC5vZmZzZXQtOVxcQHNtLCAub2Zmc2V0LTEwXFxAc20sIC5vZmZzZXQtMTFcXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAodmFyKC0tZ3JpZC1jb2x1bW5zKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpICogdmFyKC0tY29sdW1uLW9mZnNldCkgLyB2YXIoLS1ncmlkLWNvbHVtbnMpICsgdmFyKC0tY29sdW1uLW9mZnNldCkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG4gIH1cbiAgLm9mZnNldC0wXFxAc20ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC8qIGdhcCAqL1xuICAuZ2FwLTR4c1xcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTR4c1xcQHNtIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS00eHNcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtM3hzXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtM3hzXFxAc20ge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTN4c1xcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0yeHNcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0yeHNcXEBzbSB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktMnhzXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXhzXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXhzXFxAc20ge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXkteHNcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC1zbVxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC1zbVxcQHNtIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LXNtXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtbWRcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtbWRcXEBzbSB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS1tZFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLWxnXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LWxnXFxAc20ge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktbGdcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC14bFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC14bFxcQHNtIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LXhsXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtMnhsXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtMnhsXFxAc20ge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTJ4bFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0zeGxcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0zeGxcXEBzbSB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktM3hsXFxAc20ge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTR4bFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTR4bFxcQHNtIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS00eGxcXEBzbSB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtMFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IDBweDtcbiAgICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgICBnYXA6IDBweDtcbiAgfVxuICAuZ2FwLXgtMFxcQHNtIHtcbiAgICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgICAtbW96LWNvbHVtbi1nYXA6IDBweDtcbiAgICAgICAgIGNvbHVtbi1nYXA6IDBweDtcbiAgfVxuICAuZ2FwLXktMFxcQHNtIHtcbiAgICAtLXJvdy1nYXA6IDBweDtcbiAgICByb3ctZ2FwOiAwcHg7XG4gIH1cbiAgLyogZmxleGJveCAqL1xuICAuZmxleFxcQHNtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5pbmxpbmUtZmxleFxcQHNtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuICAuZmxleC13cmFwXFxAc20ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuZmxleC1ub3dyYXBcXEBzbSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmZsZXgtY29sdW1uXFxAc20ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmZsZXgtY29sdW1uLXJldmVyc2VcXEBzbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC5mbGV4LXJvd1xcQHNtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5mbGV4LXJvdy1yZXZlcnNlXFxAc20ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAuZmxleC1jZW50ZXJcXEBzbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZmxleC1ncm93XFxAc20ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuZmxleC1ncm93LTBcXEBzbSB7XG4gICAgZmxleC1ncm93OiAwO1xuICB9XG4gIC5mbGV4LXNocmlua1xcQHNtIHtcbiAgICBmbGV4LXNocmluazogMTtcbiAgfVxuICAuZmxleC1zaHJpbmstMFxcQHNtIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuZmxleC1iYXNpcy0wXFxAc20ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gIH1cbiAgLyoganVzdGlmeS1jb250ZW50ICovXG4gIC5qdXN0aWZ5LXN0YXJ0XFxAc20ge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmp1c3RpZnktZW5kXFxAc20ge1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICB9XG4gIC5qdXN0aWZ5LWNlbnRlclxcQHNtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuanVzdGlmeS1iZXR3ZWVuXFxAc20ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAvKiBhbGlnbi1pdGVtcyAqL1xuICAuaXRlbXMtY2VudGVyXFxAc20ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLml0ZW1zLXN0YXJ0XFxAc20ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxuICAuaXRlbXMtZW5kXFxAc20ge1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIH1cbiAgLml0ZW1zLWJhc2VsaW5lXFxAc20ge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgfVxuICAuaXRlbXMtc3RyZXRjaFxcQHNtIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICAvKiBhbGlnbi1jb250ZW50ICovXG4gIC5jb250ZW50LXN0YXJ0XFxAc20ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5jb250ZW50LWVuZFxcQHNtIHtcbiAgICBhbGlnbi1jb250ZW50OiBlbmQ7XG4gIH1cbiAgLmNvbnRlbnQtY2VudGVyXFxAc20ge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuY29udGVudC1iZXR3ZWVuXFxAc20ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLyogb3JkZXIgKi9cbiAgLm9yZGVyLTFcXEBzbSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm9yZGVyLTJcXEBzbSB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLTNcXEBzbSB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLyogZGlzcGxheSAqL1xuICAuYmxvY2tcXEBzbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlubGluZS1ibG9ja1xcQHNtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmlubGluZVxcQHNtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmNvbnRlbnRzXFxAc20ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5jc3MtZ3JpZFxcQHNtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIC5jc3MtaW5saW5lLWdyaWRcXEBzbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIH1cbiAgLmhpZGVcXEBzbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBtYXJnaW4gKi9cbiAgLm1hcmdpbi00eHNcXEBzbSB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tM3hzXFxAc20ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLTJ4c1xcQHNtIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi14c1xcQHNtIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXNtXFxAc20ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tbWRcXEBzbSB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1sZ1xcQHNtIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXhsXFxAc20ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tMnhsXFxAc20ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLTN4bFxcQHNtIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi00eGxcXEBzbSB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tYXV0b1xcQHNtIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLm1hcmdpbi0wXFxAc20ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubWFyZ2luLXktNHhzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXgtNHhzXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXktM3hzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXgtM3hzXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXktMnhzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXgtMnhzXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXkteHNcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXgteHNcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXktc21cXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXgtc21cXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXktbWRcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXgtbWRcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXktbGdcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXgtbGdcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXkteGxcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXgteGxcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXktMnhsXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXgtMnhsXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXktM3hsXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXgtM3hsXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXktNHhsXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXgtNHhsXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXktYXV0b1xcQHNtIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cbiAgLm1hcmdpbi15LTBcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5tYXJnaW4teC1hdXRvXFxAc20ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubWFyZ2luLXgtMFxcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm1hcmdpbi10b3AtNHhzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC00eHNcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTR4c1xcQHNtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC00eHNcXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AtM3hzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0zeHNcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTN4c1xcQHNtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0zeHNcXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AtMnhzXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0yeHNcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTJ4c1xcQHNtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0yeHNcXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AteHNcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQteHNcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20teHNcXEBzbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC14c1xcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tdG9wLXNtXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LXNtXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLXNtXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtc21cXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXRvcC1tZFxcQHNtIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1tZFxcQHNtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1tZFxcQHNtIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LW1kXFxAc20ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtbGdcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtbGdcXEBzbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tbGdcXEBzbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1sZ1xcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tdG9wLXhsXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LXhsXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLXhsXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQteGxcXEBzbSB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC0yeGxcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTJ4bFxcQHNtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMnhsXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTJ4bFxcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC0zeGxcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTN4bFxcQHNtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tM3hsXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTN4bFxcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXRvcC00eGxcXEBzbSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTR4bFxcQHNtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tNHhsXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTR4bFxcQHNtIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC1hdXRvXFxAc20ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi10b3AtMFxcQHNtIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtYXV0b1xcQHNtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0wXFxAc20ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1hdXRvXFxAc20ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMFxcQHNtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1hdXRvXFxAc20ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0wXFxAc20ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC8qIHBhZGRpbmcgKi9cbiAgLnBhZGRpbmctNHhzXFxAc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctM3hzXFxAc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctMnhzXFxAc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteHNcXEBzbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXNtXFxAc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1tZFxcQHNtIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctbGdcXEBzbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXhsXFxAc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy0yeGxcXEBzbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy0zeGxcXEBzbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy00eGxcXEBzbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy0wXFxAc20ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhZGRpbmcteS00eHNcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC00eHNcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS0zeHNcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC0zeHNcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS0yeHNcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC0yeHNcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS14c1xcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmcteC14c1xcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmcteS1zbVxcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmcteC1zbVxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmcteS1tZFxcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmcteC1tZFxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmcteS1sZ1xcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteC1sZ1xcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteS14bFxcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmcteC14bFxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0yeGxcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC0yeGxcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0zeGxcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC0zeGxcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS00eGxcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC00eGxcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0wXFxAc20ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5wYWRkaW5nLXgtMFxcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucGFkZGluZy10b3AtNHhzXFxAc20ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTR4c1xcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS00eHNcXEBzbSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC00eHNcXEBzbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0zeHNcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtM3hzXFxAc20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTN4c1xcQHNtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTN4c1xcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTJ4c1xcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0yeHNcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tMnhzXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtMnhzXFxAc20ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy10b3AteHNcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC14c1xcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXhzXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC14c1xcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy10b3Atc21cXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1zbVxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXNtXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1zbVxcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy10b3AtbWRcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1tZFxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLW1kXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1tZFxcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy10b3AtbGdcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1sZ1xcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLWxnXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1sZ1xcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy10b3AteGxcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC14bFxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXhsXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC14bFxcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy10b3AtMnhsXFxAc20ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTJ4bFxcQHNtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0yeGxcXEBzbSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0yeGxcXEBzbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0zeGxcXEBzbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtM3hsXFxAc20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTN4bFxcQHNtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTN4bFxcQHNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTR4bFxcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC00eGxcXEBzbSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tNHhsXFxAc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtNHhsXFxAc20ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy10b3AtMFxcQHNtIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAucGFkZGluZy1yaWdodC0wXFxAc20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTBcXEBzbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0wXFxAc20ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAvKiB0ZXh0LWFsaWduICovXG4gIC50ZXh0LWNlbnRlclxcQHNtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRleHQtbGVmdFxcQHNtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50ZXh0LXJpZ2h0XFxAc20ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC50ZXh0LWp1c3RpZnlcXEBzbSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxuICAvKiBmb250LXNpemUgKi9cbiAgLnRleHQteHNcXEBzbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbiAgfVxuICAudGV4dC1zbVxcQHNtIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICB9XG4gIC50ZXh0LWJhc2VcXEBzbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWJhc2UpO1xuICB9XG4gIC50ZXh0LW1kXFxAc20ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1tZCk7XG4gIH1cbiAgLnRleHQtbGdcXEBzbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgfVxuICAudGV4dC14bFxcQHNtIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteGwpO1xuICB9XG4gIC50ZXh0LTJ4bFxcQHNtIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtMnhsKTtcbiAgfVxuICAudGV4dC0zeGxcXEBzbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTN4bCk7XG4gIH1cbiAgLnRleHQtNHhsXFxAc20ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC00eGwpO1xuICB9XG4gIC8qIGNvbHVtbi1jb3VudCAqL1xuICAuY29sdW1uLWNvdW50LTFcXEBzbSB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDE7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG4gIH1cbiAgLmNvbHVtbi1jb3VudC0yXFxAc20ge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC5jb2x1bW4tY291bnQtM1xcQHNtIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxuICAuY29sdW1uLWNvdW50LTRcXEBzbSB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLyogd2lkdGggKi9cbiAgLndpZHRoLTR4c1xcQHNtIHtcbiAgICB3aWR0aDogMC4yNXJlbTtcbiAgfVxuICAud2lkdGgtM3hzXFxAc20ge1xuICAgIHdpZHRoOiAwLjVyZW07XG4gIH1cbiAgLndpZHRoLTJ4c1xcQHNtIHtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgfVxuICAud2lkdGgteHNcXEBzbSB7XG4gICAgd2lkdGg6IDFyZW07XG4gIH1cbiAgLndpZHRoLXNtXFxAc20ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gIH1cbiAgLndpZHRoLW1kXFxAc20ge1xuICAgIHdpZHRoOiAycmVtO1xuICB9XG4gIC53aWR0aC1sZ1xcQHNtIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgfVxuICAud2lkdGgteGxcXEBzbSB7XG4gICAgd2lkdGg6IDRyZW07XG4gIH1cbiAgLndpZHRoLTJ4bFxcQHNtIHtcbiAgICB3aWR0aDogNnJlbTtcbiAgfVxuICAud2lkdGgtM3hsXFxAc20ge1xuICAgIHdpZHRoOiA4cmVtO1xuICB9XG4gIC53aWR0aC00eGxcXEBzbSB7XG4gICAgd2lkdGg6IDE2cmVtO1xuICB9XG4gIC53aWR0aC0wXFxAc20ge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC53aWR0aC0xMFxcJVxcQHNtIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC53aWR0aC0yMFxcJVxcQHNtIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC53aWR0aC0yNVxcJVxcQHNtIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC53aWR0aC0zMFxcJVxcQHNtIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC53aWR0aC0zM1xcJVxcQHNtIHtcbiAgICB3aWR0aDogMzMlO1xuICB9XG4gIC53aWR0aC00MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC53aWR0aC01MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC53aWR0aC02MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC53aWR0aC03MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC53aWR0aC03NVxcJVxcQHNtIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC53aWR0aC04MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC53aWR0aC05MFxcJVxcQHNtIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC53aWR0aC0xMDBcXCVcXEBzbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLndpZHRoLTEwMFxcJVxcQHNtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAud2lkdGgtMTAwdndcXEBzbSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC53aWR0aC1hdXRvXFxAc20ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC53aWR0aC1pbmhlcml0XFxAc20ge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICB9XG4gIC53aWR0aC0wXFxAc20ge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC8qIGhlaWdodCAqL1xuICAuaGVpZ2h0LTR4c1xcQHNtIHtcbiAgICBoZWlnaHQ6IDAuMjVyZW07XG4gIH1cbiAgLmhlaWdodC0zeHNcXEBzbSB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gIH1cbiAgLmhlaWdodC0yeHNcXEBzbSB7XG4gICAgaGVpZ2h0OiAwLjc1cmVtO1xuICB9XG4gIC5oZWlnaHQteHNcXEBzbSB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICB9XG4gIC5oZWlnaHQtc21cXEBzbSB7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmhlaWdodC1tZFxcQHNtIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gIH1cbiAgLmhlaWdodC1sZ1xcQHNtIHtcbiAgICBoZWlnaHQ6IDNyZW07XG4gIH1cbiAgLmhlaWdodC14bFxcQHNtIHtcbiAgICBoZWlnaHQ6IDRyZW07XG4gIH1cbiAgLmhlaWdodC0yeGxcXEBzbSB7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICB9XG4gIC5oZWlnaHQtM3hsXFxAc20ge1xuICAgIGhlaWdodDogOHJlbTtcbiAgfVxuICAuaGVpZ2h0LTR4bFxcQHNtIHtcbiAgICBoZWlnaHQ6IDE2cmVtO1xuICB9XG4gIC5oZWlnaHQtMFxcQHNtIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgLmhlaWdodC0xMFxcJVxcQHNtIHtcbiAgICBoZWlnaHQ6IDEwJTtcbiAgfVxuICAuaGVpZ2h0LTIwXFwlXFxAc20ge1xuICAgIGhlaWdodDogMjAlO1xuICB9XG4gIC5oZWlnaHQtMjVcXCVcXEBzbSB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmhlaWdodC0zMFxcJVxcQHNtIHtcbiAgICBoZWlnaHQ6IDMwJTtcbiAgfVxuICAuaGVpZ2h0LTMzXFwlXFxAc20ge1xuICAgIGhlaWdodDogMzMlO1xuICB9XG4gIC5oZWlnaHQtNDBcXCVcXEBzbSB7XG4gICAgaGVpZ2h0OiA0MCU7XG4gIH1cbiAgLmhlaWdodC01MFxcJVxcQHNtIHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuaGVpZ2h0LTYwXFwlXFxAc20ge1xuICAgIGhlaWdodDogNjAlO1xuICB9XG4gIC5oZWlnaHQtNzBcXCVcXEBzbSB7XG4gICAgaGVpZ2h0OiA3MCU7XG4gIH1cbiAgLmhlaWdodC03NVxcJVxcQHNtIHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuaGVpZ2h0LTgwXFwlXFxAc20ge1xuICAgIGhlaWdodDogODAlO1xuICB9XG4gIC5oZWlnaHQtOTBcXCVcXEBzbSB7XG4gICAgaGVpZ2h0OiA5MCU7XG4gIH1cbiAgLmhlaWdodC0xMDBcXCVcXEBzbSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZWlnaHQtMTAwXFwlXFxAc20ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaGVpZ2h0LTEwMHZoXFxAc20ge1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbiAgLmhlaWdodC1hdXRvXFxAc20ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuaGVpZ2h0LWluaGVyaXRcXEBzbSB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIC5oZWlnaHQtMFxcQHNtIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgLyogbWF4LXdpZHRoICovXG4gIC5tYXgtd2lkdGgtNXhzXFxAc20ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTV4cyk7XG4gIH1cbiAgLm1heC13aWR0aC00eHNcXEBzbSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNHhzKTtcbiAgfVxuICAubWF4LXdpZHRoLTN4c1xcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtMnhzXFxAc20ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTJ4cyk7XG4gIH1cbiAgLm1heC13aWR0aC14c1xcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14cyk7XG4gIH1cbiAgLm1heC13aWR0aC1zbVxcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1zbSk7XG4gIH1cbiAgLm1heC13aWR0aC1tZFxcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1tZCk7XG4gIH1cbiAgLm1heC13aWR0aC1sZ1xcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1sZyk7XG4gIH1cbiAgLm1heC13aWR0aC14bFxcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14bCk7XG4gIH1cbiAgLm1heC13aWR0aC0yeGxcXEBzbSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtMnhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTN4bFxcQHNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtNHhsXFxAc20ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTR4bCk7XG4gIH1cbiAgLm1heC13aWR0aC0xMDBcXCVcXEBzbSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tYXgtd2lkdGgtbm9uZVxcQHNtIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLyogcG9zaXRpb24gKi9cbiAgLnBvc2l0aW9uLXJlbGF0aXZlXFxAc20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucG9zaXRpb24tYWJzb2x1dGVcXEBzbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZFxcQHNtIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnBvc2l0aW9uLXN0aWNreVxcQHNtIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICB9XG4gIC5wb3NpdGlvbi1zdGF0aWNcXEBzbSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuaW5zZXQtMFxcQHNtIHtcbiAgICBpbnNldDogMDtcbiAgfVxuICAudG9wLTR4c1xcQHNtIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnJpZ2h0LTR4c1xcQHNtIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAuYm90dG9tLTR4c1xcQHNtIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLmxlZnQtNHhzXFxAc20ge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnRvcC0zeHNcXEBzbSB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5yaWdodC0zeHNcXEBzbSB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLmJvdHRvbS0zeHNcXEBzbSB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5sZWZ0LTN4c1xcQHNtIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC50b3AtMnhzXFxAc20ge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucmlnaHQtMnhzXFxAc20ge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5ib3R0b20tMnhzXFxAc20ge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubGVmdC0yeHNcXEBzbSB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAudG9wLXhzXFxAc20ge1xuICAgIHRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5yaWdodC14c1xcQHNtIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5ib3R0b20teHNcXEBzbSB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLmxlZnQteHNcXEBzbSB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC50b3Atc21cXEBzbSB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnJpZ2h0LXNtXFxAc20ge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLmJvdHRvbS1zbVxcQHNtIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubGVmdC1zbVxcQHNtIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnRvcC1tZFxcQHNtIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucmlnaHQtbWRcXEBzbSB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAuYm90dG9tLW1kXFxAc20ge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5sZWZ0LW1kXFxAc20ge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAudG9wLWxnXFxAc20ge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5yaWdodC1sZ1xcQHNtIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5ib3R0b20tbGdcXEBzbSB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLmxlZnQtbGdcXEBzbSB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC50b3AteGxcXEBzbSB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnJpZ2h0LXhsXFxAc20ge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLmJvdHRvbS14bFxcQHNtIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubGVmdC14bFxcQHNtIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnRvcC0yeGxcXEBzbSB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5yaWdodC0yeGxcXEBzbSB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLmJvdHRvbS0yeGxcXEBzbSB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5sZWZ0LTJ4bFxcQHNtIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC50b3AtM3hsXFxAc20ge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucmlnaHQtM3hsXFxAc20ge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5ib3R0b20tM3hsXFxAc20ge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubGVmdC0zeGxcXEBzbSB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAudG9wLTR4bFxcQHNtIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnJpZ2h0LTR4bFxcQHNtIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAuYm90dG9tLTR4bFxcQHNtIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLmxlZnQtNHhsXFxAc20ge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnRvcC01MFxcJVxcQHNtIHtcbiAgICB0b3A6IDUwJTtcbiAgfVxuICAudG9wLWF1dG9cXEBzbSB7XG4gICAgdG9wOiBhdXRvO1xuICB9XG4gIC50b3AtMFxcQHNtIHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnJpZ2h0LTUwXFwlXFxAc20ge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLnJpZ2h0LWF1dG9cXEBzbSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnJpZ2h0LTBcXEBzbSB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmJvdHRvbS01MFxcJVxcQHNtIHtcbiAgICBib3R0b206IDUwJTtcbiAgfVxuICAuYm90dG9tLWF1dG9cXEBzbSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG4gIC5ib3R0b20tMFxcQHNtIHtcbiAgICBib3R0b206IDA7XG4gIH1cbiAgLmxlZnQtNTBcXCVcXEBzbSB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIC5sZWZ0LWF1dG9cXEBzbSB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGVmdC0wXFxAc20ge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLyogb3ZlcmZsb3cgKi9cbiAgLm92ZXJmbG93LXZpc2libGVcXEBzbSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm92ZXJmbG93LWhpZGRlblxcQHNtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5vdmVyZmxvdy1hdXRvXFxAc20ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIC5tb21lbnR1bS1zY3JvbGxpbmdcXEBzbSB7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC8qIHZpc2liaWxpdHkgKi9cbiAgLnZpc2libGVcXEBzbSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuaW52aXNpYmxlXFxAc20ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5kaXNwbGF5XFxAc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gIDpyb290IHtcbiAgICAvKiBmb250LXNpemUgKi9cbiAgICAtLXRleHQteHM6IDAuNzJyZW07XG4gICAgLS10ZXh0LXNtOiAwLjlyZW07XG4gICAgLS10ZXh0LWJhc2U6IDEuMTI1cmVtO1xuICAgIC0tdGV4dC1tZDogMS40MDZyZW07XG4gICAgLS10ZXh0LWxnOiAxLjc1OHJlbTtcbiAgICAtLXRleHQteGw6IDIuMTk3cmVtO1xuICAgIC0tdGV4dC0yeGw6IDIuNzQ2cmVtO1xuICAgIC0tdGV4dC0zeGw6IDMuNDM0cmVtO1xuICAgIC0tdGV4dC00eGw6IDQuMjkycmVtO1xuICB9XG4gIC8qIGdyaWQgKi9cbiAgLmdyaWQtY29sLTFcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDE7XG4gIH1cbiAgLmNvbC0xXFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDE7XG4gIH1cbiAgLmdyaWQtY29sLTJcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDI7XG4gIH1cbiAgLmNvbC0yXFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDI7XG4gIH1cbiAgLmdyaWQtY29sLTNcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDM7XG4gIH1cbiAgLmNvbC0zXFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDM7XG4gIH1cbiAgLmdyaWQtY29sLTRcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDQ7XG4gIH1cbiAgLmNvbC00XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDQ7XG4gIH1cbiAgLmdyaWQtY29sLTVcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDU7XG4gIH1cbiAgLmNvbC01XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDU7XG4gIH1cbiAgLmdyaWQtY29sLTZcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDY7XG4gIH1cbiAgLmNvbC02XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDY7XG4gIH1cbiAgLmdyaWQtY29sLTdcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDc7XG4gIH1cbiAgLmNvbC03XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDc7XG4gIH1cbiAgLmdyaWQtY29sLThcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDg7XG4gIH1cbiAgLmNvbC04XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDg7XG4gIH1cbiAgLmdyaWQtY29sLTlcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDk7XG4gIH1cbiAgLmNvbC05XFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDk7XG4gIH1cbiAgLmdyaWQtY29sLTEwXFxAbWQge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxMDtcbiAgfVxuICAuY29sLTEwXFxAbWQge1xuICAgIC0tY29sdW1uLXNwYW46IDEwO1xuICB9XG4gIC5ncmlkLWNvbC0xMVxcQG1kIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTE7XG4gIH1cbiAgLmNvbC0xMVxcQG1kIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxMTtcbiAgfVxuICAuZ3JpZC1jb2wtMTJcXEBtZCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDEyO1xuICB9XG4gIC5jb2wtMTJcXEBtZCB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTI7XG4gIH1cbiAgLmNvbC0xXFxAbWQsIC5jb2wtMlxcQG1kLCAuY29sLTNcXEBtZCwgLmNvbC00XFxAbWQsIC5jb2wtNVxcQG1kLCAuY29sLTZcXEBtZCwgLmNvbC03XFxAbWQsIC5jb2wtOFxcQG1kLCAuY29sLTlcXEBtZCwgLmNvbC0xMFxcQG1kLCAuY29sLTExXFxAbWQsIC5jb2wtMTJcXEBtZCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAodmFyKC0tZ3JpZC1jb2x1bW5zKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpICogdmFyKC0tY29sdW1uLXNwYW4pIC8gdmFyKC0tZ3JpZC1jb2x1bW5zKSArICh2YXIoLS1jb2x1bW4tc3BhbikgLSAxKSAqIHZhcigtLWNvbHVtbi1nYXApKTtcbiAgICBmbGV4OiBpbml0aWFsO1xuICB9XG4gIC5jb2xcXEBtZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleDogMSAxIDA7XG4gIH1cbiAgLmNvbC1jb250ZW50XFxAbWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5vZmZzZXQtMVxcQG1kIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDE7XG4gIH1cbiAgLm9mZnNldC0yXFxAbWQge1xuICAgIC0tY29sdW1uLW9mZnNldDogMjtcbiAgfVxuICAub2Zmc2V0LTNcXEBtZCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAzO1xuICB9XG4gIC5vZmZzZXQtNFxcQG1kIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDQ7XG4gIH1cbiAgLm9mZnNldC01XFxAbWQge1xuICAgIC0tY29sdW1uLW9mZnNldDogNTtcbiAgfVxuICAub2Zmc2V0LTZcXEBtZCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA2O1xuICB9XG4gIC5vZmZzZXQtN1xcQG1kIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDc7XG4gIH1cbiAgLm9mZnNldC04XFxAbWQge1xuICAgIC0tY29sdW1uLW9mZnNldDogODtcbiAgfVxuICAub2Zmc2V0LTlcXEBtZCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA5O1xuICB9XG4gIC5vZmZzZXQtMTBcXEBtZCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAxMDtcbiAgfVxuICAub2Zmc2V0LTExXFxAbWQge1xuICAgIC0tY29sdW1uLW9mZnNldDogMTE7XG4gIH1cbiAgLm9mZnNldC0xXFxAbWQsIC5vZmZzZXQtMlxcQG1kLCAub2Zmc2V0LTNcXEBtZCwgLm9mZnNldC00XFxAbWQsIC5vZmZzZXQtNVxcQG1kLCAub2Zmc2V0LTZcXEBtZCwgLm9mZnNldC03XFxAbWQsIC5vZmZzZXQtOFxcQG1kLCAub2Zmc2V0LTlcXEBtZCwgLm9mZnNldC0xMFxcQG1kLCAub2Zmc2V0LTExXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDAlIC0gKHZhcigtLWdyaWQtY29sdW1ucykgLSAxKSAqIHZhcigtLWNvbHVtbi1nYXApKSAqIHZhcigtLWNvbHVtbi1vZmZzZXQpIC8gdmFyKC0tZ3JpZC1jb2x1bW5zKSArIHZhcigtLWNvbHVtbi1vZmZzZXQpICogdmFyKC0tY29sdW1uLWdhcCkpO1xuICB9XG4gIC5vZmZzZXQtMFxcQG1kIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAvKiBnYXAgKi9cbiAgLmdhcC00eHNcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC00eHNcXEBtZCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktNHhzXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTN4c1xcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTN4c1xcQG1kIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0zeHNcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtMnhzXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtMnhzXFxAbWQge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTJ4c1xcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC14c1xcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC14c1xcQG1kIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LXhzXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtc21cXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtc21cXEBtZCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS1zbVxcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLW1kXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LW1kXFxAbWQge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktbWRcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC1sZ1xcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC1sZ1xcQG1kIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LWxnXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAteGxcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgteGxcXEBtZCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS14bFxcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTJ4bFxcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTJ4bFxcQG1kIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0yeGxcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtM3hsXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtM3hsXFxAbWQge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTN4bFxcQG1kIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC00eGxcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC00eGxcXEBtZCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktNHhsXFxAbWQge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTBcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiAwcHg7XG4gICAgLS1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgZ2FwOiAwcHg7XG4gIH1cbiAgLmdhcC14LTBcXEBtZCB7XG4gICAgLS1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAwcHg7XG4gICAgICAgICBjb2x1bW4tZ2FwOiAwcHg7XG4gIH1cbiAgLmdhcC15LTBcXEBtZCB7XG4gICAgLS1yb3ctZ2FwOiAwcHg7XG4gICAgcm93LWdhcDogMHB4O1xuICB9XG4gIC8qIGZsZXhib3ggKi9cbiAgLmZsZXhcXEBtZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuaW5saW5lLWZsZXhcXEBtZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgLmZsZXgtd3JhcFxcQG1kIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmZsZXgtbm93cmFwXFxAbWQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5mbGV4LWNvbHVtblxcQG1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5mbGV4LWNvbHVtbi1yZXZlcnNlXFxAbWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuICAuZmxleC1yb3dcXEBtZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAuZmxleC1yb3ctcmV2ZXJzZVxcQG1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLmZsZXgtY2VudGVyXFxAbWQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmZsZXgtZ3Jvd1xcQG1kIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLmZsZXgtZ3Jvdy0wXFxAbWQge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgfVxuICAuZmxleC1zaHJpbmtcXEBtZCB7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gIH1cbiAgLmZsZXgtc2hyaW5rLTBcXEBtZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLmZsZXgtYmFzaXMtMFxcQG1kIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICB9XG4gIC8qIGp1c3RpZnktY29udGVudCAqL1xuICAuanVzdGlmeS1zdGFydFxcQG1kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5qdXN0aWZ5LWVuZFxcQG1kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgfVxuICAuanVzdGlmeS1jZW50ZXJcXEBtZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmp1c3RpZnktYmV0d2VlblxcQG1kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLyogYWxpZ24taXRlbXMgKi9cbiAgLml0ZW1zLWNlbnRlclxcQG1kIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5pdGVtcy1zdGFydFxcQG1kIHtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbiAgLml0ZW1zLWVuZFxcQG1kIHtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICB9XG4gIC5pdGVtcy1iYXNlbGluZVxcQG1kIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cbiAgLml0ZW1zLXN0cmV0Y2hcXEBtZCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgLyogYWxpZ24tY29udGVudCAqL1xuICAuY29udGVudC1zdGFydFxcQG1kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgfVxuICAuY29udGVudC1lbmRcXEBtZCB7XG4gICAgYWxpZ24tY29udGVudDogZW5kO1xuICB9XG4gIC5jb250ZW50LWNlbnRlclxcQG1kIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmNvbnRlbnQtYmV0d2VlblxcQG1kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC8qIG9yZGVyICovXG4gIC5vcmRlci0xXFxAbWQge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5vcmRlci0yXFxAbWQge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5vcmRlci0zXFxAbWQge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC8qIGRpc3BsYXkgKi9cbiAgLmJsb2NrXFxAbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pbmxpbmUtYmxvY2tcXEBtZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pbmxpbmVcXEBtZCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5jb250ZW50c1xcQG1kIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxuICAuY3NzLWdyaWRcXEBtZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuICAuY3NzLWlubGluZS1ncmlkXFxAbWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICB9XG4gIC5oaWRlXFxAbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogbWFyZ2luICovXG4gIC5tYXJnaW4tNHhzXFxAbWQge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLTN4c1xcQG1kIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi0yeHNcXEBtZCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4teHNcXEBtZCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1zbVxcQG1kIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLW1kXFxAbWQge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tbGdcXEBtZCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi14bFxcQG1kIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLTJ4bFxcQG1kIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi0zeGxcXEBtZCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tNHhsXFxAbWQge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLWF1dG9cXEBtZCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tMFxcQG1kIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1hcmdpbi15LTR4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi14LTR4c1xcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi15LTN4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi14LTN4c1xcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi15LTJ4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi14LTJ4c1xcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi15LXhzXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi14LXhzXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi15LXNtXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi14LXNtXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi15LW1kXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi14LW1kXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi15LWxnXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi14LWxnXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi15LXhsXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi14LXhsXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi15LTJ4bFxcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi14LTJ4bFxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi15LTN4bFxcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi14LTN4bFxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi15LTR4bFxcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi14LTR4bFxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi15LWF1dG9cXEBtZCB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICB9XG4gIC5tYXJnaW4teS0wXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAubWFyZ2luLXgtYXV0b1xcQG1kIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi14LTBcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5tYXJnaW4tdG9wLTR4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtNHhzXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS00eHNcXEBtZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtNHhzXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTN4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtM3hzXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0zeHNcXEBtZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtM3hzXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTJ4c1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtMnhzXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0yeHNcXEBtZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtMnhzXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tdG9wLXhzXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LXhzXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLXhzXFxAbWQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLWxlZnQteHNcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXRvcC1zbVxcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1zbVxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1zbVxcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LXNtXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi10b3AtbWRcXEBtZCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtbWRcXEBtZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tbWRcXEBtZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1tZFxcQG1kIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tdG9wLWxnXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LWxnXFxAbWQge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLWxnXFxAbWQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtbGdcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXRvcC14bFxcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC14bFxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS14bFxcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LXhsXFxAbWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtMnhsXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0yeGxcXEBtZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTJ4bFxcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0yeGxcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtM3hsXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0zeGxcXEBtZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTN4bFxcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0zeGxcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtNHhsXFxAbWQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC00eGxcXEBtZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTR4bFxcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC00eGxcXEBtZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtYXV0b1xcQG1kIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tdG9wLTBcXEBtZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LWF1dG9cXEBtZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtMFxcQG1kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tYXV0b1xcQG1kIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTBcXEBtZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAubWFyZ2luLWxlZnQtYXV0b1xcQG1kIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAubWFyZ2luLWxlZnQtMFxcQG1kIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAvKiBwYWRkaW5nICovXG4gIC5wYWRkaW5nLTR4c1xcQG1kIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLTN4c1xcQG1kIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLTJ4c1xcQG1kIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXhzXFxAbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1zbVxcQG1kIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctbWRcXEBtZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLWxnXFxAbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy14bFxcQG1kIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctMnhsXFxAbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctM3hsXFxAbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctNHhsXFxAbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctMFxcQG1kIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5wYWRkaW5nLXktNHhzXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXgtNHhzXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXktM3hzXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLXgtM3hzXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLXktMnhzXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXgtMnhzXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXkteHNcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXgteHNcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXktc21cXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXgtc21cXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXktbWRcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXgtbWRcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXktbGdcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXgtbGdcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXkteGxcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXgteGxcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXktMnhsXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXgtMnhsXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXktM3hsXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLXgtM3hsXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLXktNHhsXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXgtNHhsXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXktMFxcQG1kIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucGFkZGluZy14LTBcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTR4c1xcQG1kIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC00eHNcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tNHhzXFxAbWQge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtNHhzXFxAbWQge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy10b3AtM3hzXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTN4c1xcQG1kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0zeHNcXEBtZCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0zeHNcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0yeHNcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtMnhzXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTJ4c1xcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTJ4c1xcQG1kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLXhzXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQteHNcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS14c1xcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQteHNcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLXNtXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtc21cXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS1zbVxcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtc21cXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLW1kXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtbWRcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS1tZFxcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtbWRcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLWxnXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtbGdcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS1sZ1xcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtbGdcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLXhsXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQteGxcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS14bFxcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQteGxcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTJ4bFxcQG1kIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0yeGxcXEBtZCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tMnhsXFxAbWQge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtMnhsXFxAbWQge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy10b3AtM3hsXFxAbWQge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTN4bFxcQG1kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0zeGxcXEBtZCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0zeGxcXEBtZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC00eGxcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtNHhsXFxAbWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTR4bFxcQG1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTR4bFxcQG1kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTBcXEBtZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtMFxcQG1kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0wXFxAbWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtMFxcQG1kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLyogdGV4dC1hbGlnbiAqL1xuICAudGV4dC1jZW50ZXJcXEBtZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC50ZXh0LWxlZnRcXEBtZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGV4dC1yaWdodFxcQG1kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAudGV4dC1qdXN0aWZ5XFxAbWQge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbiAgLyogZm9udC1zaXplICovXG4gIC50ZXh0LXhzXFxAbWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14cyk7XG4gIH1cbiAgLnRleHQtc21cXEBtZCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgfVxuICAudGV4dC1iYXNlXFxAbWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgfVxuICAudGV4dC1tZFxcQG1kIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtbWQpO1xuICB9XG4gIC50ZXh0LWxnXFxAbWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1sZyk7XG4gIH1cbiAgLnRleHQteGxcXEBtZCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhsKTtcbiAgfVxuICAudGV4dC0yeGxcXEBtZCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTJ4bCk7XG4gIH1cbiAgLnRleHQtM3hsXFxAbWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0zeGwpO1xuICB9XG4gIC50ZXh0LTR4bFxcQG1kIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtNHhsKTtcbiAgfVxuICAvKiBjb2x1bW4tY291bnQgKi9cbiAgLmNvbHVtbi1jb3VudC0xXFxAbWQge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAxO1xuICAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuICB9XG4gIC5jb2x1bW4tY291bnQtMlxcQG1kIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICAuY29sdW1uLWNvdW50LTNcXEBtZCB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLmNvbHVtbi1jb3VudC00XFxAbWQge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICB9XG4gIC8qIHdpZHRoICovXG4gIC53aWR0aC00eHNcXEBtZCB7XG4gICAgd2lkdGg6IDAuMjVyZW07XG4gIH1cbiAgLndpZHRoLTN4c1xcQG1kIHtcbiAgICB3aWR0aDogMC41cmVtO1xuICB9XG4gIC53aWR0aC0yeHNcXEBtZCB7XG4gICAgd2lkdGg6IDAuNzVyZW07XG4gIH1cbiAgLndpZHRoLXhzXFxAbWQge1xuICAgIHdpZHRoOiAxcmVtO1xuICB9XG4gIC53aWR0aC1zbVxcQG1kIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICB9XG4gIC53aWR0aC1tZFxcQG1kIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgfVxuICAud2lkdGgtbGdcXEBtZCB7XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cbiAgLndpZHRoLXhsXFxAbWQge1xuICAgIHdpZHRoOiA0cmVtO1xuICB9XG4gIC53aWR0aC0yeGxcXEBtZCB7XG4gICAgd2lkdGg6IDZyZW07XG4gIH1cbiAgLndpZHRoLTN4bFxcQG1kIHtcbiAgICB3aWR0aDogOHJlbTtcbiAgfVxuICAud2lkdGgtNHhsXFxAbWQge1xuICAgIHdpZHRoOiAxNnJlbTtcbiAgfVxuICAud2lkdGgtMFxcQG1kIHtcbiAgICB3aWR0aDogMDtcbiAgfVxuICAud2lkdGgtMTBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAud2lkdGgtMjBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAud2lkdGgtMjVcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAud2lkdGgtMzBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAud2lkdGgtMzNcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDMzJTtcbiAgfVxuICAud2lkdGgtNDBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAud2lkdGgtNTBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAud2lkdGgtNjBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAud2lkdGgtNzBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAud2lkdGgtNzVcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAud2lkdGgtODBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAud2lkdGgtOTBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAud2lkdGgtMTAwXFwlXFxAbWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC53aWR0aC0xMDBcXCVcXEBtZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLndpZHRoLTEwMHZ3XFxAbWQge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAud2lkdGgtYXV0b1xcQG1kIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAud2lkdGgtaW5oZXJpdFxcQG1kIHtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgfVxuICAud2lkdGgtMFxcQG1kIHtcbiAgICB3aWR0aDogMDtcbiAgfVxuICAvKiBoZWlnaHQgKi9cbiAgLmhlaWdodC00eHNcXEBtZCB7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICB9XG4gIC5oZWlnaHQtM3hzXFxAbWQge1xuICAgIGhlaWdodDogMC41cmVtO1xuICB9XG4gIC5oZWlnaHQtMnhzXFxAbWQge1xuICAgIGhlaWdodDogMC43NXJlbTtcbiAgfVxuICAuaGVpZ2h0LXhzXFxAbWQge1xuICAgIGhlaWdodDogMXJlbTtcbiAgfVxuICAuaGVpZ2h0LXNtXFxAbWQge1xuICAgIGhlaWdodDogMS41cmVtO1xuICB9XG4gIC5oZWlnaHQtbWRcXEBtZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICB9XG4gIC5oZWlnaHQtbGdcXEBtZCB7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICB9XG4gIC5oZWlnaHQteGxcXEBtZCB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICB9XG4gIC5oZWlnaHQtMnhsXFxAbWQge1xuICAgIGhlaWdodDogNnJlbTtcbiAgfVxuICAuaGVpZ2h0LTN4bFxcQG1kIHtcbiAgICBoZWlnaHQ6IDhyZW07XG4gIH1cbiAgLmhlaWdodC00eGxcXEBtZCB7XG4gICAgaGVpZ2h0OiAxNnJlbTtcbiAgfVxuICAuaGVpZ2h0LTBcXEBtZCB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC5oZWlnaHQtMTBcXCVcXEBtZCB7XG4gICAgaGVpZ2h0OiAxMCU7XG4gIH1cbiAgLmhlaWdodC0yMFxcJVxcQG1kIHtcbiAgICBoZWlnaHQ6IDIwJTtcbiAgfVxuICAuaGVpZ2h0LTI1XFwlXFxAbWQge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5oZWlnaHQtMzBcXCVcXEBtZCB7XG4gICAgaGVpZ2h0OiAzMCU7XG4gIH1cbiAgLmhlaWdodC0zM1xcJVxcQG1kIHtcbiAgICBoZWlnaHQ6IDMzJTtcbiAgfVxuICAuaGVpZ2h0LTQwXFwlXFxAbWQge1xuICAgIGhlaWdodDogNDAlO1xuICB9XG4gIC5oZWlnaHQtNTBcXCVcXEBtZCB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmhlaWdodC02MFxcJVxcQG1kIHtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgfVxuICAuaGVpZ2h0LTcwXFwlXFxAbWQge1xuICAgIGhlaWdodDogNzAlO1xuICB9XG4gIC5oZWlnaHQtNzVcXCVcXEBtZCB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmhlaWdodC04MFxcJVxcQG1kIHtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgfVxuICAuaGVpZ2h0LTkwXFwlXFxAbWQge1xuICAgIGhlaWdodDogOTAlO1xuICB9XG4gIC5oZWlnaHQtMTAwXFwlXFxAbWQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaGVpZ2h0LTEwMFxcJVxcQG1kIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmhlaWdodC0xMDB2aFxcQG1kIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG4gIC5oZWlnaHQtYXV0b1xcQG1kIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmhlaWdodC1pbmhlcml0XFxAbWQge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgfVxuICAuaGVpZ2h0LTBcXEBtZCB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC8qIG1heC13aWR0aCAqL1xuICAubWF4LXdpZHRoLTV4c1xcQG1kIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC01eHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtNHhzXFxAbWQge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTR4cyk7XG4gIH1cbiAgLm1heC13aWR0aC0zeHNcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtM3hzKTtcbiAgfVxuICAubWF4LXdpZHRoLTJ4c1xcQG1kIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0yeHMpO1xuICB9XG4gIC5tYXgtd2lkdGgteHNcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgteHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtc21cXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtc20pO1xuICB9XG4gIC5tYXgtd2lkdGgtbWRcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtbWQpO1xuICB9XG4gIC5tYXgtd2lkdGgtbGdcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtbGcpO1xuICB9XG4gIC5tYXgtd2lkdGgteGxcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgteGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtMnhsXFxAbWQge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTJ4bCk7XG4gIH1cbiAgLm1heC13aWR0aC0zeGxcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtM3hsKTtcbiAgfVxuICAubWF4LXdpZHRoLTR4bFxcQG1kIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC00eGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtMTAwXFwlXFxAbWQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWF4LXdpZHRoLW5vbmVcXEBtZCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC8qIHBvc2l0aW9uICovXG4gIC5wb3NpdGlvbi1yZWxhdGl2ZVxcQG1kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnBvc2l0aW9uLWFic29sdXRlXFxAbWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAucG9zaXRpb24tZml4ZWRcXEBtZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIC5wb3NpdGlvbi1zdGlja3lcXEBtZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuICAucG9zaXRpb24tc3RhdGljXFxAbWQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLmluc2V0LTBcXEBtZCB7XG4gICAgaW5zZXQ6IDA7XG4gIH1cbiAgLnRvcC00eHNcXEBtZCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5yaWdodC00eHNcXEBtZCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLmJvdHRvbS00eHNcXEBtZCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5sZWZ0LTR4c1xcQG1kIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC50b3AtM3hzXFxAbWQge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucmlnaHQtM3hzXFxAbWQge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5ib3R0b20tM3hzXFxAbWQge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubGVmdC0zeHNcXEBtZCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAudG9wLTJ4c1xcQG1kIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnJpZ2h0LTJ4c1xcQG1kIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAuYm90dG9tLTJ4c1xcQG1kIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLmxlZnQtMnhzXFxAbWQge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnRvcC14c1xcQG1kIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucmlnaHQteHNcXEBtZCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAuYm90dG9tLXhzXFxAbWQge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5sZWZ0LXhzXFxAbWQge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAudG9wLXNtXFxAbWQge1xuICAgIHRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5yaWdodC1zbVxcQG1kIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5ib3R0b20tc21cXEBtZCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLmxlZnQtc21cXEBtZCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC50b3AtbWRcXEBtZCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnJpZ2h0LW1kXFxAbWQge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLmJvdHRvbS1tZFxcQG1kIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubGVmdC1tZFxcQG1kIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnRvcC1sZ1xcQG1kIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucmlnaHQtbGdcXEBtZCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAuYm90dG9tLWxnXFxAbWQge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5sZWZ0LWxnXFxAbWQge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAudG9wLXhsXFxAbWQge1xuICAgIHRvcDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5yaWdodC14bFxcQG1kIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5ib3R0b20teGxcXEBtZCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLmxlZnQteGxcXEBtZCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC50b3AtMnhsXFxAbWQge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucmlnaHQtMnhsXFxAbWQge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5ib3R0b20tMnhsXFxAbWQge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubGVmdC0yeGxcXEBtZCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAudG9wLTN4bFxcQG1kIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnJpZ2h0LTN4bFxcQG1kIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAuYm90dG9tLTN4bFxcQG1kIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLmxlZnQtM3hsXFxAbWQge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnRvcC00eGxcXEBtZCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5yaWdodC00eGxcXEBtZCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLmJvdHRvbS00eGxcXEBtZCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5sZWZ0LTR4bFxcQG1kIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC50b3AtNTBcXCVcXEBtZCB7XG4gICAgdG9wOiA1MCU7XG4gIH1cbiAgLnRvcC1hdXRvXFxAbWQge1xuICAgIHRvcDogYXV0bztcbiAgfVxuICAudG9wLTBcXEBtZCB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5yaWdodC01MFxcJVxcQG1kIHtcbiAgICByaWdodDogNTAlO1xuICB9XG4gIC5yaWdodC1hdXRvXFxAbWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5yaWdodC0wXFxAbWQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5ib3R0b20tNTBcXCVcXEBtZCB7XG4gICAgYm90dG9tOiA1MCU7XG4gIH1cbiAgLmJvdHRvbS1hdXRvXFxAbWQge1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuICAuYm90dG9tLTBcXEBtZCB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5sZWZ0LTUwXFwlXFxAbWQge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAubGVmdC1hdXRvXFxAbWQge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmxlZnQtMFxcQG1kIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC8qIG92ZXJmbG93ICovXG4gIC5vdmVyZmxvdy12aXNpYmxlXFxAbWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5vdmVyZmxvdy1oaWRkZW5cXEBtZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAub3ZlcmZsb3ctYXV0b1xcQG1kIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuICAubW9tZW50dW0tc2Nyb2xsaW5nXFxAbWQge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAvKiB2aXNpYmlsaXR5ICovXG4gIC52aXNpYmxlXFxAbWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLmludmlzaWJsZVxcQG1kIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbkBtZWRpYSBub3QgYWxsIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAuZGlzcGxheVxcQG1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MHJlbSkge1xuICAvKiBncmlkICovXG4gIC5ncmlkLWNvbC0xXFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxO1xuICB9XG4gIC5jb2wtMVxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxO1xuICB9XG4gIC5ncmlkLWNvbC0yXFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAyO1xuICB9XG4gIC5jb2wtMlxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAyO1xuICB9XG4gIC5ncmlkLWNvbC0zXFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAzO1xuICB9XG4gIC5jb2wtM1xcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAzO1xuICB9XG4gIC5ncmlkLWNvbC00XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA0O1xuICB9XG4gIC5jb2wtNFxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA0O1xuICB9XG4gIC5ncmlkLWNvbC01XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA1O1xuICB9XG4gIC5jb2wtNVxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA1O1xuICB9XG4gIC5ncmlkLWNvbC02XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA2O1xuICB9XG4gIC5jb2wtNlxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA2O1xuICB9XG4gIC5ncmlkLWNvbC03XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA3O1xuICB9XG4gIC5jb2wtN1xcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA3O1xuICB9XG4gIC5ncmlkLWNvbC04XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA4O1xuICB9XG4gIC5jb2wtOFxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA4O1xuICB9XG4gIC5ncmlkLWNvbC05XFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiA5O1xuICB9XG4gIC5jb2wtOVxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiA5O1xuICB9XG4gIC5ncmlkLWNvbC0xMFxcQGxnIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTA7XG4gIH1cbiAgLmNvbC0xMFxcQGxnIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxMDtcbiAgfVxuICAuZ3JpZC1jb2wtMTFcXEBsZyB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDExO1xuICB9XG4gIC5jb2wtMTFcXEBsZyB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTE7XG4gIH1cbiAgLmdyaWQtY29sLTEyXFxAbGcge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxMjtcbiAgfVxuICAuY29sLTEyXFxAbGcge1xuICAgIC0tY29sdW1uLXNwYW46IDEyO1xuICB9XG4gIC5jb2wtMVxcQGxnLCAuY29sLTJcXEBsZywgLmNvbC0zXFxAbGcsIC5jb2wtNFxcQGxnLCAuY29sLTVcXEBsZywgLmNvbC02XFxAbGcsIC5jb2wtN1xcQGxnLCAuY29sLThcXEBsZywgLmNvbC05XFxAbGcsIC5jb2wtMTBcXEBsZywgLmNvbC0xMVxcQGxnLCAuY29sLTEyXFxAbGcge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gKHZhcigtLWdyaWQtY29sdW1ucykgLSAxKSAqIHZhcigtLWNvbHVtbi1nYXApKSAqIHZhcigtLWNvbHVtbi1zcGFuKSAvIHZhcigtLWdyaWQtY29sdW1ucykgKyAodmFyKC0tY29sdW1uLXNwYW4pIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxuICAuY29sXFxAbGcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDEgMSAwO1xuICB9XG4gIC5jb2wtY29udGVudFxcQGxnIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAub2Zmc2V0LTFcXEBsZyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAxO1xuICB9XG4gIC5vZmZzZXQtMlxcQGxnIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDI7XG4gIH1cbiAgLm9mZnNldC0zXFxAbGcge1xuICAgIC0tY29sdW1uLW9mZnNldDogMztcbiAgfVxuICAub2Zmc2V0LTRcXEBsZyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA0O1xuICB9XG4gIC5vZmZzZXQtNVxcQGxnIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDU7XG4gIH1cbiAgLm9mZnNldC02XFxAbGcge1xuICAgIC0tY29sdW1uLW9mZnNldDogNjtcbiAgfVxuICAub2Zmc2V0LTdcXEBsZyB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA3O1xuICB9XG4gIC5vZmZzZXQtOFxcQGxnIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDg7XG4gIH1cbiAgLm9mZnNldC05XFxAbGcge1xuICAgIC0tY29sdW1uLW9mZnNldDogOTtcbiAgfVxuICAub2Zmc2V0LTEwXFxAbGcge1xuICAgIC0tY29sdW1uLW9mZnNldDogMTA7XG4gIH1cbiAgLm9mZnNldC0xMVxcQGxnIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDExO1xuICB9XG4gIC5vZmZzZXQtMVxcQGxnLCAub2Zmc2V0LTJcXEBsZywgLm9mZnNldC0zXFxAbGcsIC5vZmZzZXQtNFxcQGxnLCAub2Zmc2V0LTVcXEBsZywgLm9mZnNldC02XFxAbGcsIC5vZmZzZXQtN1xcQGxnLCAub2Zmc2V0LThcXEBsZywgLm9mZnNldC05XFxAbGcsIC5vZmZzZXQtMTBcXEBsZywgLm9mZnNldC0xMVxcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtICh2YXIoLS1ncmlkLWNvbHVtbnMpIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSkgKiB2YXIoLS1jb2x1bW4tb2Zmc2V0KSAvIHZhcigtLWdyaWQtY29sdW1ucykgKyB2YXIoLS1jb2x1bW4tb2Zmc2V0KSAqIHZhcigtLWNvbHVtbi1nYXApKTtcbiAgfVxuICAub2Zmc2V0LTBcXEBsZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLyogZ2FwICovXG4gIC5nYXAtNHhzXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtNHhzXFxAbGcge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTR4c1xcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0zeHNcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0zeHNcXEBsZyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktM3hzXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTJ4c1xcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTJ4c1xcQGxnIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0yeHNcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAteHNcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgteHNcXEBsZyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS14c1xcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXNtXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXNtXFxAbGcge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktc21cXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC1tZFxcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC1tZFxcQGxnIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LW1kXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtbGdcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtbGdcXEBsZyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS1sZ1xcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXhsXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXhsXFxAbGcge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXkteGxcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0yeGxcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0yeGxcXEBsZyB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktMnhsXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTN4bFxcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTN4bFxcQGxnIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS0zeGxcXEBsZyB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtNHhsXFxAbGcge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtNHhsXFxAbGcge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTR4bFxcQGxnIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0wXFxAbGcge1xuICAgIC0tcm93LWdhcDogMHB4O1xuICAgIC0tY29sdW1uLWdhcDogMHB4O1xuICAgIGdhcDogMHB4O1xuICB9XG4gIC5nYXAteC0wXFxAbGcge1xuICAgIC0tY29sdW1uLWdhcDogMHB4O1xuICAgIC1tb3otY29sdW1uLWdhcDogMHB4O1xuICAgICAgICAgY29sdW1uLWdhcDogMHB4O1xuICB9XG4gIC5nYXAteS0wXFxAbGcge1xuICAgIC0tcm93LWdhcDogMHB4O1xuICAgIHJvdy1nYXA6IDBweDtcbiAgfVxuICAvKiBmbGV4Ym94ICovXG4gIC5mbGV4XFxAbGcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmlubGluZS1mbGV4XFxAbGcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG4gIC5mbGV4LXdyYXBcXEBsZyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5mbGV4LW5vd3JhcFxcQGxnIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAuZmxleC1jb2x1bW5cXEBsZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuZmxleC1jb2x1bW4tcmV2ZXJzZVxcQGxnIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbiAgLmZsZXgtcm93XFxAbGcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmZsZXgtcm93LXJldmVyc2VcXEBsZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5mbGV4LWNlbnRlclxcQGxnIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5mbGV4LWdyb3dcXEBsZyB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gIC5mbGV4LWdyb3ctMFxcQGxnIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cbiAgLmZsZXgtc2hyaW5rXFxAbGcge1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICB9XG4gIC5mbGV4LXNocmluay0wXFxAbGcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC5mbGV4LWJhc2lzLTBcXEBsZyB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgfVxuICAvKiBqdXN0aWZ5LWNvbnRlbnQgKi9cbiAgLmp1c3RpZnktc3RhcnRcXEBsZyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgfVxuICAuanVzdGlmeS1lbmRcXEBsZyB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cbiAgLmp1c3RpZnktY2VudGVyXFxAbGcge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5qdXN0aWZ5LWJldHdlZW5cXEBsZyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC8qIGFsaWduLWl0ZW1zICovXG4gIC5pdGVtcy1jZW50ZXJcXEBsZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuaXRlbXMtc3RhcnRcXEBsZyB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG4gIC5pdGVtcy1lbmRcXEBsZyB7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxuICAuaXRlbXMtYmFzZWxpbmVcXEBsZyB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICB9XG4gIC5pdGVtcy1zdHJldGNoXFxAbGcge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIC8qIGFsaWduLWNvbnRlbnQgKi9cbiAgLmNvbnRlbnQtc3RhcnRcXEBsZyB7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmNvbnRlbnQtZW5kXFxAbGcge1xuICAgIGFsaWduLWNvbnRlbnQ6IGVuZDtcbiAgfVxuICAuY29udGVudC1jZW50ZXJcXEBsZyB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG4gIC5jb250ZW50LWJldHdlZW5cXEBsZyB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAvKiBvcmRlciAqL1xuICAub3JkZXItMVxcQGxnIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXItMlxcQGxnIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAub3JkZXItM1xcQGxnIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAvKiBkaXNwbGF5ICovXG4gIC5ibG9ja1xcQGxnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaW5saW5lLWJsb2NrXFxAbGcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaW5saW5lXFxAbGcge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAuY29udGVudHNcXEBsZyB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cbiAgLmNzcy1ncmlkXFxAbGcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbiAgLmNzcy1pbmxpbmUtZ3JpZFxcQGxnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgfVxuICAuaGlkZVxcQGxnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIG1hcmdpbiAqL1xuICAubWFyZ2luLTR4c1xcQGxnIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi0zeHNcXEBsZyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tMnhzXFxAbGcge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXhzXFxAbGcge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tc21cXEBsZyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1tZFxcQGxnIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWxnXFxAbGcge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teGxcXEBsZyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi0yeGxcXEBsZyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tM3hsXFxAbGcge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLTR4bFxcQGxnIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1hdXRvXFxAbGcge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAubWFyZ2luLTBcXEBsZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tYXJnaW4teS00eHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4teC00eHNcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4teS0zeHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4teC0zeHNcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4teS0yeHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4teC0yeHNcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4teS14c1xcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4teC14c1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4teS1zbVxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4teC1zbVxcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4teS1tZFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4teC1tZFxcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4teS1sZ1xcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teC1sZ1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4teS14bFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4teC14bFxcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4teS0yeGxcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4teC0yeGxcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4teS0zeGxcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4teC0zeGxcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4teS00eGxcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4teC00eGxcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4teS1hdXRvXFxAbGcge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuICAubWFyZ2luLXktMFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1hcmdpbi14LWF1dG9cXEBsZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tYXJnaW4teC0wXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWFyZ2luLXRvcC00eHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTR4c1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tNHhzXFxAbGcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTR4c1xcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXRvcC0zeHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTN4c1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tM3hzXFxAbGcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTN4c1xcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXRvcC0yeHNcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTJ4c1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMnhzXFxAbGcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTJ4c1xcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXRvcC14c1xcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC14c1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS14c1xcQGxnIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LXhzXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi10b3Atc21cXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtc21cXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tc21cXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1zbVxcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tdG9wLW1kXFxAbGcge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LW1kXFxAbGcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLW1kXFxAbGcge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtbWRcXEBsZyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXRvcC1sZ1xcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1sZ1xcQGxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1sZ1xcQGxnIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LWxnXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi10b3AteGxcXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQteGxcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20teGxcXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC14bFxcQGxnIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTJ4bFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtMnhsXFxAbGcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0yeGxcXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtMnhsXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTN4bFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtM3hsXFxAbGcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0zeGxcXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtM3hsXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLTR4bFxcQGxnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtNHhsXFxAbGcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS00eGxcXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtNHhsXFxAbGcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tdG9wLWF1dG9cXEBsZyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICAubWFyZ2luLXRvcC0wXFxAbGcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1hdXRvXFxAbGcge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTBcXEBsZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLWF1dG9cXEBsZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgfVxuICAubWFyZ2luLWJvdHRvbS0wXFxAbGcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LWF1dG9cXEBsZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTBcXEBsZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLyogcGFkZGluZyAqL1xuICAucGFkZGluZy00eHNcXEBsZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy0zeHNcXEBsZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy0yeHNcXEBsZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy14c1xcQGxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctc21cXEBsZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLW1kXFxAbGcge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1sZ1xcQGxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteGxcXEBsZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLTJ4bFxcQGxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLTN4bFxcQGxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLTR4bFxcQGxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLTBcXEBsZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAucGFkZGluZy15LTR4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy14LTR4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy15LTN4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy14LTN4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy15LTJ4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy14LTJ4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy15LXhzXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy14LXhzXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy15LXNtXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy14LXNtXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy15LW1kXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy14LW1kXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy15LWxnXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy14LWxnXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy15LXhsXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy14LXhsXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy15LTJ4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy14LTJ4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy15LTN4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy14LTN4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy15LTR4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy14LTR4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy15LTBcXEBsZyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBhZGRpbmcteC0wXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5wYWRkaW5nLXRvcC00eHNcXEBsZyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtNHhzXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTR4c1xcQGxnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTR4c1xcQGxnIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTN4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0zeHNcXEBsZyB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tM3hzXFxAbGcge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtM3hzXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy10b3AtMnhzXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTJ4c1xcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0yeHNcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0yeHNcXEBsZyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC14c1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXhzXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20teHNcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXhzXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1zbVxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXNtXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tc21cXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXNtXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1tZFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LW1kXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tbWRcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LW1kXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC1sZ1xcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LWxnXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tbGdcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LWxnXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC14bFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXhsXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20teGxcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LXhsXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0yeGxcXEBsZyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtMnhsXFxAbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTJ4bFxcQGxnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTJ4bFxcQGxnIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTN4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0zeGxcXEBsZyB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tM3hsXFxAbGcge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtM3hsXFxAbGcge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy10b3AtNHhsXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTR4bFxcQGxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS00eGxcXEBsZyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC00eGxcXEBsZyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0wXFxAbGcge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTBcXEBsZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tMFxcQGxnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTBcXEBsZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC8qIHRleHQtYWxpZ24gKi9cbiAgLnRleHQtY2VudGVyXFxAbGcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGV4dC1sZWZ0XFxAbGcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRleHQtcmlnaHRcXEBsZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtanVzdGlmeVxcQGxnIHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG4gIC8qIGZvbnQtc2l6ZSAqL1xuICAudGV4dC14c1xcQGxnIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICB9XG4gIC50ZXh0LXNtXFxAbGcge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIH1cbiAgLnRleHQtYmFzZVxcQGxnIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIH1cbiAgLnRleHQtbWRcXEBsZyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LW1kKTtcbiAgfVxuICAudGV4dC1sZ1xcQGxnIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtbGcpO1xuICB9XG4gIC50ZXh0LXhsXFxAbGcge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG4gIH1cbiAgLnRleHQtMnhsXFxAbGcge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0yeGwpO1xuICB9XG4gIC50ZXh0LTN4bFxcQGxnIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtM3hsKTtcbiAgfVxuICAudGV4dC00eGxcXEBsZyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTR4bCk7XG4gIH1cbiAgLyogY29sdW1uLWNvdW50ICovXG4gIC5jb2x1bW4tY291bnQtMVxcQGxnIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxuICAuY29sdW1uLWNvdW50LTJcXEBsZyB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLmNvbHVtbi1jb3VudC0zXFxAbGcge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICB9XG4gIC5jb2x1bW4tY291bnQtNFxcQGxnIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxuICAvKiB3aWR0aCAqL1xuICAud2lkdGgtNHhzXFxAbGcge1xuICAgIHdpZHRoOiAwLjI1cmVtO1xuICB9XG4gIC53aWR0aC0zeHNcXEBsZyB7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgfVxuICAud2lkdGgtMnhzXFxAbGcge1xuICAgIHdpZHRoOiAwLjc1cmVtO1xuICB9XG4gIC53aWR0aC14c1xcQGxnIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgfVxuICAud2lkdGgtc21cXEBsZyB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgfVxuICAud2lkdGgtbWRcXEBsZyB7XG4gICAgd2lkdGg6IDJyZW07XG4gIH1cbiAgLndpZHRoLWxnXFxAbGcge1xuICAgIHdpZHRoOiAzcmVtO1xuICB9XG4gIC53aWR0aC14bFxcQGxnIHtcbiAgICB3aWR0aDogNHJlbTtcbiAgfVxuICAud2lkdGgtMnhsXFxAbGcge1xuICAgIHdpZHRoOiA2cmVtO1xuICB9XG4gIC53aWR0aC0zeGxcXEBsZyB7XG4gICAgd2lkdGg6IDhyZW07XG4gIH1cbiAgLndpZHRoLTR4bFxcQGxnIHtcbiAgICB3aWR0aDogMTZyZW07XG4gIH1cbiAgLndpZHRoLTBcXEBsZyB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLndpZHRoLTEwXFwlXFxAbGcge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLndpZHRoLTIwXFwlXFxAbGcge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLndpZHRoLTI1XFwlXFxAbGcge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLndpZHRoLTMwXFwlXFxAbGcge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLndpZHRoLTMzXFwlXFxAbGcge1xuICAgIHdpZHRoOiAzMyU7XG4gIH1cbiAgLndpZHRoLTQwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLndpZHRoLTUwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLndpZHRoLTYwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLndpZHRoLTcwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLndpZHRoLTc1XFwlXFxAbGcge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLndpZHRoLTgwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLndpZHRoLTkwXFwlXFxAbGcge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLndpZHRoLTEwMFxcJVxcQGxnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAud2lkdGgtMTAwXFwlXFxAbGcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC53aWR0aC0xMDB2d1xcQGxnIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLndpZHRoLWF1dG9cXEBsZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLndpZHRoLWluaGVyaXRcXEBsZyB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gIH1cbiAgLndpZHRoLTBcXEBsZyB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLyogaGVpZ2h0ICovXG4gIC5oZWlnaHQtNHhzXFxAbGcge1xuICAgIGhlaWdodDogMC4yNXJlbTtcbiAgfVxuICAuaGVpZ2h0LTN4c1xcQGxnIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgfVxuICAuaGVpZ2h0LTJ4c1xcQGxnIHtcbiAgICBoZWlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgLmhlaWdodC14c1xcQGxnIHtcbiAgICBoZWlnaHQ6IDFyZW07XG4gIH1cbiAgLmhlaWdodC1zbVxcQGxnIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuaGVpZ2h0LW1kXFxAbGcge1xuICAgIGhlaWdodDogMnJlbTtcbiAgfVxuICAuaGVpZ2h0LWxnXFxAbGcge1xuICAgIGhlaWdodDogM3JlbTtcbiAgfVxuICAuaGVpZ2h0LXhsXFxAbGcge1xuICAgIGhlaWdodDogNHJlbTtcbiAgfVxuICAuaGVpZ2h0LTJ4bFxcQGxnIHtcbiAgICBoZWlnaHQ6IDZyZW07XG4gIH1cbiAgLmhlaWdodC0zeGxcXEBsZyB7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG4gIC5oZWlnaHQtNHhsXFxAbGcge1xuICAgIGhlaWdodDogMTZyZW07XG4gIH1cbiAgLmhlaWdodC0wXFxAbGcge1xuICAgIGhlaWdodDogMDtcbiAgfVxuICAuaGVpZ2h0LTEwXFwlXFxAbGcge1xuICAgIGhlaWdodDogMTAlO1xuICB9XG4gIC5oZWlnaHQtMjBcXCVcXEBsZyB7XG4gICAgaGVpZ2h0OiAyMCU7XG4gIH1cbiAgLmhlaWdodC0yNVxcJVxcQGxnIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuaGVpZ2h0LTMwXFwlXFxAbGcge1xuICAgIGhlaWdodDogMzAlO1xuICB9XG4gIC5oZWlnaHQtMzNcXCVcXEBsZyB7XG4gICAgaGVpZ2h0OiAzMyU7XG4gIH1cbiAgLmhlaWdodC00MFxcJVxcQGxnIHtcbiAgICBoZWlnaHQ6IDQwJTtcbiAgfVxuICAuaGVpZ2h0LTUwXFwlXFxAbGcge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5oZWlnaHQtNjBcXCVcXEBsZyB7XG4gICAgaGVpZ2h0OiA2MCU7XG4gIH1cbiAgLmhlaWdodC03MFxcJVxcQGxnIHtcbiAgICBoZWlnaHQ6IDcwJTtcbiAgfVxuICAuaGVpZ2h0LTc1XFwlXFxAbGcge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5oZWlnaHQtODBcXCVcXEBsZyB7XG4gICAgaGVpZ2h0OiA4MCU7XG4gIH1cbiAgLmhlaWdodC05MFxcJVxcQGxnIHtcbiAgICBoZWlnaHQ6IDkwJTtcbiAgfVxuICAuaGVpZ2h0LTEwMFxcJVxcQGxnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmhlaWdodC0xMDBcXCVcXEBsZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZWlnaHQtMTAwdmhcXEBsZyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAuaGVpZ2h0LWF1dG9cXEBsZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5oZWlnaHQtaW5oZXJpdFxcQGxnIHtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgLmhlaWdodC0wXFxAbGcge1xuICAgIGhlaWdodDogMDtcbiAgfVxuICAvKiBtYXgtd2lkdGggKi9cbiAgLm1heC13aWR0aC01eHNcXEBsZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNXhzKTtcbiAgfVxuICAubWF4LXdpZHRoLTR4c1xcQGxnIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC00eHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtM3hzXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTN4cyk7XG4gIH1cbiAgLm1heC13aWR0aC0yeHNcXEBsZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtMnhzKTtcbiAgfVxuICAubWF4LXdpZHRoLXhzXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXhzKTtcbiAgfVxuICAubWF4LXdpZHRoLXNtXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXNtKTtcbiAgfVxuICAubWF4LXdpZHRoLW1kXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLW1kKTtcbiAgfVxuICAubWF4LXdpZHRoLWxnXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLWxnKTtcbiAgfVxuICAubWF4LXdpZHRoLXhsXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLXhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTJ4bFxcQGxnIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0yeGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtM3hsXFxAbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTN4bCk7XG4gIH1cbiAgLm1heC13aWR0aC00eGxcXEBsZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNHhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTEwMFxcJVxcQGxnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1heC13aWR0aC1ub25lXFxAbGcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuICAvKiBwb3NpdGlvbiAqL1xuICAucG9zaXRpb24tcmVsYXRpdmVcXEBsZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5wb3NpdGlvbi1hYnNvbHV0ZVxcQGxnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkXFxAbGcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAucG9zaXRpb24tc3RpY2t5XFxAbGcge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cbiAgLnBvc2l0aW9uLXN0YXRpY1xcQGxnIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5pbnNldC0wXFxAbGcge1xuICAgIGluc2V0OiAwO1xuICB9XG4gIC50b3AtNHhzXFxAbGcge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAucmlnaHQtNHhzXFxAbGcge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5ib3R0b20tNHhzXFxAbGcge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubGVmdC00eHNcXEBsZyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAudG9wLTN4c1xcQGxnIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnJpZ2h0LTN4c1xcQGxnIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAuYm90dG9tLTN4c1xcQGxnIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLmxlZnQtM3hzXFxAbGcge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnRvcC0yeHNcXEBsZyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5yaWdodC0yeHNcXEBsZyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLmJvdHRvbS0yeHNcXEBsZyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5sZWZ0LTJ4c1xcQGxnIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC50b3AteHNcXEBsZyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnJpZ2h0LXhzXFxAbGcge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLmJvdHRvbS14c1xcQGxnIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubGVmdC14c1xcQGxnIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnRvcC1zbVxcQGxnIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucmlnaHQtc21cXEBsZyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAuYm90dG9tLXNtXFxAbGcge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5sZWZ0LXNtXFxAbGcge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAudG9wLW1kXFxAbGcge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5yaWdodC1tZFxcQGxnIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5ib3R0b20tbWRcXEBsZyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLmxlZnQtbWRcXEBsZyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC50b3AtbGdcXEBsZyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnJpZ2h0LWxnXFxAbGcge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLmJvdHRvbS1sZ1xcQGxnIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubGVmdC1sZ1xcQGxnIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnRvcC14bFxcQGxnIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucmlnaHQteGxcXEBsZyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAuYm90dG9tLXhsXFxAbGcge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5sZWZ0LXhsXFxAbGcge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAudG9wLTJ4bFxcQGxnIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnJpZ2h0LTJ4bFxcQGxnIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAuYm90dG9tLTJ4bFxcQGxnIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLmxlZnQtMnhsXFxAbGcge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnRvcC0zeGxcXEBsZyB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5yaWdodC0zeGxcXEBsZyB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLmJvdHRvbS0zeGxcXEBsZyB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5sZWZ0LTN4bFxcQGxnIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC50b3AtNHhsXFxAbGcge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucmlnaHQtNHhsXFxAbGcge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5ib3R0b20tNHhsXFxAbGcge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubGVmdC00eGxcXEBsZyB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAudG9wLTUwXFwlXFxAbGcge1xuICAgIHRvcDogNTAlO1xuICB9XG4gIC50b3AtYXV0b1xcQGxnIHtcbiAgICB0b3A6IGF1dG87XG4gIH1cbiAgLnRvcC0wXFxAbGcge1xuICAgIHRvcDogMDtcbiAgfVxuICAucmlnaHQtNTBcXCVcXEBsZyB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAucmlnaHQtYXV0b1xcQGxnIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAucmlnaHQtMFxcQGxnIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAuYm90dG9tLTUwXFwlXFxAbGcge1xuICAgIGJvdHRvbTogNTAlO1xuICB9XG4gIC5ib3R0b20tYXV0b1xcQGxnIHtcbiAgICBib3R0b206IGF1dG87XG4gIH1cbiAgLmJvdHRvbS0wXFxAbGcge1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAubGVmdC01MFxcJVxcQGxnIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmxlZnQtYXV0b1xcQGxnIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5sZWZ0LTBcXEBsZyB7XG4gICAgbGVmdDogMDtcbiAgfVxuICAvKiBvdmVyZmxvdyAqL1xuICAub3ZlcmZsb3ctdmlzaWJsZVxcQGxnIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAub3ZlcmZsb3ctaGlkZGVuXFxAbGcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm92ZXJmbG93LWF1dG9cXEBsZyB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbiAgLm1vbWVudHVtLXNjcm9sbGluZ1xcQGxnIHtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLyogdmlzaWJpbGl0eSAqL1xuICAudmlzaWJsZVxcQGxnIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5pbnZpc2libGVcXEBsZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5AbWVkaWEgbm90IGFsbCBhbmQgKG1pbi13aWR0aDogODByZW0pIHtcbiAgLmRpc3BsYXlcXEBsZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTByZW0pIHtcbiAgLyogZ3JpZCAqL1xuICAuZ3JpZC1jb2wtMVxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTtcbiAgfVxuICAuY29sLTFcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTtcbiAgfVxuICAuZ3JpZC1jb2wtMlxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogMjtcbiAgfVxuICAuY29sLTJcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogMjtcbiAgfVxuICAuZ3JpZC1jb2wtM1xcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogMztcbiAgfVxuICAuY29sLTNcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogMztcbiAgfVxuICAuZ3JpZC1jb2wtNFxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogNDtcbiAgfVxuICAuY29sLTRcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogNDtcbiAgfVxuICAuZ3JpZC1jb2wtNVxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogNTtcbiAgfVxuICAuY29sLTVcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogNTtcbiAgfVxuICAuZ3JpZC1jb2wtNlxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogNjtcbiAgfVxuICAuY29sLTZcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogNjtcbiAgfVxuICAuZ3JpZC1jb2wtN1xcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogNztcbiAgfVxuICAuY29sLTdcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogNztcbiAgfVxuICAuZ3JpZC1jb2wtOFxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogODtcbiAgfVxuICAuY29sLThcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogODtcbiAgfVxuICAuZ3JpZC1jb2wtOVxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogOTtcbiAgfVxuICAuY29sLTlcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogOTtcbiAgfVxuICAuZ3JpZC1jb2wtMTBcXEB4bCB7XG4gICAgLS1ncmlkLWNvbHVtbnM6IDEwO1xuICB9XG4gIC5jb2wtMTBcXEB4bCB7XG4gICAgLS1jb2x1bW4tc3BhbjogMTA7XG4gIH1cbiAgLmdyaWQtY29sLTExXFxAeGwge1xuICAgIC0tZ3JpZC1jb2x1bW5zOiAxMTtcbiAgfVxuICAuY29sLTExXFxAeGwge1xuICAgIC0tY29sdW1uLXNwYW46IDExO1xuICB9XG4gIC5ncmlkLWNvbC0xMlxcQHhsIHtcbiAgICAtLWdyaWQtY29sdW1uczogMTI7XG4gIH1cbiAgLmNvbC0xMlxcQHhsIHtcbiAgICAtLWNvbHVtbi1zcGFuOiAxMjtcbiAgfVxuICAuY29sLTFcXEB4bCwgLmNvbC0yXFxAeGwsIC5jb2wtM1xcQHhsLCAuY29sLTRcXEB4bCwgLmNvbC01XFxAeGwsIC5jb2wtNlxcQHhsLCAuY29sLTdcXEB4bCwgLmNvbC04XFxAeGwsIC5jb2wtOVxcQHhsLCAuY29sLTEwXFxAeGwsIC5jb2wtMTFcXEB4bCwgLmNvbC0xMlxcQHhsIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtICh2YXIoLS1ncmlkLWNvbHVtbnMpIC0gMSkgKiB2YXIoLS1jb2x1bW4tZ2FwKSkgKiB2YXIoLS1jb2x1bW4tc3BhbikgLyB2YXIoLS1ncmlkLWNvbHVtbnMpICsgKHZhcigtLWNvbHVtbi1zcGFuKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpO1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbiAgLmNvbFxcQHhsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4OiAxIDEgMDtcbiAgfVxuICAuY29sLWNvbnRlbnRcXEB4bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm9mZnNldC0xXFxAeGwge1xuICAgIC0tY29sdW1uLW9mZnNldDogMTtcbiAgfVxuICAub2Zmc2V0LTJcXEB4bCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAyO1xuICB9XG4gIC5vZmZzZXQtM1xcQHhsIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDM7XG4gIH1cbiAgLm9mZnNldC00XFxAeGwge1xuICAgIC0tY29sdW1uLW9mZnNldDogNDtcbiAgfVxuICAub2Zmc2V0LTVcXEB4bCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA1O1xuICB9XG4gIC5vZmZzZXQtNlxcQHhsIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDY7XG4gIH1cbiAgLm9mZnNldC03XFxAeGwge1xuICAgIC0tY29sdW1uLW9mZnNldDogNztcbiAgfVxuICAub2Zmc2V0LThcXEB4bCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiA4O1xuICB9XG4gIC5vZmZzZXQtOVxcQHhsIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDk7XG4gIH1cbiAgLm9mZnNldC0xMFxcQHhsIHtcbiAgICAtLWNvbHVtbi1vZmZzZXQ6IDEwO1xuICB9XG4gIC5vZmZzZXQtMTFcXEB4bCB7XG4gICAgLS1jb2x1bW4tb2Zmc2V0OiAxMTtcbiAgfVxuICAub2Zmc2V0LTFcXEB4bCwgLm9mZnNldC0yXFxAeGwsIC5vZmZzZXQtM1xcQHhsLCAub2Zmc2V0LTRcXEB4bCwgLm9mZnNldC01XFxAeGwsIC5vZmZzZXQtNlxcQHhsLCAub2Zmc2V0LTdcXEB4bCwgLm9mZnNldC04XFxAeGwsIC5vZmZzZXQtOVxcQHhsLCAub2Zmc2V0LTEwXFxAeGwsIC5vZmZzZXQtMTFcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMCUgLSAodmFyKC0tZ3JpZC1jb2x1bW5zKSAtIDEpICogdmFyKC0tY29sdW1uLWdhcCkpICogdmFyKC0tY29sdW1uLW9mZnNldCkgLyB2YXIoLS1ncmlkLWNvbHVtbnMpICsgdmFyKC0tY29sdW1uLW9mZnNldCkgKiB2YXIoLS1jb2x1bW4tZ2FwKSk7XG4gIH1cbiAgLm9mZnNldC0wXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC8qIGdhcCAqL1xuICAuZ2FwLTR4c1xcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTR4c1xcQHhsIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS00eHNcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eHMpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtM3hzXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtM3hzXFxAeGwge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTN4c1xcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0yeHNcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0yeHNcXEB4bCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktMnhzXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLXhzXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LXhzXFxAeGwge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXkteHNcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC1zbVxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC1zbVxcQHhsIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LXNtXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtbWRcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtbWRcXEB4bCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS1tZFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLWxnXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LWxnXFxAeGwge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktbGdcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC14bFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC14bFxcQHhsIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LXhsXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtMnhsXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgZ2FwOiB2YXIoLS1yb3ctZ2FwKSB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXgtMnhsXFxAeGwge1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC15LTJ4bFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cbiAgLmdhcC0zeGxcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIC0tY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBnYXA6IHZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteC0zeGxcXEB4bCB7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS0zeGwpO1xuICAgIC1tb3otY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG4gICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgfVxuICAuZ2FwLXktM3hsXFxAeGwge1xuICAgIC0tcm93LWdhcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgfVxuICAuZ2FwLTR4bFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgLS1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIGdhcDogdmFyKC0tcm93LWdhcCkgdmFyKC0tY29sdW1uLWdhcCk7XG4gIH1cbiAgLmdhcC14LTR4bFxcQHhsIHtcbiAgICAtLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICB9XG4gIC5nYXAteS00eGxcXEB4bCB7XG4gICAgLS1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00eGwpO1xuICAgIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICB9XG4gIC5nYXAtMFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IDBweDtcbiAgICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgICBnYXA6IDBweDtcbiAgfVxuICAuZ2FwLXgtMFxcQHhsIHtcbiAgICAtLWNvbHVtbi1nYXA6IDBweDtcbiAgICAtbW96LWNvbHVtbi1nYXA6IDBweDtcbiAgICAgICAgIGNvbHVtbi1nYXA6IDBweDtcbiAgfVxuICAuZ2FwLXktMFxcQHhsIHtcbiAgICAtLXJvdy1nYXA6IDBweDtcbiAgICByb3ctZ2FwOiAwcHg7XG4gIH1cbiAgLyogZmxleGJveCAqL1xuICAuZmxleFxcQHhsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5pbmxpbmUtZmxleFxcQHhsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuICAuZmxleC13cmFwXFxAeGwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuZmxleC1ub3dyYXBcXEB4bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmZsZXgtY29sdW1uXFxAeGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmZsZXgtY29sdW1uLXJldmVyc2VcXEB4bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC5mbGV4LXJvd1xcQHhsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5mbGV4LXJvdy1yZXZlcnNlXFxAeGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAuZmxleC1jZW50ZXJcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuZmxleC1ncm93XFxAeGwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuZmxleC1ncm93LTBcXEB4bCB7XG4gICAgZmxleC1ncm93OiAwO1xuICB9XG4gIC5mbGV4LXNocmlua1xcQHhsIHtcbiAgICBmbGV4LXNocmluazogMTtcbiAgfVxuICAuZmxleC1zaHJpbmstMFxcQHhsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuZmxleC1iYXNpcy0wXFxAeGwge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gIH1cbiAgLyoganVzdGlmeS1jb250ZW50ICovXG4gIC5qdXN0aWZ5LXN0YXJ0XFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmp1c3RpZnktZW5kXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICB9XG4gIC5qdXN0aWZ5LWNlbnRlclxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuanVzdGlmeS1iZXR3ZWVuXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAvKiBhbGlnbi1pdGVtcyAqL1xuICAuaXRlbXMtY2VudGVyXFxAeGwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLml0ZW1zLXN0YXJ0XFxAeGwge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxuICAuaXRlbXMtZW5kXFxAeGwge1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIH1cbiAgLml0ZW1zLWJhc2VsaW5lXFxAeGwge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgfVxuICAuaXRlbXMtc3RyZXRjaFxcQHhsIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICAvKiBhbGlnbi1jb250ZW50ICovXG4gIC5jb250ZW50LXN0YXJ0XFxAeGwge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG4gIC5jb250ZW50LWVuZFxcQHhsIHtcbiAgICBhbGlnbi1jb250ZW50OiBlbmQ7XG4gIH1cbiAgLmNvbnRlbnQtY2VudGVyXFxAeGwge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuY29udGVudC1iZXR3ZWVuXFxAeGwge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLyogb3JkZXIgKi9cbiAgLm9yZGVyLTFcXEB4bCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm9yZGVyLTJcXEB4bCB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLTNcXEB4bCB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLyogZGlzcGxheSAqL1xuICAuYmxvY2tcXEB4bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlubGluZS1ibG9ja1xcQHhsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmlubGluZVxcQHhsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmNvbnRlbnRzXFxAeGwge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5jc3MtZ3JpZFxcQHhsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIC5jc3MtaW5saW5lLWdyaWRcXEB4bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIH1cbiAgLmhpZGVcXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAvKiBtYXJnaW4gKi9cbiAgLm1hcmdpbi00eHNcXEB4bCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tM3hzXFxAeGwge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLTJ4c1xcQHhsIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi14c1xcQHhsIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXNtXFxAeGwge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tbWRcXEB4bCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1sZ1xcQHhsIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXhsXFxAeGwge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tMnhsXFxAeGwge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLTN4bFxcQHhsIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi00eGxcXEB4bCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5tYXJnaW4tYXV0b1xcQHhsIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLm1hcmdpbi0wXFxAeGwge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubWFyZ2luLXktNHhzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXgtNHhzXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAubWFyZ2luLXktM3hzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXgtM3hzXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAubWFyZ2luLXktMnhzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXgtMnhzXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubWFyZ2luLXkteHNcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXgteHNcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAubWFyZ2luLXktc21cXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXgtc21cXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXktbWRcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXgtbWRcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLXktbGdcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXgtbGdcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAubWFyZ2luLXkteGxcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXgteGxcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXktMnhsXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXgtMnhsXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXktM3hsXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXgtM3hsXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXktNHhsXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXgtNHhsXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXktYXV0b1xcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cbiAgLm1hcmdpbi15LTBcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5tYXJnaW4teC1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubWFyZ2luLXgtMFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm1hcmdpbi10b3AtNHhzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC00eHNcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTR4c1xcQHhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC00eHNcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AtM3hzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0zeHNcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTN4c1xcQHhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0zeHNcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AtMnhzXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0yeHNcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLTJ4c1xcQHhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0yeHNcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLm1hcmdpbi10b3AteHNcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQteHNcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20teHNcXEB4bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC14c1xcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5tYXJnaW4tdG9wLXNtXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LXNtXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLXNtXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLWxlZnQtc21cXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubWFyZ2luLXRvcC1tZFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1yaWdodC1tZFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1tZFxcQHhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LW1kXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLm1hcmdpbi10b3AtbGdcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtbGdcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tbGdcXEB4bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1sZ1xcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5tYXJnaW4tdG9wLXhsXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LXhsXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICB9XG4gIC5tYXJnaW4tYm90dG9tLXhsXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLWxlZnQteGxcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC0yeGxcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTJ4bFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMnhsXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTJ4bFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC0zeGxcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTN4bFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tM3hsXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTN4bFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubWFyZ2luLXRvcC00eGxcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXJpZ2h0LTR4bFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tNHhsXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLm1hcmdpbi1sZWZ0LTR4bFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAubWFyZ2luLXRvcC1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi10b3AtMFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5tYXJnaW4tcmlnaHQtYXV0b1xcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1yaWdodC0wXFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWFyZ2luLWJvdHRvbS1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cbiAgLm1hcmdpbi1ib3R0b20tMFxcQHhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5tYXJnaW4tbGVmdC1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC5tYXJnaW4tbGVmdC0wXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC8qIHBhZGRpbmcgKi9cbiAgLnBhZGRpbmctNHhzXFxAeGwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctM3hzXFxAeGwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctMnhzXFxAeGwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteHNcXEB4bCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5wYWRkaW5nLXNtXFxAeGwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1tZFxcQHhsIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctbGdcXEB4bCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5wYWRkaW5nLXhsXFxAeGwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy0yeGxcXEB4bCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhsKTtcbiAgfVxuICAucGFkZGluZy0zeGxcXEB4bCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy00eGxcXEB4bCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy0wXFxAeGwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhZGRpbmcteS00eHNcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC00eHNcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS0zeHNcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC0zeHNcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS0yeHNcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteC0yeHNcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gIH1cbiAgLnBhZGRpbmcteS14c1xcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmcteC14c1xcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmcteS1zbVxcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmcteC1zbVxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmcteS1tZFxcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmcteC1tZFxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmcteS1sZ1xcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteC1sZ1xcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmcteS14bFxcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteGwpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmcteC14bFxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0yeGxcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC0yeGxcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0zeGxcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC0zeGxcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS00eGxcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmcteC00eGxcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnBhZGRpbmcteS0wXFxAeGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5wYWRkaW5nLXgtMFxcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAucGFkZGluZy10b3AtNHhzXFxAeGwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTR4c1xcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS00eHNcXEB4bCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC00eHNcXEB4bCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00eHMpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0zeHNcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtM3hzXFxAeGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTN4c1xcQHhsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hzKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTN4c1xcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTJ4c1xcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC0yeHNcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tMnhzXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtMnhzXFxAeGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucGFkZGluZy10b3AteHNcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC14c1xcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXhzXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC14c1xcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgfVxuICAucGFkZGluZy10b3Atc21cXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1zbVxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXNtXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1zbVxcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAucGFkZGluZy10b3AtbWRcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1tZFxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLW1kXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1tZFxcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucGFkZGluZy10b3AtbGdcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC1sZ1xcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLWxnXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC1sZ1xcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgfVxuICAucGFkZGluZy10b3AteGxcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC14bFxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXhsXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC14bFxcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAucGFkZGluZy10b3AtMnhsXFxAeGwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LTJ4bFxcQHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLWJvdHRvbS0yeGxcXEB4bCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0yeGxcXEB4bCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5wYWRkaW5nLXRvcC0zeGxcXEB4bCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctcmlnaHQtM3hsXFxAeGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTN4bFxcQHhsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTN4bFxcQHhsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTN4bCk7XG4gIH1cbiAgLnBhZGRpbmctdG9wLTR4bFxcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy1yaWdodC00eGxcXEB4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy1ib3R0b20tNHhsXFxAeGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00eGwpO1xuICB9XG4gIC5wYWRkaW5nLWxlZnQtNHhsXFxAeGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAucGFkZGluZy10b3AtMFxcQHhsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAucGFkZGluZy1yaWdodC0wXFxAeGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLTBcXEB4bCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBhZGRpbmctbGVmdC0wXFxAeGwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAvKiB0ZXh0LWFsaWduICovXG4gIC50ZXh0LWNlbnRlclxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRleHQtbGVmdFxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC50ZXh0LWp1c3RpZnlcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxuICAvKiBmb250LXNpemUgKi9cbiAgLnRleHQteHNcXEB4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbiAgfVxuICAudGV4dC1zbVxcQHhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICB9XG4gIC50ZXh0LWJhc2VcXEB4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWJhc2UpO1xuICB9XG4gIC50ZXh0LW1kXFxAeGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1tZCk7XG4gIH1cbiAgLnRleHQtbGdcXEB4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgfVxuICAudGV4dC14bFxcQHhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteGwpO1xuICB9XG4gIC50ZXh0LTJ4bFxcQHhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtMnhsKTtcbiAgfVxuICAudGV4dC0zeGxcXEB4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTN4bCk7XG4gIH1cbiAgLnRleHQtNHhsXFxAeGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC00eGwpO1xuICB9XG4gIC8qIGNvbHVtbi1jb3VudCAqL1xuICAuY29sdW1uLWNvdW50LTFcXEB4bCB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDE7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG4gIH1cbiAgLmNvbHVtbi1jb3VudC0yXFxAeGwge1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC5jb2x1bW4tY291bnQtM1xcQHhsIHtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxuICAuY29sdW1uLWNvdW50LTRcXEB4bCB7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLyogd2lkdGggKi9cbiAgLndpZHRoLTR4c1xcQHhsIHtcbiAgICB3aWR0aDogMC4yNXJlbTtcbiAgfVxuICAud2lkdGgtM3hzXFxAeGwge1xuICAgIHdpZHRoOiAwLjVyZW07XG4gIH1cbiAgLndpZHRoLTJ4c1xcQHhsIHtcbiAgICB3aWR0aDogMC43NXJlbTtcbiAgfVxuICAud2lkdGgteHNcXEB4bCB7XG4gICAgd2lkdGg6IDFyZW07XG4gIH1cbiAgLndpZHRoLXNtXFxAeGwge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gIH1cbiAgLndpZHRoLW1kXFxAeGwge1xuICAgIHdpZHRoOiAycmVtO1xuICB9XG4gIC53aWR0aC1sZ1xcQHhsIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgfVxuICAud2lkdGgteGxcXEB4bCB7XG4gICAgd2lkdGg6IDRyZW07XG4gIH1cbiAgLndpZHRoLTJ4bFxcQHhsIHtcbiAgICB3aWR0aDogNnJlbTtcbiAgfVxuICAud2lkdGgtM3hsXFxAeGwge1xuICAgIHdpZHRoOiA4cmVtO1xuICB9XG4gIC53aWR0aC00eGxcXEB4bCB7XG4gICAgd2lkdGg6IDE2cmVtO1xuICB9XG4gIC53aWR0aC0wXFxAeGwge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC53aWR0aC0xMFxcJVxcQHhsIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC53aWR0aC0yMFxcJVxcQHhsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC53aWR0aC0yNVxcJVxcQHhsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC53aWR0aC0zMFxcJVxcQHhsIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC53aWR0aC0zM1xcJVxcQHhsIHtcbiAgICB3aWR0aDogMzMlO1xuICB9XG4gIC53aWR0aC00MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC53aWR0aC01MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC53aWR0aC02MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC53aWR0aC03MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC53aWR0aC03NVxcJVxcQHhsIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC53aWR0aC04MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC53aWR0aC05MFxcJVxcQHhsIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC53aWR0aC0xMDBcXCVcXEB4bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLndpZHRoLTEwMFxcJVxcQHhsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAud2lkdGgtMTAwdndcXEB4bCB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC53aWR0aC1hdXRvXFxAeGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC53aWR0aC1pbmhlcml0XFxAeGwge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICB9XG4gIC53aWR0aC0wXFxAeGwge1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC8qIGhlaWdodCAqL1xuICAuaGVpZ2h0LTR4c1xcQHhsIHtcbiAgICBoZWlnaHQ6IDAuMjVyZW07XG4gIH1cbiAgLmhlaWdodC0zeHNcXEB4bCB7XG4gICAgaGVpZ2h0OiAwLjVyZW07XG4gIH1cbiAgLmhlaWdodC0yeHNcXEB4bCB7XG4gICAgaGVpZ2h0OiAwLjc1cmVtO1xuICB9XG4gIC5oZWlnaHQteHNcXEB4bCB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICB9XG4gIC5oZWlnaHQtc21cXEB4bCB7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmhlaWdodC1tZFxcQHhsIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gIH1cbiAgLmhlaWdodC1sZ1xcQHhsIHtcbiAgICBoZWlnaHQ6IDNyZW07XG4gIH1cbiAgLmhlaWdodC14bFxcQHhsIHtcbiAgICBoZWlnaHQ6IDRyZW07XG4gIH1cbiAgLmhlaWdodC0yeGxcXEB4bCB7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICB9XG4gIC5oZWlnaHQtM3hsXFxAeGwge1xuICAgIGhlaWdodDogOHJlbTtcbiAgfVxuICAuaGVpZ2h0LTR4bFxcQHhsIHtcbiAgICBoZWlnaHQ6IDE2cmVtO1xuICB9XG4gIC5oZWlnaHQtMFxcQHhsIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgLmhlaWdodC0xMFxcJVxcQHhsIHtcbiAgICBoZWlnaHQ6IDEwJTtcbiAgfVxuICAuaGVpZ2h0LTIwXFwlXFxAeGwge1xuICAgIGhlaWdodDogMjAlO1xuICB9XG4gIC5oZWlnaHQtMjVcXCVcXEB4bCB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmhlaWdodC0zMFxcJVxcQHhsIHtcbiAgICBoZWlnaHQ6IDMwJTtcbiAgfVxuICAuaGVpZ2h0LTMzXFwlXFxAeGwge1xuICAgIGhlaWdodDogMzMlO1xuICB9XG4gIC5oZWlnaHQtNDBcXCVcXEB4bCB7XG4gICAgaGVpZ2h0OiA0MCU7XG4gIH1cbiAgLmhlaWdodC01MFxcJVxcQHhsIHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuaGVpZ2h0LTYwXFwlXFxAeGwge1xuICAgIGhlaWdodDogNjAlO1xuICB9XG4gIC5oZWlnaHQtNzBcXCVcXEB4bCB7XG4gICAgaGVpZ2h0OiA3MCU7XG4gIH1cbiAgLmhlaWdodC03NVxcJVxcQHhsIHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuaGVpZ2h0LTgwXFwlXFxAeGwge1xuICAgIGhlaWdodDogODAlO1xuICB9XG4gIC5oZWlnaHQtOTBcXCVcXEB4bCB7XG4gICAgaGVpZ2h0OiA5MCU7XG4gIH1cbiAgLmhlaWdodC0xMDBcXCVcXEB4bCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZWlnaHQtMTAwXFwlXFxAeGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaGVpZ2h0LTEwMHZoXFxAeGwge1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbiAgLmhlaWdodC1hdXRvXFxAeGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuaGVpZ2h0LWluaGVyaXRcXEB4bCB7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIC5oZWlnaHQtMFxcQHhsIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgLyogbWF4LXdpZHRoICovXG4gIC5tYXgtd2lkdGgtNXhzXFxAeGwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTV4cyk7XG4gIH1cbiAgLm1heC13aWR0aC00eHNcXEB4bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtNHhzKTtcbiAgfVxuICAubWF4LXdpZHRoLTN4c1xcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeHMpO1xuICB9XG4gIC5tYXgtd2lkdGgtMnhzXFxAeGwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTJ4cyk7XG4gIH1cbiAgLm1heC13aWR0aC14c1xcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14cyk7XG4gIH1cbiAgLm1heC13aWR0aC1zbVxcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1zbSk7XG4gIH1cbiAgLm1heC13aWR0aC1tZFxcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1tZCk7XG4gIH1cbiAgLm1heC13aWR0aC1sZ1xcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC1sZyk7XG4gIH1cbiAgLm1heC13aWR0aC14bFxcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC14bCk7XG4gIH1cbiAgLm1heC13aWR0aC0yeGxcXEB4bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgtMnhsKTtcbiAgfVxuICAubWF4LXdpZHRoLTN4bFxcQHhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aC0zeGwpO1xuICB9XG4gIC5tYXgtd2lkdGgtNHhsXFxAeGwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoLTR4bCk7XG4gIH1cbiAgLm1heC13aWR0aC0xMDBcXCVcXEB4bCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5tYXgtd2lkdGgtbm9uZVxcQHhsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLyogcG9zaXRpb24gKi9cbiAgLnBvc2l0aW9uLXJlbGF0aXZlXFxAeGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucG9zaXRpb24tYWJzb2x1dGVcXEB4bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZFxcQHhsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnBvc2l0aW9uLXN0aWNreVxcQHhsIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICB9XG4gIC5wb3NpdGlvbi1zdGF0aWNcXEB4bCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuaW5zZXQtMFxcQHhsIHtcbiAgICBpbnNldDogMDtcbiAgfVxuICAudG9wLTR4c1xcQHhsIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnJpZ2h0LTR4c1xcQHhsIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtNHhzKTtcbiAgfVxuICAuYm90dG9tLTR4c1xcQHhsIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLmxlZnQtNHhzXFxAeGwge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTR4cyk7XG4gIH1cbiAgLnRvcC0zeHNcXEB4bCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5yaWdodC0zeHNcXEB4bCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gIH1cbiAgLmJvdHRvbS0zeHNcXEB4bCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC5sZWZ0LTN4c1xcQHhsIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICB9XG4gIC50b3AtMnhzXFxAeGwge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAucmlnaHQtMnhzXFxAeGwge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICB9XG4gIC5ib3R0b20tMnhzXFxAeGwge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAubGVmdC0yeHNcXEB4bCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgfVxuICAudG9wLXhzXFxAeGwge1xuICAgIHRvcDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5yaWdodC14c1xcQHhsIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC5ib3R0b20teHNcXEB4bCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gIH1cbiAgLmxlZnQteHNcXEB4bCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UteHMpO1xuICB9XG4gIC50b3Atc21cXEB4bCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnJpZ2h0LXNtXFxAeGwge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLmJvdHRvbS1zbVxcQHhsIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgfVxuICAubGVmdC1zbVxcQHhsIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gIH1cbiAgLnRvcC1tZFxcQHhsIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAucmlnaHQtbWRcXEB4bCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAuYm90dG9tLW1kXFxAeGwge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG4gIC5sZWZ0LW1kXFxAeGwge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxuICAudG9wLWxnXFxAeGwge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5yaWdodC1sZ1xcQHhsIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC5ib3R0b20tbGdcXEB4bCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG4gIH1cbiAgLmxlZnQtbGdcXEB4bCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtbGcpO1xuICB9XG4gIC50b3AteGxcXEB4bCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnJpZ2h0LXhsXFxAeGwge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLmJvdHRvbS14bFxcQHhsIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbiAgfVxuICAubGVmdC14bFxcQHhsIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS14bCk7XG4gIH1cbiAgLnRvcC0yeGxcXEB4bCB7XG4gICAgdG9wOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5yaWdodC0yeGxcXEB4bCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTJ4bCk7XG4gIH1cbiAgLmJvdHRvbS0yeGxcXEB4bCB7XG4gICAgYm90dG9tOiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC5sZWZ0LTJ4bFxcQHhsIHtcbiAgICBsZWZ0OiB2YXIoLS1zcGFjZS0yeGwpO1xuICB9XG4gIC50b3AtM3hsXFxAeGwge1xuICAgIHRvcDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAucmlnaHQtM3hsXFxAeGwge1xuICAgIHJpZ2h0OiB2YXIoLS1zcGFjZS0zeGwpO1xuICB9XG4gIC5ib3R0b20tM3hsXFxAeGwge1xuICAgIGJvdHRvbTogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAubGVmdC0zeGxcXEB4bCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtM3hsKTtcbiAgfVxuICAudG9wLTR4bFxcQHhsIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnJpZ2h0LTR4bFxcQHhsIHtcbiAgICByaWdodDogdmFyKC0tc3BhY2UtNHhsKTtcbiAgfVxuICAuYm90dG9tLTR4bFxcQHhsIHtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLmxlZnQtNHhsXFxAeGwge1xuICAgIGxlZnQ6IHZhcigtLXNwYWNlLTR4bCk7XG4gIH1cbiAgLnRvcC01MFxcJVxcQHhsIHtcbiAgICB0b3A6IDUwJTtcbiAgfVxuICAudG9wLWF1dG9cXEB4bCB7XG4gICAgdG9wOiBhdXRvO1xuICB9XG4gIC50b3AtMFxcQHhsIHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnJpZ2h0LTUwXFwlXFxAeGwge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLnJpZ2h0LWF1dG9cXEB4bCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnJpZ2h0LTBcXEB4bCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmJvdHRvbS01MFxcJVxcQHhsIHtcbiAgICBib3R0b206IDUwJTtcbiAgfVxuICAuYm90dG9tLWF1dG9cXEB4bCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG4gIC5ib3R0b20tMFxcQHhsIHtcbiAgICBib3R0b206IDA7XG4gIH1cbiAgLmxlZnQtNTBcXCVcXEB4bCB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIC5sZWZ0LWF1dG9cXEB4bCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAubGVmdC0wXFxAeGwge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLyogb3ZlcmZsb3cgKi9cbiAgLm92ZXJmbG93LXZpc2libGVcXEB4bCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm92ZXJmbG93LWhpZGRlblxcQHhsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5vdmVyZmxvdy1hdXRvXFxAeGwge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIC5tb21lbnR1bS1zY3JvbGxpbmdcXEB4bCB7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC8qIHZpc2liaWxpdHkgKi9cbiAgLnZpc2libGVcXEB4bCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuaW52aXNpYmxlXFxAeGwge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4td2lkdGg6IDkwcmVtKSB7XG4gIC5kaXNwbGF5XFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogaG92ZXIgKi9cbi5ob3ZlclxcOnJlZHVjZS1vcGFjaXR5IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5ob3ZlclxcOnJlZHVjZS1vcGFjaXR5OmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uaG92ZXJcXDpzY2FsZSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIHZhcigtLWVhc2Utb3V0LWJhY2spO1xufVxuLmhvdmVyXFw6c2NhbGU6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5ob3ZlclxcOmVsZXZhdGUge1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuLmhvdmVyXFw6ZWxldmF0ZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi8qIHRleHQgc3R5bGVzICovXG4ubGluay1zdWJ0bGUge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG4ubGluay1zdWJ0bGU6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cblxuIC5wYWdlLXVzZXItZ3VpZGUgIC5jb250ZW50LXdyYXBwZXIsIC5yaWdodC1zaWRlLCAubWFpbi1mb290ZXJ7XG4gIG1hcmdpbjowO1xuIH1cbi5jb250YWluZXItd2lkZSAjbWFpbmNvbnRlbnQge3BhZGRpbmc6MDsgbWFyZ2luOjB9XG4gLnBhZ2UtdXNlci1ndWlkZSAgLmNvbnRhaW5lciB7d2lkdGg6MTAwJTsgcGFkZGluZzowOyBtYXJnaW46MH0iXSwiZmlsZSI6ImxvY2FsL3VzZXItZ3VpZGUvY3NzL3N0eWxlLmNzcyJ9 */