/*!*******************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/normalize.css/normalize.css ***!
  \*******************************************************************************************************************************************************************************************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*!*************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/styles/styles.scss ***!
  \*************************************************************************************************************************************************************************/
* {
  font-family: 'Roboto', Arial, sans-serif; }

span,
button,
h1,
h2,
h3,
h4,
h5,
h6,
a {
  color: #121212; }

html,
body {
  font-size: 16px;
  margin: 0px;
  padding: 0px; }

a {
  text-decoration: none; }

a,
button {
  cursor: pointer; }

.reuseable__wrapper {
  padding: 0rem 8rem; }
  .reuseable__wrapper > h1 {
    border-bottom: 4px solid #20b2aa;
    width: fit-content;
    padding-bottom: 0.2rem;
    margin-bottom: 0rem;
    margin-top: 0rem;
    padding-top: 1.2rem;
    letter-spacing: 4px;
    font-weight: 500; }
  @media (max-width: 30rem) {
    .reuseable__wrapper {
      padding: 0rem 2rem; } }
  @media (min-width: 30rem) and (max-width: 64rem) {
    .reuseable__wrapper {
      padding: 0rem 4rem; } }
  @media (min-width: 100rem) and (max-width: 120rem) {
    .reuseable__wrapper {
      padding: 0rem 16rem; } }
  @media (min-width: 120rem) {
    .reuseable__wrapper {
      padding: 0rem 25rem; } }

.reuseable__wrapper__divider {
  border: 1px solid #ccc;
  width: 90%;
  margin-left: 4rem;
  margin-top: 1rem; }
  @media (max-width: 48rem) {
    .reuseable__wrapper__divider {
      margin-left: 1rem; } }

.reuseable__wrapper__dark__mode {
  background-color: #2b2b2b; }
  .reuseable__wrapper__dark__mode label,
  .reuseable__wrapper__dark__mode h1,
  .reuseable__wrapper__dark__mode span,
  .reuseable__wrapper__dark__mode h4,
  .reuseable__wrapper__dark__mode p,
  .reuseable__wrapper__dark__mode h3,
  .reuseable__wrapper__dark__mode li {
    color: #ebeeee; }
  .reuseable__wrapper__dark__mode h1 {
    border-color: #00d7fd; }

.reuseable__iconbutton {
  width: 2.6rem;
  cursor: pointer; }

.reuseable__input__container {
  display: flex;
  align-items: center;
  gap: 4rem;
  justify-content: space-between; }
  .reuseable__input__container label {
    font-size: 1.2rem;
    display: inline-block;
    letter-spacing: 1px;
    font-weight: 500; }
  .reuseable__input__container input {
    padding: 0.4rem;
    font-size: 1.2rem;
    outline: none;
    width: 20rem; }
    @media (max-width: 48rem) {
      .reuseable__input__container input {
        width: 100%; } }
  @media (max-width: 48rem) {
    .reuseable__input__container {
      flex-direction: column;
      gap: 1rem;
      align-items: flex-start; } }

.label__required::after {
  content: '*';
  color: red; }

.nav__container__browser {
  display: flex;
  padding: 1rem;
  box-shadow: 0 4px 10px -4px #121212;
  transition: top 0.1 0.5s ease-in-out;
  background: #fcfcfc;
  position: sticky;
  top: 0px;
  z-index: 5; }
  .nav__container__browser nav {
    margin: auto;
    width: fit-content;
    display: flex;
    gap: 2rem; }
  @media (max-width: 48rem) {
    .nav__container__browser {
      display: none; } }

.navbar__link {
  font-family: 'Baloo Bhaina 2', 'Roboto', Arial, sans-serif;
  border: 2px solid transparent;
  padding: 0.4rem 0.6rem;
  font-weight: 500;
  transition: 75ms letter-spacing ease-in-out; }
  .navbar__link:hover {
    letter-spacing: 2px; }

.navbar__link__onActive {
  border-color: #121212; }
  .navbar__link__onActive:hover {
    letter-spacing: 0px; }

.navbar__link__onActive__dark__mode {
  border-color: #ebeeee; }

.nav__browser__dark__mode {
  background: #2b2b2b;
  box-shadow: 0 2px 8px -3px #fcfcfc; }
  .nav__browser__dark__mode a {
    color: #ebeeee; }

.nav__mode__change__button > svg {
  filter: invert(0.5); }
  .nav__mode__change__button > svg:hover {
    filter: invert(0); }

.nav__mode__change__button__dark__mode > svg {
  filter: invert(0); }
  .nav__mode__change__button__dark__mode > svg:hover {
    filter: invert(0.5); }

.nav__mode__change__button--mode_effect:hover {
  filter: invert(1); }

.burger__nav__container {
  display: none;
  flex-direction: column;
  height: 0px; }
  .burger__nav__container nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    top: 0;
    width: 100%;
    background: #121212;
    padding: 2rem 0rem;
    gap: 1rem;
    z-index: 5;
    opacity: 0.8;
    transform: rotateX(90deg);
    transform-origin: top;
    transition: 250ms transform ease-in-out; }
  @media (max-width: 48rem) {
    .burger__nav__container {
      display: flex; }
      .burger__nav__container > nav > a {
        color: #fcfcfc; } }

#burgermenu__checkbox {
  width: 2rem;
  height: 2rem;
  opacity: 0;
  cursor: pointer; }
  #burgermenu__checkbox:checked ~ div.burgerlines__container > div.burger__lines {
    border: none; }
    #burgermenu__checkbox:checked ~ div.burgerlines__container > div.burger__lines::before {
      border-color: #fcfcfc;
      transform: rotate(-45deg); }
    #burgermenu__checkbox:checked ~ div.burgerlines__container > div.burger__lines::after {
      border-color: #fcfcfc;
      transform: rotate(45deg); }

.burgerlines__container {
  width: 2rem;
  height: 2rem;
  position: absolute;
  transform: translate(0px, -32px);
  z-index: -1; }

.burger__lines {
  border-bottom: 2px solid #121212;
  transform: translate(0px, 5px); }
  .burger__lines::after, .burger__lines::before {
    content: '';
    position: absolute;
    border-top: 2px solid #121212;
    width: 100%;
    transition: all 0.4s ease; }
  .burger__lines::after {
    transform: translate(0px, 20px); }
  .burger__lines::before {
    transform: translate(0px, 10px); }

.nav__mobile {
  width: fit-content;
  margin-right: 2rem;
  margin-top: 2rem;
  isolation: isolate;
  position: fixed;
  top: 0;
  z-index: 6;
  right: 0px; }

.show__burger__nav {
  transform: rotateX(0deg) !important; }

.custom__arrow__button {
  display: flex;
  align-items: center;
  border: 2px solid #fcfcfc;
  width: fit-content;
  padding: 0.6rem;
  padding-left: 1.4rem;
  padding-right: 0rem;
  cursor: pointer; }
  .custom__arrow__button span {
    color: #fcfcfc;
    font-size: 1.2rem;
    letter-spacing: 4px;
    font-weight: 500; }
  .custom__arrow__button > :nth-child(2) {
    opacity: 0;
    font-size: 1.4rem;
    transform: rotate(90deg);
    transition: transform 200ms ease-in-out 50ms, opacity 50ms ease-in-out; }
  .custom__arrow__button:hover {
    border-color: #075797; }
    .custom__arrow__button:hover span {
      color: #075797; }
    .custom__arrow__button:hover > :nth-child(2) {
      opacity: 1;
      transform: rotate(0deg); }

.arrow__rotate__bottom > :nth-child(2) {
  transform: rotate(0deg); }

.arrow__rotate__bottom:hover > :nth-child(2) {
  transform: rotate(90deg); }

.icon__link {
  width: fit-content; }
  .icon__link svg {
    width: 2rem;
    margin-right: 1rem; }
    .icon__link svg:hover {
      transform: scale(1.1); }

.arrow__link {
  padding: 0.4rem;
  padding-left: 1.2rem;
  border: 2px solid #121212;
  background: transparent;
  transition: 600ms box-shadow ease-in-out, 600ms color ease-in-out;
  box-shadow: inset 0 0 0 0 #121212; }
  .arrow__link div {
    display: flex;
    align-items: center;
    gap: 0.2rem; }
    .arrow__link div :nth-child(1) {
      font-weight: 500; }
  .arrow__link:hover {
    box-shadow: inset 400px 0 0 0 #121212; }
    .arrow__link:hover div span {
      color: #fcfcfc; }
    .arrow__link:hover span.arrow {
      opacity: 1;
      animation: moveArrow 1s ease-in-out;
      animation-direction: alternate;
      animation-iteration-count: infinite; }

.arrow {
  opacity: 0;
  position: relative;
  left: 0px;
  color: #121212;
  transition: 250ms opacity ease 300ms;
  font-size: 1.2rem; }

@keyframes moveArrow {
  from {
    left: 0px; }
  to {
    left: 6px; } }

.home__component {
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  height: 100vh;
  justify-content: center;
  position: relative;
  background: url(cc8ae12a3ea2cc9f0b20.jpg);
  background-size: 100% 100%; }
  .home__component h1 {
    letter-spacing: 6px; }
  .home__component h1,
  .home__component h3 {
    margin: 0px;
    font-size: 4rem;
    color: #fcfcfc; }
  .home__component h3 {
    border-right: 2px solid #fcfcfc;
    letter-spacing: 4px;
    width: 0rem;
    overflow: hidden;
    white-space: nowrap;
    animation: typing 4s steps(45, end), blink-caret 0.75s step-end infinite;
    animation-fill-mode: forwards;
    animation-delay: 3500ms; }
    @media (max-width: 48rem) {
      .home__component h3 {
        animation: none;
        text-align: center;
        white-space: normal;
        width: min-content;
        border: none; } }
  .home__component::after {
    content: '';
    position: absolute;
    background: darkgray;
    inset: 0;
    z-index: -1;
    mix-blend-mode: multiply; }
  @media (max-width: 48rem) {
    .home__component {
      height: fit-content;
      background: url(df657e0814c374fe485a.jpg);
      background-size: cover;
      background-position-x: right;
      padding-bottom: 2rem;
      padding-top: 4rem; } }
  @media (min-width: 48rem) and (max-width: 64rem) {
    .home__component {
      background: url(df657e0814c374fe485a.jpg);
      background-position: right;
      background-size: cover;
      height: auto;
      padding: 4rem 0rem; } }

.home__component__aboutme {
  width: 52rem;
  text-align: center; }
  .home__component__aboutme p {
    color: #fcfcfc;
    font-size: 1.4rem;
    word-spacing: 6px;
    line-height: 1.4;
    letter-spacing: 2px;
    font-weight: bold; }
    @media (max-width: 48rem) {
      .home__component__aboutme p {
        display: none; } }
  @media (max-width: 64rem) {
    .home__component__aboutme {
      width: fit-content;
      padding: 0rem 1rem; } }

.home__component__buttons {
  display: flex;
  gap: 4rem; }
  @media (max-width: 48rem) {
    .home__component__buttons {
      gap: 2rem;
      flex-direction: column;
      align-items: center; } }

.email__color path:nth-child(1) {
  fill: #a52a2a; }

@keyframes typing {
  from {
    width: 0rem; }
  to {
    width: 46rem; } }

@keyframes typing__mobile {
  from {
    width: 0rem; }
  to {
    width: 24rem; } }

@keyframes blink-caret {
  from,
  to {
    border-color: transparent; }
  50% {
    border-color: #fcfcfc; } }

.home__screen {
  position: absolute;
  width: 100%;
  height: 100vh; }

.experiences__component__container {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column;
  padding-top: 1rem; }

.experiences__component__experience h1 {
  margin: 0rem;
  font-weight: 400;
  letter-spacing: 2px; }
  .experiences__component__experience h1:hover {
    color: #008b8b;
    cursor: pointer; }

.experiences__component__experience ul {
  max-height: 0rem;
  transform: rotateX(90deg);
  transform-origin: top;
  transition: all 300ms ease-in; }
  .experiences__component__experience ul li {
    font-size: 1.2rem;
    margin-bottom: 0.6rem;
    letter-spacing: 1px;
    max-width: 39.5rem; }
    @media (max-width: 64rem) {
      .experiences__component__experience ul li {
        max-width: 33.5rem; } }

@media (max-width: 64rem) {
  .experiences__component__experience {
    margin-top: 1rem; } }

.show {
  transform: rotateX(0deg) !important;
  max-height: 28rem !important; }
  @media (max-width: 64rem) {
    .show {
      max-height: 58rem !important; } }

.experience__detail {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 0.4rem; }
  .experience__detail h4 {
    margin: 0rem;
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: 4px; }
  .experience__detail span {
    letter-spacing: 2px;
    font-style: italic; }
  @media (max-width: 48rem) {
    .experience__detail {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.2rem;
      margin-bottom: 1.6rem; } }

.progress__bar__component {
  padding: 1rem 18rem;
  box-shadow: inset 0rem 0 0 0 red;
  transition: 800ms box-shadow ease-in-out, 50ms color ease;
  margin-top: 0.6rem;
  background-color: #ccc; }
  @media (max-width: 30rem) {
    .progress__bar__component {
      padding: 1rem 9rem; } }

.skills__component__container {
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
  align-items: flex-end;
  gap: 2rem; }
  @media (max-width: 48rem) {
    .skills__component__container {
      align-items: center; } }

.skills__component__skill {
  display: flex;
  align-items: center;
  gap: 1rem; }
  .skills__component__skill svg {
    width: 5rem;
    height: 5rem; }
  @media (max-width: 64rem) {
    .skills__component__skill {
      flex-direction: column;
      align-items: flex-start; } }

.skills__component__skill__details span {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 2px; }

.express__dark__mode {
  filter: invert(1); }

.mongoose__dark__mode {
  fill: #ff0000; }

.skill__v2 {
  display: flex; }

.skills__v2__component__container {
  display: grid;
  flex-basis: 100%;
  width: 100%;
  gap: 2rem;
  padding: 4rem 0rem;
  grid-template-columns: repeat(4, 1fr);
  transition: all 200ms ease 50ms; }
  @media (max-width: 48rem) {
    .skills__v2__component__container {
      grid-template-columns: repeat(2, 1fr); } }

.skills__v2__component__container__onHighlight {
  flex-basis: 75%; }
  @media (max-width: 63rem) {
    .skills__v2__component__container__onHighlight {
      width: 0px;
      flex-basis: 0%;
      overflow: hidden; } }

.skills__v2__component__skill {
  display: flex;
  justify-content: center;
  cursor: pointer;
  transition: transform 250ms ease-in; }
  .skills__v2__component__skill svg {
    width: 8rem;
    height: 8rem;
    pointer-events: none; }
  .skills__v2__component__skill:hover {
    transform: scale(1.15); }

.skills__v2__component__skill__highlight {
  width: 0px;
  transition: all 500ms ease;
  transform: rotateY(90deg);
  transform-origin: right;
  flex-grow: 1;
  padding-top: 4rem;
  overflow: hidden;
  transition: transform 250ms ease; }
  @media (max-width: 48rem) {
    .skills__v2__component__skill__highlight {
      padding-top: 1rem; } }
  .skills__v2__component__skill__highlight > ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 1.6rem; }
    .skills__v2__component__skill__highlight > ul > li[data-label="label"] {
      font-size: 2rem;
      border: 1px solid #121212;
      letter-spacing: 4px;
      padding: 12px 0px;
      width: 99%;
      text-align: center; }
    .skills__v2__component__skill__highlight > ul > li[data-label="description"] {
      display: none;
      max-width: 20rem;
      text-align: justify;
      align-self: flex-end;
      font-size: 1rem;
      letter-spacing: 1px;
      line-height: 1.6; }
      @media (max-width: 63rem) {
        .skills__v2__component__skill__highlight > ul > li[data-label="description"] {
          font-size: 1.4rem;
          max-width: fit-content; } }

.close__highlight {
  align-self: flex-end; }
  .close__highlight > svg {
    width: 1.6rem;
    height: 1.6rem;
    cursor: pointer; }

.skill__highlight__experience {
  display: flex;
  justify-content: space-between;
  width: 100%; }
  .skill__highlight__experience span {
    font-size: 1.4rem;
    letter-spacing: 2px; }
  .skill__highlight__experience > div {
    display: flex;
    flex-direction: column;
    gap: 0.4rem; }

.experience__boxes {
  display: flex;
  gap: 0.6rem;
  justify-content: flex-end; }
  .experience__boxes > div {
    border: 1px solid #2196f3;
    padding: 8px;
    background-color: transparent; }

.display__skill__highlight {
  width: fit-content;
  transform: rotateY(0deg); }
  .display__skill__highlight li[data-label="description"] {
    display: inherit !important; }

.skill__highlight__icon > svg {
  width: 10rem;
  height: 10rem; }

.skill__highlight__border {
  border: 1px solid #ccc;
  width: 90%;
  margin-left: 4rem; }

.resume__component__container {
  display: flex;
  flex-direction: column;
  align-items: flex-end; }
  .resume__component__container h1 {
    margin: 0rem;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 2.2rem; }
  @media (max-width: 48rem) {
    .resume__component__container {
      margin-top: 1rem; } }

.resume__component__container__details {
  display: flex;
  gap: 2rem;
  margin-top: 1.4rem; }
  @media (max-width: 48rem) {
    .resume__component__container__details {
      gap: 0rem;
      flex-direction: column; } }

.resume__details__section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 48rem) {
    .resume__details__section__head {
      gap: 1rem;
      flex-direction: column; } }

.resume__details__section__body > div {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem; }
  .resume__details__section__body > div h2,
  .resume__details__section__body > div ul {
    margin: 0px;
    letter-spacing: 1px;
    font-weight: 400; }
  .resume__details__section__body > div li {
    letter-spacing: 0px;
    font-size: 1.2rem; }

.resume__details__extra {
  display: flex;
  gap: 4rem;
  justify-content: space-between; }
  .resume__details__extra > :nth-child(2) {
    list-style: none; }

.resume__extra--list li {
  margin-bottom: 0.2rem; }

.contact__component__container {
  display: flex;
  padding: 2rem 0rem;
  gap: 2rem; }
  @media (max-width: 48rem) {
    .contact__component__container {
      align-items: flex-start; } }
  @media (max-width: 63rem) {
    .contact__component__container {
      flex-direction: column-reverse; } }

.contact__component__form {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  flex-shrink: 0; }
  .contact__component__form textarea {
    resize: none;
    padding: 1rem 0rem;
    font-size: 1.4rem;
    outline: none;
    width: 21rem; }
    @media (max-width: 48rem) {
      .contact__component__form textarea {
        width: 100%; } }
  @media (max-width: 48rem) {
    .contact__component__form {
      gap: 2rem;
      width: 100%; } }

.contact__component__form__button {
  align-self: center;
  border: 2px solid #121212;
  font-size: 1.2rem;
  background: transparent;
  padding: 0.6rem 1rem; }
  .contact__component__form__button:hover {
    background: #121212;
    color: #fcfcfc; }

.form__button__dark__mode {
  color: #ebeeee;
  border-color: #ebeeee; }
  .form__button__dark__mode:hover {
    background: #ebeeee;
    color: #2b2b2b; }

.contact__component__extra__details {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-end; }
  .contact__component__extra__details p {
    text-align: end;
    letter-spacing: 2px;
    font-size: 1.4rem;
    margin: 0rem;
    font-weight: 400;
    line-height: 1.4; }
  .contact__component__extra__details div > h3:nth-child(1) {
    font-weight: 500;
    margin-bottom: 0.4rem; }
  .contact__component__extra__details div h3 {
    letter-spacing: 2px;
    text-align: end;
    margin: 0rem;
    font-weight: 400; }
  @media (max-width: 64rem) {
    .contact__component__extra__details {
      align-items: flex-start; }
      .contact__component__extra__details p,
      .contact__component__extra__details div > h3 {
        text-align: start; } }

.textarea__chrome {
  width: 20.5rem; }

.card__container {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  position: relative; }

.card__enlarge, .card__slides__container input:nth-child(1):checked + img, .card__slides__container input:nth-child(3):checked + img, .card__slides__container input:nth-child(5):checked + img {
  scale: 1.2;
  z-index: 4; }

.card__slides__container {
  height: 20rem;
  width: 18rem;
  margin-bottom: 2rem; }
  .card__slides__container img {
    transition: 250ms transform ease-in-out, 150ms scale ease-in-out 50ms; }
  .card__slides__container input:nth-child(1) {
    position: relative;
    transform: translate(110px, -40px); }
    .card__slides__container input:nth-child(1):hover {
      transform: translate(110px, -40px) scale(1.1); }
      .card__slides__container input:nth-child(1):hover + img {
        scale: 1.05; }
  .card__slides__container input:nth-child(3) {
    position: relative;
    transform: translate(100px, -40px); }
    .card__slides__container input:nth-child(3):hover {
      transform: translate(100px, -40px) scale(1.1); }
      .card__slides__container input:nth-child(3):hover + img {
        scale: 1.05; }
  .card__slides__container input:nth-child(5) {
    position: relative;
    transform: translate(90px, -40px); }
    .card__slides__container input:nth-child(5):hover {
      transform: translate(90px, -40px) scale(1.1); }
      .card__slides__container input:nth-child(5):hover + img {
        scale: 1.05; }
  .card__slides__container img:nth-child(2) {
    z-index: 3;
    position: absolute;
    transform: translate(-65px, 55px); }
  .card__slides__container img:nth-child(4) {
    position: absolute;
    transform: translate(-50px, 20px);
    z-index: 2; }
  .card__slides__container img:nth-child(6) {
    position: absolute;
    transform: translate(-25px, -15px);
    z-index: 1; }

.slides__arrange img:nth-child(2) {
  transform: translate(-20px, 20px); }

.slides__arrange img:nth-child(4) {
  transform: translate(-50px, 20px); }

.slides__arrange img:nth-child(6) {
  transform: translate(-85px, 20px); }

.slide__center {
  transform: translate(-20px, 20px) !important; }

.slide__selector {
  border: 2px solid #121212;
  margin-right: 1rem;
  cursor: pointer;
  border-radius: 50%;
  width: 1rem;
  height: 1rem;
  appearance: none; }
  .slide__selector:checked {
    background-color: #20b2aa; }

.card__details {
  display: flex;
  flex-direction: column;
  max-width: 24rem;
  gap: 1rem;
  text-align: center;
  padding-bottom: 2rem; }
  .card__details h1 {
    border: 1px solid #121212;
    padding: 0.6rem 0rem;
    letter-spacing: 4px !important;
    font-weight: 400;
    margin: 0rem; }
  .card__details p {
    margin: 0rem;
    letter-spacing: 1px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4; }
  .card__details a {
    align-self: center; }

.card__details__dark__mode > h1 {
  border-color: #fcfcfc; }

.card__pnglink--coloredit {
  fill: #de4c36; }

.slide__selector--coloredit {
  border-color: #ebeeee; }

.card__details__icon--edits svg {
  width: 3.6rem; }

.projects__component__container {
  display: grid;
  gap: 2rem;
  padding-top: 6rem;
  grid-template-columns: repeat(2, 1fr); }
  @media (max-width: 48rem) {
    .projects__component__container {
      grid-template-columns: repeat(1, 1fr);
      gap: 4rem; } }

.project__details h1,
.project__details p,
.project__details h3 {
  margin: 0rem;
  margin-bottom: 0.6rem;
  letter-spacing: 1px; }

.project__details h3,
.project__details p {
  font-weight: 500; }

.project__details p:nth-child(2) {
  font-size: 1.2rem;
  margin-bottom: 1.2rem;
  font-weight: 400; }

.extras__component__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); }
  @media (max-width: 48rem) {
    .extras__component__container {
      grid-template-columns: repeat(1, 0fr); } }

.extra__component {
  cursor: pointer;
  width: fit-content; }
  .extra__component:hover {
    transform: scale(1.02); }
  .extra__component svg {
    width: 24rem; }
    @media (max-width: 48rem) {
      .extra__component svg {
        width: 18rem; } }

.home__page__loading__animation {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  background: #fcfcfc;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  .home__page__loading__animation span {
    font-size: 3rem;
    letter-spacing: 18px;
    border: 2px solid #121212;
    padding: 0.4rem 6rem;
    color: #fcfcfc;
    font-weight: 500;
    text-shadow: 2px 2px 0 #121212, -1px -1px 0 #121212, 1px -1px 0 #121212, -1px 1px 0 #121212, 1px 1px 0 #121212;
    animation: fill_loading 3s ease-in 250ms;
    animation-fill-mode: forwards; }
    @media (max-width: 48rem) {
      .home__page__loading__animation span {
        font-size: 2.6rem;
        padding: 0.2rem 2rem;
        animation: fill_loading_mobile 3s ease-in 250ms;
        animation-fill-mode: forwards; } }

@keyframes fill_loading {
  0% {
    box-shadow: 0px 0px 0px 0px #ff385f inset; }
  40% {
    box-shadow: 120px 0px 0px 0px #ff385f inset; }
  80% {
    box-shadow: 420px 0px 0px 0px #ffdd57 inset; }
  100% {
    box-shadow: 520px 0px 0px 0px #20d160 inset; } }

@keyframes fill_loading_mobile {
  0% {
    box-shadow: 0px 0px 0px 0px #ff385f inset; }
  40% {
    box-shadow: 90px 0px 0px 0px #ff385f inset; }
  80% {
    box-shadow: 260px 0px 0px 0px #ffdd57 inset; }
  100% {
    box-shadow: 365px 0px 0px 0px #20d160 inset; } }

.remove__loader {
  display: none;
  opacity: 0;
  z-index: -1; }

.iframe__container {
  height: 100vh;
  display: flex; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QWtCTnJCO0VBQ0ksYUFBYTtFQUNiLHFDQUFxQztFQUNyQztJQUhKO01BSVEscUNBQXFDLElBRTVDOztBQUVEO0VBQ0ksZUFBZTtFQUNmLGtCQUFrQjtFQUZ0QjtJQUlRLHNCQUFzQjtFQUo5QjtJQU9RLFlBQVk7SUFDWjtNQVJSO1FBU1ksWUFBWSxJQUVuQjs7QUNuQkw7RUFDSSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxXQUFXO0VBQ1gsbUJuQkttQjtFbUJKbkIsWUFBWTtFQUNaLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQVYxQjtJQVlRLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIseUJuQkxlO0ltQk1mLG9CQUFvQjtJQUNwQixjbkJOZTtJbUJPZixnQkFBZ0I7SUFDaEIsOEduQlRlO0ltQllmLHdDQUF3QztJQUN4Qyw2QkFBNkI7SUFFN0I7TUF4QlI7UUF5QlksaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQiwrQ0FBK0M7UUFDL0MsNkJBQTZCLElBRXBDOztBQVlMO0VBQ0k7SUFDSSx5Q0FBeUM7RUFFN0M7SUFDSSwyQ0FBMkM7RUFFL0M7SUFDSSwyQ0FBMkM7RUFFL0M7SUFDSSwyQ0FBMkM7O0FBSW5EO0VBQ0k7SUFDSSx5Q0FBeUM7RUFFN0M7SUFDSSwwQ0FBMEM7RUFFOUM7SUFDSSwyQ0FBMkM7RUFFL0M7SUFDSSwyQ0FBMkM7O0FBSW5EO0VBQ0ksYUFBYTtFQUNiLFVBQVU7RUFDVixXQUFXOztBQzNFZjtFQUNFLGFBQWE7RUFDYixhQUFhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2dsb2JhbHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2dsb2JhbHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3BvcnRmb2xpb19fcmVhY3Rqcy8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9yZXVzZWFibGVzL193cmFwcGVyLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL3JldXNlYWJsZXMvX2ljb25idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2NvbXBvbmVudHMvcmV1c2VhYmxlcy9fZm9ybWlucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL25hdi9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL25hdi9fYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL2N1c3RvbS9fYXJyb3didXR0b24uc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2NvbXBvbmVudHMvY3VzdG9tL19pY29ubGluay5zY3NzIiwid2VicGFjazovL3BvcnRmb2xpb19fcmVhY3Rqcy8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9jdXN0b20vX2Fycm93bGluay5zY3NzIiwid2VicGFjazovL3BvcnRmb2xpb19fcmVhY3Rqcy8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9hYm91dG1lL19hYm91dG1lLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL2V4cGVyaWVuY2UvX2V4cGVyaWVuY2Uuc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2NvbXBvbmVudHMvc2tpbGxzL19wcm9ncmVzc2Jhci5zY3NzIiwid2VicGFjazovL3BvcnRmb2xpb19fcmVhY3Rqcy8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9za2lsbHMvX3NraWxscy5zY3NzIiwid2VicGFjazovL3BvcnRmb2xpb19fcmVhY3Rqcy8uL3NyYy9zdHlsZXMvY29tcG9uZW50cy9za2lsbHMvX3NraWxsc3YyLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL3Jlc3VtZS9fcmVzdW1lLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL2NvbnRhY3QvX2NvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL2NvbXBvbmVudHMvY3VzdG9tL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL3Byb2plY3RzL19wcm9qZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vcG9ydGZvbGlvX19yZWFjdGpzLy4vc3JjL3N0eWxlcy9jb21wb25lbnRzL2V4dHJhL19fZXh0cmEuc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL3BhZ2VzL2hvbWUvX2hvbWUuc2NzcyIsIndlYnBhY2s6Ly9wb3J0Zm9saW9fX3JlYWN0anMvLi9zcmMvc3R5bGVzL3BhZ2VzL2N2L19jdi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIqIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbnNwYW4sXHJcbmJ1dHRvbixcclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNixcclxuYSB7XHJcbiAgICBjb2xvcjogJGdsb2JhbF9fYmxhY2s7XHJcbn1cclxuXHJcbmh0bWwsXHJcbmJvZHkge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsX193aGl0ZTtcclxufVxyXG5cclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAvLyBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuYSxcclxuYnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCIkbWluX19mb250U2l6ZTogMC44cmVtO1xyXG4kbWlkX19mb250U2l6ZTogMXJlbTtcclxuJGxhcmdlX19mb250U2l6ZTogMS4ycmVtO1xyXG4kbWlkbGFyZ2VfX2ZvbnRTaXplOiAxLjRyZW07XHJcbiRleHRyYWxhcmdlX19mb250U2l6ZTogMS44cmVtO1xyXG4kbWluX19mb250V2VpZ2h0OiAzMDA7XHJcbiRtaWRfX2ZvbnRXZWlnaHQ6IDQwMDtcclxuJGxhcmdlX19mb250V2VpZ2h0OiA1MDA7XHJcbiRleHRyYWxhcmdlX19mb250V2VpZ2h0OiA2MDA7XHJcbiRnbG9iYWxfX2JsYWNrOiAjMTIxMjEyO1xyXG4kZ2xvYmFsX193aGl0ZTogI2ZjZmNmYztcclxuJGdsb2JhbF9fZGFya19fbW9kZTogIzJiMmIyYjtcclxuJGdsb2JhbF9fZGFya19fbW9kZV9fdGV4dDogI2ViZWVlZTtcclxuIiwiLnJldXNlYWJsZV9fd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nOiAwcmVtIDhyZW07XHJcbiAgICA+IGgxIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzIwYjJhYTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDByZW07XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMnJlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzByZW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwcmVtIDJyZW07XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzByZW0pIGFuZCAobWF4LXdpZHRoOiA2NHJlbSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDByZW0gNHJlbTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDByZW0pIGFuZCAobWF4LXdpZHRoOiAxMjByZW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwcmVtIDE2cmVtO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMHJlbSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDByZW0gMjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXVzZWFibGVfX3dyYXBwZXJfX2RpdmlkZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogNHJlbTtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnJldXNlYWJsZV9fd3JhcHBlcl9fZGFya19fbW9kZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsX19kYXJrX19tb2RlO1xyXG4gICAgbGFiZWwsXHJcbiAgICBoMSxcclxuICAgIHNwYW4sXHJcbiAgICBoNCxcclxuICAgIHAsXHJcbiAgICBoMyxcclxuICAgIGxpIHtcclxuICAgICAgICBjb2xvcjogJGdsb2JhbF9fZGFya19fbW9kZV9fdGV4dDtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICMwMGQ3ZmQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLnJldXNlYWJsZV9faWNvbmJ1dHRvbntcclxuICAgIHdpZHRoOiAyLjZyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn0iLCIucmV1c2VhYmxlX19pbnB1dF9fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA0cmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlX19mb250U2l6ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICBmb250LXdlaWdodDogJGxhcmdlX19mb250V2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbTtcclxuICAgICAgICBmb250LXNpemU6ICRsYXJnZV9fZm9udFNpemU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB3aWR0aDogMjByZW07XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxcmVtO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFiZWxfX3JlcXVpcmVkIHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnKic7XHJcbiAgICAgICAgY29sb3I6IHJlZDtcclxuICAgIH1cclxufVxyXG4iLCIubmF2X19jb250YWluZXJfX2Jyb3dzZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IC00cHggJGdsb2JhbF9fYmxhY2s7XHJcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgYmFja2dyb3VuZDogI2ZjZmNmYztcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHotaW5kZXg6IDU7IC8vZm9yIG15IHByb2plY3QgaW1hZ2UgaXRlbS4uXHJcbiAgICBuYXYge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDJyZW07XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2YmFyX19saW5rIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFsb28gQmhhaW5hIDInLCAnUm9ib3RvJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjZyZW07XHJcbiAgICBmb250LXdlaWdodDogJGxhcmdlX19mb250V2VpZ2h0O1xyXG4gICAgdHJhbnNpdGlvbjogNzVtcyBsZXR0ZXItc3BhY2luZyBlYXNlLWluLW91dDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZiYXJfX2xpbmtfX29uQWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGdsb2JhbF9fYmxhY2s7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2YmFyX19saW5rX19vbkFjdGl2ZV9fZGFya19fbW9kZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRnbG9iYWxfX2RhcmtfX21vZGVfX3RleHQ7XHJcbn1cclxuXHJcbi5uYXZfX2Jyb3dzZXJfX2RhcmtfX21vZGUge1xyXG4gICAgYmFja2dyb3VuZDogJGdsb2JhbF9fZGFya19fbW9kZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAtM3B4ICRnbG9iYWxfX3doaXRlO1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRnbG9iYWxfX2RhcmtfX21vZGVfX3RleHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZfX21vZGVfX2NoYW5nZV9fYnV0dG9uIHtcclxuICAgID4gc3ZnIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgwLjUpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGludmVydCgwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZfX21vZGVfX2NoYW5nZV9fYnV0dG9uX19kYXJrX19tb2RlIHtcclxuICAgID4gc3ZnIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgwKTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBpbnZlcnQoMC41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZfX21vZGVfX2NoYW5nZV9fYnV0dG9uLS1tb2RlX2VmZmVjdCB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcclxuICAgIH1cclxufVxyXG4iLCIuYnVyZ2VyX19uYXZfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGhlaWdodDogMHB4O1xyXG4gICAgbmF2IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMHJlbTtcclxuICAgICAgICBnYXA6IDFyZW07XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogMjUwbXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmID4gbmF2ID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ2xvYmFsX193aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNidXJnZXJtZW51X19jaGVja2JveCB7XHJcbiAgICB3aWR0aDogMnJlbTtcclxuICAgIGhlaWdodDogMnJlbTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgIH4gZGl2LmJ1cmdlcmxpbmVzX19jb250YWluZXIgPiBkaXYuYnVyZ2VyX19saW5lcyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXJnZXJsaW5lc19fY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAycmVtO1xyXG4gICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMzJweCk7XHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLmJ1cmdlcl9fbGluZXMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCA1cHgpO1xyXG4gICAgJjo6YWZ0ZXIsXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGdsb2JhbF9fYmxhY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDIwcHgpO1xyXG4gICAgfVxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDEwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2X19tb2JpbGUge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDY7XHJcbiAgICByaWdodDogMHB4O1xyXG59XHJcblxyXG4uc2hvd19fYnVyZ2VyX19uYXYge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmN1c3RvbV9fYXJyb3dfX2J1dHRvbntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGdsb2JhbF9fd2hpdGU7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBwYWRkaW5nOiAwLjZyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBzcGFue1xyXG4gICAgICAgIGNvbG9yOiAjZmNmY2ZjO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlX19mb250U2l6ZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAmID4gOm50aC1jaGlsZCgyKXtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQgNTBtcywgb3BhY2l0eSA1MG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICAvLyBib3JkZXItY29sb3I6ICM2NDk1ZWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDc1Nzk3O1xyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDc1Nzk3O1xyXG4gICAgICAgICAgICAvLyBjb2xvcjogIzY0OTVlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiA+IDpudGgtY2hpbGQoMil7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFycm93X19yb3RhdGVfX2JvdHRvbXtcclxuICAgICYgPiA6bnRoLWNoaWxkKDIpe1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcntcclxuICAgICAgICAmID4gOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5pY29uX19saW5rIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5hcnJvd19fbGluayB7XHJcbiAgICBwYWRkaW5nOiAwLjRyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiA2MDBtcyBib3gtc2hhZG93IGVhc2UtaW4tb3V0LCA2MDBtcyBjb2xvciBlYXNlLWluLW91dDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgJGdsb2JhbF9fYmxhY2s7XHJcbiAgICBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAuMnJlbTtcclxuICAgICAgICAmIDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGxhcmdlX19mb250V2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDQwMHB4IDAgMCAwICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRnbG9iYWxfX3doaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4uYXJyb3cge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IG1vdmVBcnJvdyAxcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hcnJvdyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgY29sb3I6ICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgdHJhbnNpdGlvbjogMjUwbXMgb3BhY2l0eSBlYXNlIDMwMG1zO1xyXG4gICAgZm9udC1zaXplOiAkbGFyZ2VfX2ZvbnRTaXplO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVBcnJvdyB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgbGVmdDogNnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5ob21lX19jb21wb25lbnQge1xyXG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAycmVtO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCd+YXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kcy8xLmpwZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcclxuICAgIH1cclxuICAgIGgxLFxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICBjb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGdsb2JhbF9fd2hpdGU7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcclxuICAgICAgICB3aWR0aDogMHJlbTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgYW5pbWF0aW9uOiB0eXBpbmcgNHMgc3RlcHMoNDUsIGVuZCksIGJsaW5rLWNhcmV0IDAuNzVzIHN0ZXAtZW5kIGluZmluaXRlO1xyXG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMzUwMG1zO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgICAgICBhbmltYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZ3JheTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnfmFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZHMvMV9tb2JpbGUuanBnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4cmVtKSBhbmQgKG1heC13aWR0aDogNjRyZW0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ35hc3NldHMvaW1hZ2VzL2JhY2tncm91bmRzLzFfbW9iaWxlLmpwZycpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMHJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLmhvbWVfX2NvbXBvbmVudF9fYWJvdXRtZSB7XHJcbiAgICB3aWR0aDogNTJyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiA2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NHJlbSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBwYWRkaW5nOiAwcmVtIDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ob21lX19jb21wb25lbnRfX2J1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNHJlbTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgIGdhcDogMnJlbTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbWFpbF9fY29sb3Ige1xyXG4gICAgJiBwYXRoOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgZmlsbDogI2E1MmEyYTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0eXBpbmcge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgd2lkdGg6IDByZW07XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgd2lkdGg6IDQ2cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHR5cGluZ19fbW9iaWxlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHdpZHRoOiAwcmVtO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHdpZHRoOiAyNHJlbTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBibGluay1jYXJldCB7XHJcbiAgICBmcm9tLFxyXG4gICAgdG8ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ob21lX19zY3JlZW4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG59XHJcbiIsIi5leHBlcmllbmNlc19fY29tcG9uZW50X19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbn1cclxuXHJcbi5leHBlcmllbmNlc19fY29tcG9uZW50X19leHBlcmllbmNlIHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46IDByZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWRfX2ZvbnRXZWlnaHQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDhiOGI7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHJlbTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbjtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlX19mb250U2l6ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM5LjVyZW07XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NHJlbSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0cmVtKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3cge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAyOHJlbSAhaW1wb3J0YW50O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0cmVtKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNThyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmV4cGVyaWVuY2VfX2RldGFpbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMC42cmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG4gICAgaDQge1xyXG4gICAgICAgIG1hcmdpbjogMHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogJG1pZF9fZm9udFdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogMC4ycmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuICAgIH1cclxufVxyXG4iLCIucHJvZ3Jlc3NfX2Jhcl9fY29tcG9uZW50IHtcclxuICAgIHBhZGRpbmc6IDFyZW0gMThyZW07XHJcbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHJlbSAwIDAgMCByZWQ7XHJcbiAgICB0cmFuc2l0aW9uOiA4MDBtcyBib3gtc2hhZG93IGVhc2UtaW4tb3V0LCA1MG1zIGNvbG9yIGVhc2U7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjZyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDMwcmVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSA5cmVtO1xyXG4gICAgfVxyXG59XHJcbiIsIi5za2lsbHNfX2NvbXBvbmVudF9fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGdhcDogMnJlbTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5za2lsbHNfX2NvbXBvbmVudF9fc2tpbGwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDFyZW07XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiA1cmVtO1xyXG4gICAgICAgIGhlaWdodDogNXJlbTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NHJlbSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5za2lsbHNfX2NvbXBvbmVudF9fc2tpbGxfX2RldGFpbHMge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkbWluX19mb250U2l6ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJGV4dHJhbGFyZ2VfX2ZvbnRXZWlnaHQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgIH1cclxufVxyXG5cclxuLmV4cHJlc3NfX2RhcmtfX21vZGUge1xyXG4gICAgZmlsdGVyOiBpbnZlcnQoMSk7XHJcbn1cclxuXHJcbi5tb25nb29zZV9fZGFya19fbW9kZSB7XHJcbiAgICBmaWxsOiAjZmYwMDAwO1xyXG59XHJcbiIsIi5za2lsbF9fdjJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uc2tpbGxzX192Ml9fY29tcG9uZW50X19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGdhcDogMnJlbTtcclxuICAgIHBhZGRpbmc6IDRyZW0gMHJlbTtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZSA1MG1zO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgIH1cclxufVxyXG5cclxuLnNraWxsc19fdjJfX2NvbXBvbmVudF9fY29udGFpbmVyX19vbkhpZ2hsaWdodHtcclxuICAgIGZsZXgtYmFzaXM6IDc1JTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2M3JlbSkge1xyXG4gICAgICAgIHdpZHRoOiAwcHg7XHJcbiAgICAgICAgZmxleC1iYXNpczogMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLnNraWxsc19fdjJfX2NvbXBvbmVudF9fc2tpbGx7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiA4cmVtO1xyXG4gICAgICAgIGhlaWdodDogOHJlbTtcclxuICAgICAgICAvLyBUbyBwcmV2ZW50IGNsaWNrIGV2ZW50XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1pbjtcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcclxuICAgIH1cclxufVxyXG5cclxuLnNraWxsc19fdjJfX2NvbXBvbmVudF9fc2tpbGxfX2hpZ2hsaWdodHtcclxuICAgIHdpZHRoOiAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICB9XHJcbiAgICA+IHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGdhcDogMS42cmVtO1xyXG4gICAgICAgID4gbGlbZGF0YS1sYWJlbD1cImxhYmVsXCJde1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjEyMTI7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGlbZGF0YS1sYWJlbD1cImRlc2NyaXB0aW9uXCJde1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjNyZW0pe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2xvc2VfX2hpZ2hsaWdodHtcclxuICAgID5zdmd7XHJcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxufVxyXG5cclxuLnNraWxsX19oaWdobGlnaHRfX2V4cGVyaWVuY2V7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgfVxyXG4gICAgPiBkaXZ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMC40cmVtXHJcbiAgICB9XHJcbn1cclxuXHJcbi5leHBlcmllbmNlX19ib3hlc3tcclxuICAgID4gZGl2e1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMTk2ZjM7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogMC42cmVtO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG5cclxuLmRpc3BsYXlfX3NraWxsX19oaWdobGlnaHR7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XHJcbiAgICBsaVtkYXRhLWxhYmVsPVwiZGVzY3JpcHRpb25cIl17XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2tpbGxfX2hpZ2hsaWdodF9faWNvbiA+IHN2Z3tcclxuICAgIHdpZHRoOiAxMHJlbTtcclxuICAgIGhlaWdodDogMTByZW07XHJcbn1cclxuXHJcbi5za2lsbF9faGlnaGxpZ2h0X19ib3JkZXJ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xyXG59IiwiLnJlc3VtZV9fY29tcG9uZW50X19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiAwcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWlkX19mb250V2VpZ2h0O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzdW1lX19jb21wb25lbnRfX2NvbnRhaW5lcl9fZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAycmVtO1xyXG4gICAgbWFyZ2luLXRvcDogJG1pZGxhcmdlX19mb250U2l6ZTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgIGdhcDogMHJlbTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzdW1lX19kZXRhaWxzX19zZWN0aW9uX19oZWFkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgIGdhcDogMXJlbTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzdW1lX19kZXRhaWxzX19zZWN0aW9uX19ib2R5IHtcclxuICAgID4gZGl2IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxcmVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWRfX2ZvbnRXZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbGFyZ2VfX2ZvbnRTaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlc3VtZV9fZGV0YWlsc19fZXh0cmEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNHJlbTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICYgPiA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzdW1lX19leHRyYS0tbGlzdCB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xyXG4gICAgfVxyXG59XHJcbiIsIi5jb250YWN0X19jb21wb25lbnRfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMnJlbSAwcmVtO1xyXG4gICAgZ2FwOiAycmVtO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjNyZW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250YWN0X19jb21wb25lbnRfX2Zvcm0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDNyZW07XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAwcmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJG1pZGxhcmdlX19mb250U2l6ZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyMXJlbTtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDhyZW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgZ2FwOiAycmVtO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGFjdF9fY29tcG9uZW50X19mb3JtX19idXR0b24ge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGdsb2JhbF9fYmxhY2s7XHJcbiAgICBmb250LXNpemU6ICRsYXJnZV9fZm9udFNpemU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdsb2JhbF9fYmxhY2s7XHJcbiAgICAgICAgY29sb3I6ICRnbG9iYWxfX3doaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybV9fYnV0dG9uX19kYXJrX19tb2RlIHtcclxuICAgIGNvbG9yOiAkZ2xvYmFsX19kYXJrX19tb2RlX190ZXh0O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZ2xvYmFsX19kYXJrX19tb2RlX190ZXh0O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdsb2JhbF9fZGFya19fbW9kZV9fdGV4dDtcclxuICAgICAgICBjb2xvcjogJGdsb2JhbF9fZGFya19fbW9kZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3RfX2NvbXBvbmVudF9fZXh0cmFfX2RldGFpbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDJyZW07XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBwIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBmb250LXNpemU6ICRtaWRsYXJnZV9fZm9udFNpemU7XHJcbiAgICAgICAgbWFyZ2luOiAwcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIH1cclxuICAgIGRpdiB7XHJcbiAgICAgICAgJiA+IGgzOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbGFyZ2VfX2ZvbnRXZWlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWRfX2ZvbnRXZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0cmVtKSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgcCxcclxuICAgICAgICBkaXYgPiBoMyB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRleHRhcmVhX19jaHJvbWUge1xyXG4gICAgd2lkdGg6IDIwLjVyZW07XHJcbn1cclxuIiwiLmNhcmRfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDFyZW07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jYXJkX19lbmxhcmdlIHtcclxuICAgIHNjYWxlOiAxLjI7XHJcbiAgICB6LWluZGV4OiA0O1xyXG59XHJcblxyXG4uY2FyZF9fc2xpZGVzX19jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAyMHJlbTtcclxuICAgIHdpZHRoOiAxOHJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IDI1MG1zIHRyYW5zZm9ybSBlYXNlLWluLW91dCwgMTUwbXMgc2NhbGUgZWFzZS1pbi1vdXQgNTBtcztcclxuICAgIH1cclxuICAgICYgaW5wdXQ6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTEwcHgsIC00MHB4KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTEwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xyXG4gICAgICAgICAgICArIGltZyB7XHJcbiAgICAgICAgICAgICAgICBzY2FsZTogMS4wNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICArIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5jYXJkX19lbmxhcmdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiBpbnB1dDpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgLTQwcHgpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgICsgaW1nIHtcclxuICAgICAgICAgICAgICAgIHNjYWxlOiAxLjA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICsgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmNhcmRfX2VubGFyZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmIGlucHV0Om50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDkwcHgsIC00MHB4KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XHJcbiAgICAgICAgICAgICsgaW1nIHtcclxuICAgICAgICAgICAgICAgIHNjYWxlOiAxLjA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICsgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmNhcmRfX2VubGFyZ2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiBpbWc6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNjVweCwgNTVweCk7XHJcbiAgICB9XHJcbiAgICAmIGltZzpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTBweCwgMjBweCk7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxuICAgICYgaW1nOm50aC1jaGlsZCg2KSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNXB4LCAtMTVweCk7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlc19fYXJyYW5nZSB7XHJcbiAgICAmIGltZzpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAyMHB4KTtcclxuICAgIH1cclxuICAgICYgaW1nOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwcHgsIDIwcHgpO1xyXG4gICAgfVxyXG4gICAgJiBpbWc6bnRoLWNoaWxkKDYpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtODVweCwgMjBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGlkZV9fY2VudGVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAyMHB4KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2xpZGVfX3NlbGVjdG9yIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxMjEyMTI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMXJlbTtcclxuICAgIGhlaWdodDogMXJlbTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGIyYWE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJkX19kZXRhaWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LXdpZHRoOiAyNHJlbTtcclxuICAgIGdhcDogMXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgaDEge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnbG9iYWxfX2JsYWNrO1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwcmVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHggIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIG1hcmdpbjogMHJlbTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMHJlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlX19mb250U2l6ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJG1pZF9fZm9udFdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZF9fZGV0YWlsc19fZGFya19fbW9kZXtcclxuICAgID4gaDEge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdsb2JhbF9fd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJkX19wbmdsaW5rLS1jb2xvcmVkaXR7XHJcbiAgICBmaWxsOiAjZGU0YzM2O1xyXG59XHJcblxyXG4uc2xpZGVfX3NlbGVjdG9yLS1jb2xvcmVkaXR7XHJcbiAgICBib3JkZXItY29sb3I6ICRnbG9iYWxfX2RhcmtfX21vZGVfX3RleHQ7XHJcbn1cclxuXHJcbi5jYXJkX19kZXRhaWxzX19pY29uLS1lZGl0c3tcclxuICAgIHN2Z3tcclxuICAgICAgICB3aWR0aDogMy42cmVtO1xyXG4gICAgfVxyXG59IiwiLnByb2plY3RzX19jb21wb25lbnRfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAycmVtO1xyXG4gICAgcGFkZGluZy10b3A6IDZyZW07XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgICAgICBnYXA6IDRyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9qZWN0X19kZXRhaWxzIHtcclxuICAgIGgxLFxyXG4gICAgcCxcclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IDByZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICB9XHJcbiAgICBoMyxcclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbGFyZ2VfX2ZvbnRXZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAmIHA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWRfX2ZvbnRXZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9qZWN0X19zbGlkZXMge1xyXG59XHJcbiIsIi5leHRyYXNfX2NvbXBvbmVudF9fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMGZyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmV4dHJhX19jb21wb25lbnQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgIH1cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cmVtO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMThyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5ob21lX19wYWdlX19sb2FkaW5nX19hbmltYXRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRnbG9iYWxfX3doaXRlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGdsb2JhbF9fYmxhY2s7XHJcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDZyZW07XHJcbiAgICAgICAgY29sb3I6ICRnbG9iYWxfX3doaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggMCAkZ2xvYmFsX19ibGFjaywgLTFweCAtMXB4IDAgJGdsb2JhbF9fYmxhY2ssIDFweCAtMXB4IDAgJGdsb2JhbF9fYmxhY2ssXHJcbiAgICAgICAgICAgIC0xcHggMXB4IDAgJGdsb2JhbF9fYmxhY2ssIDFweCAxcHggMCAkZ2xvYmFsX19ibGFjaztcclxuXHJcbiAgICAgICAgYW5pbWF0aW9uOiBmaWxsX2xvYWRpbmcgM3MgZWFzZS1pbiAyNTBtcztcclxuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuXHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4cmVtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMnJlbTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBmaWxsX2xvYWRpbmdfbW9iaWxlIDNzIGVhc2UtaW4gMjUwbXM7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGgyIHtcclxuICAgIC8vICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgLy8gICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAvLyAgICAgd29yZC1zcGFjaW5nOiA0cHg7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OHJlbSkge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDIycmVtO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmaWxsX2xvYWRpbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCAjZmYzODVmIGluc2V0O1xyXG4gICAgfVxyXG4gICAgNDAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAxMjBweCAwcHggMHB4IDBweCAjZmYzODVmIGluc2V0O1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiA0MjBweCAwcHggMHB4IDBweCAjZmZkZDU3IGluc2V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogNTIwcHggMHB4IDBweCAwcHggIzIwZDE2MCBpbnNldDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmaWxsX2xvYWRpbmdfbW9iaWxlIHtcclxuICAgIDAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggI2ZmMzg1ZiBpbnNldDtcclxuICAgIH1cclxuICAgIDQwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogOTBweCAwcHggMHB4IDBweCAjZmYzODVmIGluc2V0O1xyXG4gICAgfVxyXG4gICAgODAlIHtcclxuICAgICAgICBib3gtc2hhZG93OiAyNjBweCAwcHggMHB4IDBweCAjZmZkZDU3IGluc2V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMzY1cHggMHB4IDBweCAwcHggIzIwZDE2MCBpbnNldDtcclxuICAgIH1cclxufVxyXG5cclxuLnJlbW92ZV9fbG9hZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogLTE7XHJcbn1cclxuIiwiLmlmcmFtZV9fY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/