@charset "UTF-8";
/************** ************ **************/
/************** Variables CW **************/
/************** ************ **************/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");
/************** ****************** **************/
/**************  **************/
/************** ****************** **************/
/************** GLOBALE **************/
/************** LOGO / BRAND **************/
/************** ONLGET **************/
/************** MENU DEROULANT **************/
/************** TOGGLER **************/
/************** ****** **************/
/************** OPTION **************/
/************** ****** **************/
/************** *********** **************/
/************** TYPOGRAPHIE **************/
/************** *********** **************/
/* *** NAVBAR Dropdown-menu *** */
/************** ******* **************/
/************** COULEUR **************/
/************** ******* **************/
/************** *********** **************/
/************** TYPOGRAPHIE **************/
/************** *********** **************/
/************** ************ **************/
/************** Variables CW **************/
/************** ************ **************/
/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #818181;
  --gray-dark: #343434;
  --primary: #eab7ab;
  --secondary: #9c7a6c;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f9f9f9;
  --dark: #373737;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

body {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4;
  color: #545353;
  text-align: left;
  background-color: #fbf7f1; }

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.6rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #eab7ab;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #f4dad4;
    text-decoration: none; }

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #818181;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit;
  text-align: -webkit-match-parent; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus:not(:focus-visible) {
  outline: 0; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

[role="button"] {
  cursor: pointer; }

select {
  word-wrap: normal; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.6rem;
  font-weight: 500;
  line-height: 1.3; }

h1, .h1 {
  font-size: 2.2rem; }

h2, .h2 {
  font-size: 1.7rem; }

h3, .h3 {
  font-size: 1.25rem; }

h4, .h4 {
  font-size: 1.15rem; }

h5, .h5 {
  font-size: 1.1rem; }

h6, .h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.3; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.3; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.3; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.3; }

hr {
  margin-top: 1.8rem;
  margin-bottom: 1.8rem;
  border: 0;
  border-top: 1px solid #e9e9e9; }

small,
.small {
  font-size: 80%;
  font-weight: 400; }

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none; }

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 0.5rem; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 0.6rem;
  font-size: 1.25rem; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #818181; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fbf7f1;
  border: 1px solid #dedede;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.3rem;
  line-height: 1; }

.figure-caption {
  font-size: 90%;
  color: #818181; }

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-wrap: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #181818;
  border-radius: 0.125rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

pre {
  display: block;
  font-size: 87.5%;
  color: #181818; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .container, .container-sm {
    max-width: 540px; } }

@media (min-width: 768px) {
  .container, .container-sm, .container-md {
    max-width: 720px; } }

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1140px; } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.row-cols-1 > * {
  flex: 0 0 100%;
  max-width: 100%; }

.row-cols-2 > * {
  flex: 0 0 50%;
  max-width: 50%; }

.row-cols-3 > * {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.row-cols-4 > * {
  flex: 0 0 25%;
  max-width: 25%; }

.row-cols-5 > * {
  flex: 0 0 20%;
  max-width: 20%; }

.row-cols-6 > * {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%; }

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.offset-1 {
  margin-left: 8.33333%; }

.offset-2 {
  margin-left: 16.66667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.33333%; }

.offset-5 {
  margin-left: 41.66667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.33333%; }

.offset-8 {
  margin-left: 66.66667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.33333%; }

.offset-11 {
  margin-left: 91.66667%; }

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-sm-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-sm-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-sm-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-sm-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-sm-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-sm-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-last {
    order: 13; }
  .order-sm-0 {
    order: 0; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-md-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-md-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-md-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-md-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-md-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-md-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-last {
    order: 13; }
  .order-md-0 {
    order: 0; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-lg-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-lg-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-lg-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-lg-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-lg-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-lg-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-last {
    order: 13; }
  .order-lg-0 {
    order: 0; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .row-cols-xl-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .row-cols-xl-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .row-cols-xl-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .row-cols-xl-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .row-cols-xl-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .row-cols-xl-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-last {
    order: 13; }
  .order-xl-0 {
    order: 0; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

.table {
  width: 100%;
  margin-bottom: 0.6rem;
  color: #545353;
  background-color: #faf5ed; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #f5ecdd; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #f5ecdd; }
  .table tbody + tbody {
    border-top: 2px solid #f5ecdd; }

.table-sm th,
.table-sm td {
  padding: 0.3rem; }

.table-bordered {
  border: 1px solid #f5ecdd; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #f5ecdd; }
  .table-bordered thead th,
  .table-bordered thead td {
    border-bottom-width: 2px; }

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0; }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f5ecdd; }

.table-hover tbody tr:hover {
  color: #545353;
  background-color: #f5ecdd; }

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #f9ebe7; }

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #f4dad3; }

.table-hover .table-primary:hover {
  background-color: #f4dad3; }
  .table-hover .table-primary:hover > td,
  .table-hover .table-primary:hover > th {
    background-color: #f4dad3; }

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #e3dad6; }

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #ccbab3; }

.table-hover .table-secondary:hover {
  background-color: #d9ccc7; }
  .table-hover .table-secondary:hover > td,
  .table-hover .table-secondary:hover > th {
    background-color: #d9ccc7; }

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb; }

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e; }

.table-hover .table-success:hover {
  background-color: #b1dfbb; }
  .table-hover .table-success:hover > td,
  .table-hover .table-success:hover > th {
    background-color: #b1dfbb; }

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb; }

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda; }

.table-hover .table-info:hover {
  background-color: #abdde5; }
  .table-hover .table-info:hover > td,
  .table-hover .table-info:hover > th {
    background-color: #abdde5; }

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba; }

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e; }

.table-hover .table-warning:hover {
  background-color: #ffe8a1; }
  .table-hover .table-warning:hover > td,
  .table-hover .table-warning:hover > th {
    background-color: #ffe8a1; }

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb; }

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e; }

.table-hover .table-danger:hover {
  background-color: #f1b0b7; }
  .table-hover .table-danger:hover > td,
  .table-hover .table-danger:hover > th {
    background-color: #f1b0b7; }

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfd; }

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fcfcfc; }

.table-hover .table-light:hover {
  background-color: #f0f0f0; }
  .table-hover .table-light:hover > td,
  .table-hover .table-light:hover > th {
    background-color: #f0f0f0; }

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c7c7c7; }

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #979797; }

.table-hover .table-dark:hover {
  background-color: #bababa; }
  .table-hover .table-dark:hover > td,
  .table-hover .table-dark:hover > th {
    background-color: #bababa; }

.table-active,
.table-active > th,
.table-active > td {
  background-color: #f5ecdd; }

.table-hover .table-active:hover {
  background-color: #f0e0c9; }
  .table-hover .table-active:hover > td,
  .table-hover .table-active:hover > th {
    background-color: #f0e0c9; }

.table .thead-dark th {
  color: #fff;
  background-color: #343434;
  border-color: #474747; }

.table .thead-light th {
  color: #494949;
  background-color: #f9f9f9;
  border-color: #f5ecdd; }

.table-dark {
  color: #fff;
  background-color: #343434; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #474747; }
  .table-dark.table-bordered {
    border: 0; }
  .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xl > .table-bordered {
      border: 0; } }

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .table-responsive > .table-bordered {
    border: 0; }

.form-control {
  display: block;
  width: 100%;
  height: calc(1em + 2rem);
  padding: 0.5rem 1rem;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1;
  color: #333333;
  background-color: #fff;
  background-clip: padding-box;
  border: 0 solid #cecece;
  border-radius: 0.125rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #333333;
    background-color: #fff;
    border-color: white;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.25); }
  .form-control::placeholder {
    color: #aeaeae;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9e9e9;
    opacity: 1; }

input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
  appearance: none; }

select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #333333; }

select.form-control:focus::-ms-value {
  color: #333333;
  background-color: #fff; }

.form-control-file,
.form-control-range {
  display: block;
  width: 100%; }

.col-form-label {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1; }

.col-form-label-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.5rem 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1;
  color: #545353;
  background-color: transparent;
  border: solid transparent;
  border-width: 0 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  height: calc(1.5em + 1rem);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.125rem; }

.form-control-lg {
  height: calc(1.5em + 2rem);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.125rem; }

select.form-control[size], select.form-control[multiple] {
  height: auto; }

textarea.form-control {
  height: auto; }

.form-group {
  margin-bottom: 0.5rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  padding-left: 1.3rem; }

.form-check-input {
  position: absolute;
  margin-top: 0.05rem;
  margin-left: -1.3rem; }
  .form-check-input[disabled] ~ .form-check-label,
  .form-check-input:disabled ~ .form-check-label {
    color: #818181; }

.form-check-label {
  margin-bottom: 0; }

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .valid-tooltip,
  .form-row > [class*="col-"] > .valid-tooltip {
    left: 5px; }

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745;
  padding-right: calc(1em + 2rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.25em + 0.125rem) center;
  background-size: calc(0.5em + 0.5rem) calc(0.5em + 0.5rem); }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 4rem !important;
  background-position: right 2rem center; }

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1em + 2rem);
  background-position: top calc(0.25em + 0.125rem) right calc(0.25em + 0.125rem); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745;
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2rem/calc(0.5em + 0.5rem) calc(0.5em + 0.5rem) no-repeat; }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57; }

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.25); }

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }
  .form-row > .col > .invalid-tooltip,
  .form-row > [class*="col-"] > .invalid-tooltip {
    left: 5px; }

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545;
  padding-right: calc(1em + 2rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.25em + 0.125rem) center;
  background-size: calc(0.5em + 0.5rem) calc(0.5em + 0.5rem); }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 4rem !important;
  background-position: right 2rem center; }

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1em + 2rem);
  background-position: top calc(0.25em + 0.125rem) right calc(0.25em + 0.125rem); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545;
  padding-right: calc(0.75em + 2.75rem) !important;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 2rem/calc(0.5em + 0.5rem) calc(0.5em + 0.5rem) no-repeat; }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: flex;
      flex: 0 0 auto;
      flex-flow: row wrap;
      align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group,
    .form-inline .custom-select {
      width: auto; }
    .form-inline .form-check {
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      flex-shrink: 0;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      align-items: center;
      justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.fade {
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      transition: none; } }

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative; }

.dropdown-toggle {
  white-space: nowrap; }
  .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .dropdown-toggle:empty::after {
    margin-left: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #545353;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(173, 173, 173, 0.15);
  border-radius: 0.25rem; }

.dropdown-menu-left {
  right: auto;
  left: 0; }

.dropdown-menu-right {
  right: 0;
  left: auto; }

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0; }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto; } }

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0; }
  .dropdown-menu-md-right {
    right: 0;
    left: auto; } }

@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0; }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto; } }

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto; } }

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid; }

.dropright .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-toggle::after {
  vertical-align: 0; }

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: ""; }

.dropleft .dropdown-toggle::after {
  display: none; }

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent; }

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropleft .dropdown-toggle::before {
  vertical-align: 0; }

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto; }

.dropdown-divider {
  height: 0;
  margin: 0 0;
  overflow: hidden;
  border-top: 1px solid #e9e9e9; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.5rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #181818;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:first-child {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px); }
  .dropdown-item:last-child {
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px); }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #0b0b0b;
    text-decoration: none;
    background-color: #f9f9f9; }
  .dropdown-item.active, .dropdown-item:active {
    color: #181818;
    text-decoration: none;
    background-color: #e9e9e9; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #adadad;
    pointer-events: none;
    background-color: transparent; }

.dropdown-menu.show {
  display: block; }

.dropdown-header {
  display: block;
  padding: 0 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #818181;
  white-space: nowrap; }

.dropdown-item-text {
  display: block;
  padding: 0.5rem 1.5rem;
  color: #181818; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 1; }

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .btn-toolbar .input-group {
    width: auto; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: 0; }

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem; }
  .dropdown-toggle-split::after,
  .dropup .dropdown-toggle-split::after,
  .dropright .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .dropdown-toggle-split::before {
    margin-right: 0; }

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem; }

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center; }
  .btn-group-vertical > .btn,
  .btn-group-vertical > .btn-group {
    width: 100%; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: 0; }
  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0; }
  .btn-group-toggle > .btn input[type="radio"],
  .btn-group-toggle > .btn input[type="checkbox"],
  .btn-group-toggle > .btn-group > .btn input[type="radio"],
  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none; }

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-control-plaintext,
  .input-group > .custom-select,
  .input-group > .custom-file {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0; }
    .input-group > .form-control + .form-control,
    .input-group > .form-control + .custom-select,
    .input-group > .form-control + .custom-file,
    .input-group > .form-control-plaintext + .form-control,
    .input-group > .form-control-plaintext + .custom-select,
    .input-group > .form-control-plaintext + .custom-file,
    .input-group > .custom-select + .form-control,
    .input-group > .custom-select + .custom-select,
    .input-group > .custom-select + .custom-file,
    .input-group > .custom-file + .form-control,
    .input-group > .custom-file + .custom-select,
    .input-group > .custom-file + .custom-file {
      margin-left: 0; }
  .input-group > .form-control:focus,
  .input-group > .custom-select:focus,
  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .input-group > .form-control:not(:first-child),
  .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .input-group > .custom-file {
    display: flex;
    align-items: center; }
    .input-group > .custom-file:not(:last-child) .custom-file-label,
    .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .input-group:not(.has-validation) > .form-control:not(:last-child),
  .input-group:not(.has-validation) > .custom-select:not(:last-child),
  .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
  .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .input-group.has-validation > .form-control:nth-last-child(n + 3),
  .input-group.has-validation > .custom-select:nth-last-child(n + 3),
  .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
  .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: flex; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .input-group-prepend .btn:focus,
    .input-group-append .btn:focus {
      z-index: 3; }
  .input-group-prepend .btn + .btn,
  .input-group-prepend .btn + .input-group-text,
  .input-group-prepend .input-group-text + .input-group-text,
  .input-group-prepend .input-group-text + .btn,
  .input-group-append .btn + .btn,
  .input-group-append .btn + .input-group-text,
  .input-group-append .input-group-text + .input-group-text,
  .input-group-append .input-group-text + .btn {
    margin-left: 0; }

.input-group-prepend {
  margin-right: 0; }

.input-group-append {
  margin-left: 0; }

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  color: #333333;
  text-align: center;
  white-space: nowrap;
  background-color: #e9e9e9;
  border: 0 solid #cecece;
  border-radius: 0.125rem; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 2rem); }

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.125rem; }

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 1rem); }

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.125rem; }

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 2rem; }

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.4rem;
  padding-left: 1.5rem;
  color-adjust: exact; }

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem; }

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.2rem;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #eab7ab;
    background-color: #eab7ab; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: white; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: white;
    border-color: white; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #818181; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9e9e9; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.2rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adadad solid 0; }
  .custom-control-label::after {
    position: absolute;
    top: 0.2rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: 50% / 50% 50% no-repeat; }

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #eab7ab;
  background-color: #eab7ab; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(234, 183, 171, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(234, 183, 171, 0.5); }

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

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(234, 183, 171, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: 0.2rem;
    left: -2.25rem;
    width: 1rem;
    height: 1rem;
    background-color: #adadad;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(234, 183, 171, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1em + 2rem);
  padding: 0.5rem 2rem 0.5rem 1rem;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1;
  color: #333333;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343434' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1rem center/8px 10px no-repeat;
  border: 0 solid #cecece;
  border-radius: 0.25rem;
  appearance: none; }
  .custom-select:focus {
    border-color: white;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.25); }
    .custom-select:focus::-ms-value {
      color: #333333;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 1rem;
    background-image: none; }
  .custom-select:disabled {
    color: #818181;
    background-color: #e9e9e9; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #333333; }

.custom-select-sm {
  height: calc(1.5em + 1rem);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem; }

.custom-select-lg {
  height: calc(1.5em + 2rem);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem; }

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1em + 2rem);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1em + 2rem);
  margin: 0;
  overflow: hidden;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: white;
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9e9e9; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1em + 2rem);
  padding: 0.5rem 1rem;
  overflow: hidden;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  line-height: 1;
  color: #333333;
  background-color: #fff;
  border: 0 solid #cecece;
  border-radius: 0.125rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1em + 2rem);
    padding: 0.5rem 1rem;
    line-height: 1;
    color: #333333;
    content: "Browse";
    background-color: #e9e9e9;
    border-left: inherit;
    border-radius: 0 0.125rem 0.125rem 0; }

.custom-range {
  width: 100%;
  height: 1rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .custom-range:focus {
    outline: 0; }
    .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #fbf7f1, 0 0 0 0rem rgba(234, 183, 171, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fbf7f1, 0 0 0 0rem rgba(234, 183, 171, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fbf7f1, 0 0 0 0rem rgba(234, 183, 171, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #eab7ab;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-webkit-slider-thumb {
        transition: none; } }
    .custom-range::-webkit-slider-thumb:active {
      background-color: white; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dedede;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #eab7ab;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-moz-range-thumb {
        transition: none; } }
    .custom-range::-moz-range-thumb:active {
      background-color: white; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dedede;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0rem;
    margin-left: 0rem;
    background-color: #eab7ab;
    border: 0;
    border-radius: 1rem;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-ms-thumb {
        transition: none; } }
    .custom-range::-ms-thumb:active {
      background-color: white; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dedede;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dedede;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adadad; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adadad; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adadad; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      transition: none; } }

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #818181;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dedede; }
  .nav-tabs .nav-link {
    margin-bottom: -1px;
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9e9e9 #e9e9e9 #dedede; }
    .nav-tabs .nav-link.disabled {
      color: #818181;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #494949;
    background-color: #fbf7f1;
    border-color: #dedede #dedede #fbf7f1; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  border-radius: 0.25rem; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #eab7ab; }

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center; }

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 0 0; }
  .navbar .container,
  .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }

.navbar-brand {
  display: inline-block;
  padding-top: 0.325rem;
  padding-bottom: 0.325rem;
  margin-right: 0;
  font-size: 1.25rem;
  line-height: inherit;
  white-space: nowrap; }
  .navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none; }

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static;
    float: none; }

.navbar-text {
  display: inline-block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center; }

.navbar-toggler {
  padding: 10px 15px;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .navbar-toggler:hover, .navbar-toggler:focus {
    text-decoration: none; }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  content: "";
  background: 50% / 100% 100% no-repeat; }

.navbar-nav-scroll {
  max-height: 75vh;
  overflow-y: auto; }

@media (max-width: 575.98px) {
  .navbar-expand-sm > .container,
  .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-sm > .container,
    .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-sm .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
      display: none; } }

@media (max-width: 767.98px) {
  .navbar-expand-md > .container,
  .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 768px) {
  .navbar-expand-md {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-md > .container,
    .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-md .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      display: none; } }

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container,
  .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-lg > .container,
    .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-lg .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      display: none; } }

@media (max-width: 1199.98px) {
  .navbar-expand-xl > .container,
  .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-flow: row nowrap;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 10px;
        padding-left: 10px; }
    .navbar-expand-xl > .container,
    .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
      flex-wrap: nowrap; }
    .navbar-expand-xl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      display: none; } }

.navbar-expand {
  flex-flow: row nowrap;
  justify-content: flex-start; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    padding-right: 0;
    padding-left: 0; }
  .navbar-expand .navbar-nav {
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: 10px;
      padding-left: 10px; }
  .navbar-expand > .container,
  .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
    flex-wrap: nowrap; }
  .navbar-expand .navbar-nav-scroll {
    overflow: visible; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    display: none; }

.navbar-light .navbar-brand {
  color: rgba(0, 0, 0, 0.9); }
  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
    color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-nav .nav-link {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: rgba(0, 0, 0, 0.7); }
  .navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(0, 0, 0, 0.3); }

.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(0, 0, 0, 0.9); }

.navbar-light .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border-color: rgba(0, 0, 0, 0.1); }

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-light .navbar-text {
  color: rgba(0, 0, 0, 0.5); }
  .navbar-light .navbar-text a {
    color: rgba(0, 0, 0, 0.9); }
    .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
      color: rgba(0, 0, 0, 0.9); }

.navbar-dark .navbar-brand {
  color: #fff; }
  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
    color: #fff; }

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75); }
  .navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }

.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link.show,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff; }

.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.5);
  border-color: rgba(255, 255, 255, 0.1); }

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.5); }
  .navbar-dark .navbar-text a {
    color: #fff; }
    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
      color: #fff; }

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid #e9e9e9;
  border-radius: 0.25rem; }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: calc(0.25rem - 1px);
      border-top-right-radius: calc(0.25rem - 1px); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: calc(0.25rem - 1px);
      border-bottom-left-radius: calc(0.25rem - 1px); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem; }

.card-title {
  margin-bottom: 0.75rem; }

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0; }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: 1.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid #e9e9e9; }
  .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid #e9e9e9; }
  .card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0; }

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(0.25rem - 1px); }

.card-img,
.card-img-top,
.card-img-bottom {
  flex-shrink: 0;
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px); }

.card-deck .card {
  margin-bottom: 15px; }

@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -15px;
    margin-left: -15px; }
    .card-deck .card {
      flex: 1 0 0%;
      margin-right: 15px;
      margin-bottom: 0;
      margin-left: 15px; } }

.card-group > .card {
  margin-bottom: 15px; }

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0 0%;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

.card-columns .card {
  margin-bottom: 0.75rem; }

@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1; }
    .card-columns .card {
      display: inline-block;
      width: 100%; } }

.accordion {
  overflow-anchor: none; }
  .accordion > .card {
    overflow: hidden; }
    .accordion > .card:not(:last-of-type) {
      border-bottom: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0; }
    .accordion > .card:not(:first-of-type) {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
    .accordion > .card > .card-header {
      border-radius: 0;
      margin-bottom: -1px; }

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.75rem 3rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  list-style: none;
  background-color: #faf5ed;
  border-radius: 0; }

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    color: #818181;
    content: "/"; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none; }

.breadcrumb-item.active {
  color: #7f6256; }

.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem; }

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: 0;
  line-height: 1.25;
  color: #cecece;
  background-color: transparent;
  border: 0 solid #dedede; }
  .page-link:hover {
    z-index: 2;
    color: #564c3c;
    text-decoration: none;
    background-color: transparent;
    border-color: #dedede; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem; }

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

.page-item.active .page-link {
  z-index: 3;
  color: #564c3c;
  background-color: transparent;
  border-color: transparent; }

.page-item.disabled .page-link {
  color: #818181;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dedede; }

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.25rem;
  line-height: 1.5; }

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.075rem;
  border-bottom-left-radius: 0.075rem; }

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.075rem;
  border-bottom-right-radius: 0.075rem; }

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.125rem;
  border-bottom-left-radius: 0.125rem; }

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem; }

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .badge {
      transition: none; } }
  a.badge:hover, a.badge:focus {
    text-decoration: none; }
  .badge:empty {
    display: none; }

.btn .badge {
  position: relative;
  top: -1px; }

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem; }

.badge-primary {
  color: #181818;
  background-color: #eab7ab; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #181818;
    background-color: #e09482; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(234, 183, 171, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #9c7a6c; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #7f6256; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(156, 122, 108, 0.5); }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  a.badge-success:hover, a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(40, 167, 69, 0.5); }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.badge-info:hover, a.badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #181818;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #181818;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 193, 7, 0.5); }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.badge-danger:hover, a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #181818;
  background-color: #f9f9f9; }
  a.badge-light:hover, a.badge-light:focus {
    color: #181818;
    background-color: #e0e0e0; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(249, 249, 249, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #373737; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: #1e1e1e; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(55, 55, 55, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  color: #fff;
  background-color: #e9e9e9;
  border-radius: 0.075rem; }
  @media (min-width: 576px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0; }

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem; }

.alert-heading {
  color: inherit; }

.alert-link {
  font-weight: 700; }

.alert-dismissible {
  padding-right: 4rem; }
  .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 0.75rem 1.25rem;
    color: inherit; }

.alert-primary {
  color: #7a5f59;
  background-color: #fbf1ee;
  border-color: #f9ebe7; }
  .alert-primary hr {
    border-top-color: #f4dad3; }
  .alert-primary .alert-link {
    color: #5d4843; }

.alert-secondary {
  color: #513f38;
  background-color: #ebe4e2;
  border-color: #e3dad6; }
  .alert-secondary hr {
    border-top-color: #d9ccc7; }
  .alert-secondary .alert-link {
    color: #332823; }

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb; }
  .alert-success hr {
    border-top-color: #b1dfbb; }
  .alert-success .alert-link {
    color: #0b2e13; }

.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb; }
  .alert-info hr {
    border-top-color: #abdde5; }
  .alert-info .alert-link {
    color: #062c33; }

.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba; }
  .alert-warning hr {
    border-top-color: #ffe8a1; }
  .alert-warning .alert-link {
    color: #533f03; }

.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb; }
  .alert-danger hr {
    border-top-color: #f1b0b7; }
  .alert-danger .alert-link {
    color: #491217; }

.alert-light {
  color: #818181;
  background-color: #fefefe;
  border-color: #fdfdfd; }
  .alert-light hr {
    border-top-color: #f0f0f0; }
  .alert-light .alert-link {
    color: #686868; }

.alert-dark {
  color: #1d1d1d;
  background-color: #d7d7d7;
  border-color: #c7c7c7; }
  .alert-dark hr {
    border-top-color: #bababa; }
  .alert-dark .alert-link {
    color: #040404; }

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e9e9e9;
  border-radius: 0.25rem; }

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #eab7ab;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      transition: none; } }

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem; }

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
      animation: none; } }

.media {
  display: flex;
  align-items: flex-start; }

.media-body {
  flex: 1; }

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem; }

.list-group-item-action {
  width: 100%;
  color: #494949;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: #494949;
    text-decoration: none;
    background-color: #f9f9f9; }
  .list-group-item-action:active {
    color: #545353;
    background-color: #e9e9e9; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #818181;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #eab7ab;
    border-color: #eab7ab; }
  .list-group-item + .list-group-item {
    border-top-width: 0; }
    .list-group-item + .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

.list-group-horizontal {
  flex-direction: row; }
  .list-group-horizontal > .list-group-item:first-child {
    border-bottom-left-radius: 0.25rem;
    border-top-right-radius: 0; }
  .list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0; }
  .list-group-horizontal > .list-group-item.active {
    margin-top: 0; }
  .list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0; }
    .list-group-horizontal > .list-group-item + .list-group-item.active {
      margin-left: -1px;
      border-left-width: 1px; }

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row; }
    .list-group-horizontal-sm > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-sm > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-sm > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-sm > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row; }
    .list-group-horizontal-md > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-md > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-md > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-md > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-md > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row; }
    .list-group-horizontal-lg > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-lg > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-lg > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-lg > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row; }
    .list-group-horizontal-xl > .list-group-item:first-child {
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal-xl > .list-group-item:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }
    .list-group-horizontal-xl > .list-group-item.active {
      margin-top: 0; }
    .list-group-horizontal-xl > .list-group-item + .list-group-item {
      border-top-width: 1px;
      border-left-width: 0; }
      .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
        margin-left: -1px;
        border-left-width: 1px; } }

.list-group-flush {
  border-radius: 0; }
  .list-group-flush > .list-group-item {
    border-width: 0 0 1px; }
    .list-group-flush > .list-group-item:last-child {
      border-bottom-width: 0; }

.list-group-item-primary {
  color: #7a5f59;
  background-color: #f9ebe7; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #7a5f59;
    background-color: #f4dad3; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #7a5f59;
    border-color: #7a5f59; }

.list-group-item-secondary {
  color: #513f38;
  background-color: #e3dad6; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #513f38;
    background-color: #d9ccc7; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #513f38;
    border-color: #513f38; }

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb; }
  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5; }
  .list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba; }
  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1; }
  .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb; }
  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7; }
  .list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

.list-group-item-light {
  color: #818181;
  background-color: #fdfdfd; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #818181;
    background-color: #f0f0f0; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818181;
    border-color: #818181; }

.list-group-item-dark {
  color: #1d1d1d;
  background-color: #c7c7c7; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #1d1d1d;
    background-color: #bababa; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #1d1d1d;
    border-color: #1d1d1d; }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  .close:hover {
    color: #000000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

button.close {
  padding: 0;
  background-color: transparent;
  border: 0; }

a.close.disabled {
  pointer-events: none; }

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem; }
  .toast:not(:last-child) {
    margin-bottom: 0.75rem; }
  .toast.showing {
    opacity: 1; }
  .toast.show {
    display: block;
    opacity: 1; }
  .toast.hide {
    display: none; }

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #818181;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.toast-body {
  padding: 0.75rem; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        transition: none; } }
  .modal.show .modal-dialog {
    transform: none; }
  .modal.modal-static .modal-dialog {
    transform: scale(1.02); }

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    height: min-content;
    content: ""; }
  .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.075rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #f5ecdd;
  border-top-left-radius: calc(0.075rem - 1px);
  border-top-right-radius: calc(0.075rem - 1px); }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.4; }

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem; }

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #f5ecdd;
  border-bottom-right-radius: calc(0.075rem - 1px);
  border-bottom-left-radius: calc(0.075rem - 1px); }
  .modal-footer > * {
    margin: 0.25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem);
      height: min-content; }
  .modal-sm {
    max-width: 300px; } }

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px; } }

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 0.9; }
  .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0; }
  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0; }
    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
      top: 0;
      border-width: 0.4rem 0.4rem 0;
      border-top-color: #000000; }

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem; }
  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
    left: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
      right: 0;
      border-width: 0.4rem 0.4rem 0.4rem 0;
      border-right-color: #000000; }

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0; }
  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
    top: 0; }
    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
      bottom: 0;
      border-width: 0 0.4rem 0.4rem;
      border-bottom-color: #000000; }

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem; }
  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
      left: 0;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-left-color: #000000; }

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000000;
  border-radius: 0.25rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Poppins", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.075rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.075rem; }
    .popover .arrow::before, .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc(-0.5rem - 1px); }
    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
      bottom: 0;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.075rem 0; }
    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
      left: 0;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc(-0.5rem - 1px); }
    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
      top: 0;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc(-0.5rem - 1px);
    width: 0.5rem;
    height: 1rem;
    margin: 0.075rem 0; }
    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
      right: 0;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.075rem - 1px);
  border-top-right-radius: calc(0.075rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #545353; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  touch-action: pan-y; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      transition: none; } }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%); }

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none; }

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1; }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      transition: none; } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50% / 100% 100% no-repeat; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center; }

@keyframes spinner-border {
  to {
    transform: rotate(360deg); } }

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: .75s linear infinite spinner-border; }

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em; }

@keyframes spinner-grow {
  0% {
    transform: scale(0); }
  50% {
    opacity: 1;
    transform: none; } }

.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentColor;
  border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow; }

.spinner-grow-sm {
  width: 1rem;
  height: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    animation-duration: 1.5s; } }

.align-baseline {
  vertical-align: baseline !important; }

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

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

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

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

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

.bg-primary {
  background-color: #eab7ab !important; }

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #e09482 !important; }

.bg-secondary {
  background-color: #9c7a6c !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #7f6256 !important; }

.bg-success {
  background-color: #28a745 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important; }

.bg-info {
  background-color: #17a2b8 !important; }

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important; }

.bg-warning {
  background-color: #ffc107 !important; }

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important; }

.bg-danger {
  background-color: #dc3545 !important; }

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important; }

.bg-light {
  background-color: #f9f9f9 !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #e0e0e0 !important; }

.bg-dark {
  background-color: #373737 !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1e1e1e !important; }

.bg-white {
  background-color: #fff !important; }

.bg-transparent {
  background-color: transparent !important; }

.border {
  border: 1px solid #f5ecdd !important; }

.border-top {
  border-top: 1px solid #f5ecdd !important; }

.border-right {
  border-right: 1px solid #f5ecdd !important; }

.border-bottom {
  border-bottom: 1px solid #f5ecdd !important; }

.border-left {
  border-left: 1px solid #f5ecdd !important; }

.border-0 {
  border: 0 !important; }

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

.border-primary {
  border-color: #eab7ab !important; }

.border-secondary {
  border-color: #9c7a6c !important; }

.border-success {
  border-color: #28a745 !important; }

.border-info {
  border-color: #17a2b8 !important; }

.border-warning {
  border-color: #ffc107 !important; }

.border-danger {
  border-color: #dc3545 !important; }

.border-light {
  border-color: #f9f9f9 !important; }

.border-dark {
  border-color: #373737 !important; }

.border-white {
  border-color: #fff !important; }

.rounded-sm {
  border-radius: 0.125rem !important; }

.rounded {
  border-radius: 0.25rem !important; }

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important; }

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important; }

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-lg {
  border-radius: 0.075rem !important; }

.rounded-circle {
  border-radius: 50% !important; }

.rounded-pill {
  border-radius: 50rem !important; }

.rounded-0 {
  border-radius: 0 !important; }

.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: flex !important; }

.d-inline-flex {
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9::before {
  padding-top: 42.85714%; }

.embed-responsive-16by9::before {
  padding-top: 56.25%; }

.embed-responsive-4by3::before {
  padding-top: 75%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

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

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

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

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

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

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

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  flex: 1 1 auto !important; }

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

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

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

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

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

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

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

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

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

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

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

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

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

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

.align-self-stretch {
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-none {
  float: none !important; }

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

.user-select-all {
  user-select: all !important; }

.user-select-auto {
  user-select: auto !important; }

.user-select-none {
  user-select: none !important; }

.overflow-auto {
  overflow: auto !important; }

.overflow-hidden {
  overflow: hidden !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-sticky {
  position: sticky !important; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1) !important; }

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08) !important; }

.shadow-lg {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08) !important; }

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

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.w-auto {
  width: auto !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

.h-auto {
  height: auto !important; }

.mw-100 {
  max-width: 100% !important; }

.mh-100 {
  max-height: 100% !important; }

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

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

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

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

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-1 {
  margin: 0.15rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.15rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.15rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.15rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.15rem !important; }

.m-2 {
  margin: 0.3rem !important; }

.mt-2,
.my-2 {
  margin-top: 0.3rem !important; }

.mr-2,
.mx-2 {
  margin-right: 0.3rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 0.3rem !important; }

.ml-2,
.mx-2 {
  margin-left: 0.3rem !important; }

.m-3 {
  margin: 0.6rem !important; }

.mt-3,
.my-3 {
  margin-top: 0.6rem !important; }

.mr-3,
.mx-3 {
  margin-right: 0.6rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 0.6rem !important; }

.ml-3,
.mx-3 {
  margin-left: 0.6rem !important; }

.m-4 {
  margin: 1rem !important; }

.mt-4,
.my-4 {
  margin-top: 1rem !important; }

.mr-4,
.mx-4 {
  margin-right: 1rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 1rem !important; }

.ml-4,
.mx-4 {
  margin-left: 1rem !important; }

.m-5 {
  margin: 2.4rem !important; }

.mt-5,
.my-5 {
  margin-top: 2.4rem !important; }

.mr-5,
.mx-5 {
  margin-right: 2.4rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 2.4rem !important; }

.ml-5,
.mx-5 {
  margin-left: 2.4rem !important; }

.m-6 {
  margin: 3.6rem !important; }

.mt-6,
.my-6 {
  margin-top: 3.6rem !important; }

.mr-6,
.mx-6 {
  margin-right: 3.6rem !important; }

.mb-6,
.my-6 {
  margin-bottom: 3.6rem !important; }

.ml-6,
.mx-6 {
  margin-left: 3.6rem !important; }

.m-7 {
  margin: 7.2rem !important; }

.mt-7,
.my-7 {
  margin-top: 7.2rem !important; }

.mr-7,
.mx-7 {
  margin-right: 7.2rem !important; }

.mb-7,
.my-7 {
  margin-bottom: 7.2rem !important; }

.ml-7,
.mx-7 {
  margin-left: 7.2rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.15rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.15rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.15rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.15rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.15rem !important; }

.p-2 {
  padding: 0.3rem !important; }

.pt-2,
.py-2 {
  padding-top: 0.3rem !important; }

.pr-2,
.px-2 {
  padding-right: 0.3rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 0.3rem !important; }

.pl-2,
.px-2 {
  padding-left: 0.3rem !important; }

.p-3 {
  padding: 0.6rem !important; }

.pt-3,
.py-3 {
  padding-top: 0.6rem !important; }

.pr-3,
.px-3 {
  padding-right: 0.6rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 0.6rem !important; }

.pl-3,
.px-3 {
  padding-left: 0.6rem !important; }

.p-4 {
  padding: 1rem !important; }

.pt-4,
.py-4 {
  padding-top: 1rem !important; }

.pr-4,
.px-4 {
  padding-right: 1rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 1rem !important; }

.pl-4,
.px-4 {
  padding-left: 1rem !important; }

.p-5 {
  padding: 2.4rem !important; }

.pt-5,
.py-5 {
  padding-top: 2.4rem !important; }

.pr-5,
.px-5 {
  padding-right: 2.4rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 2.4rem !important; }

.pl-5,
.px-5 {
  padding-left: 2.4rem !important; }

.p-6 {
  padding: 3.6rem !important; }

.pt-6,
.py-6 {
  padding-top: 3.6rem !important; }

.pr-6,
.px-6 {
  padding-right: 3.6rem !important; }

.pb-6,
.py-6 {
  padding-bottom: 3.6rem !important; }

.pl-6,
.px-6 {
  padding-left: 3.6rem !important; }

.p-7 {
  padding: 7.2rem !important; }

.pt-7,
.py-7 {
  padding-top: 7.2rem !important; }

.pr-7,
.px-7 {
  padding-right: 7.2rem !important; }

.pb-7,
.py-7 {
  padding-bottom: 7.2rem !important; }

.pl-7,
.px-7 {
  padding-left: 7.2rem !important; }

.m-n1 {
  margin: -0.15rem !important; }

.mt-n1,
.my-n1 {
  margin-top: -0.15rem !important; }

.mr-n1,
.mx-n1 {
  margin-right: -0.15rem !important; }

.mb-n1,
.my-n1 {
  margin-bottom: -0.15rem !important; }

.ml-n1,
.mx-n1 {
  margin-left: -0.15rem !important; }

.m-n2 {
  margin: -0.3rem !important; }

.mt-n2,
.my-n2 {
  margin-top: -0.3rem !important; }

.mr-n2,
.mx-n2 {
  margin-right: -0.3rem !important; }

.mb-n2,
.my-n2 {
  margin-bottom: -0.3rem !important; }

.ml-n2,
.mx-n2 {
  margin-left: -0.3rem !important; }

.m-n3 {
  margin: -0.6rem !important; }

.mt-n3,
.my-n3 {
  margin-top: -0.6rem !important; }

.mr-n3,
.mx-n3 {
  margin-right: -0.6rem !important; }

.mb-n3,
.my-n3 {
  margin-bottom: -0.6rem !important; }

.ml-n3,
.mx-n3 {
  margin-left: -0.6rem !important; }

.m-n4 {
  margin: -1rem !important; }

.mt-n4,
.my-n4 {
  margin-top: -1rem !important; }

.mr-n4,
.mx-n4 {
  margin-right: -1rem !important; }

.mb-n4,
.my-n4 {
  margin-bottom: -1rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -1rem !important; }

.m-n5 {
  margin: -2.4rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -2.4rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -2.4rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -2.4rem !important; }

.ml-n5,
.mx-n5 {
  margin-left: -2.4rem !important; }

.m-n6 {
  margin: -3.6rem !important; }

.mt-n6,
.my-n6 {
  margin-top: -3.6rem !important; }

.mr-n6,
.mx-n6 {
  margin-right: -3.6rem !important; }

.mb-n6,
.my-n6 {
  margin-bottom: -3.6rem !important; }

.ml-n6,
.mx-n6 {
  margin-left: -3.6rem !important; }

.m-n7 {
  margin: -7.2rem !important; }

.mt-n7,
.my-n7 {
  margin-top: -7.2rem !important; }

.mr-n7,
.mx-n7 {
  margin-right: -7.2rem !important; }

.mb-n7,
.my-n7 {
  margin-bottom: -7.2rem !important; }

.ml-n7,
.mx-n7 {
  margin-left: -7.2rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.15rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.15rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.15rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.15rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.15rem !important; }
  .m-sm-2 {
    margin: 0.3rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.3rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.3rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.3rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.3rem !important; }
  .m-sm-3 {
    margin: 0.6rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 0.6rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 0.6rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 0.6rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 0.6rem !important; }
  .m-sm-4 {
    margin: 1rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1rem !important; }
  .m-sm-5 {
    margin: 2.4rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 2.4rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 2.4rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 2.4rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 2.4rem !important; }
  .m-sm-6 {
    margin: 3.6rem !important; }
  .mt-sm-6,
  .my-sm-6 {
    margin-top: 3.6rem !important; }
  .mr-sm-6,
  .mx-sm-6 {
    margin-right: 3.6rem !important; }
  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 3.6rem !important; }
  .ml-sm-6,
  .mx-sm-6 {
    margin-left: 3.6rem !important; }
  .m-sm-7 {
    margin: 7.2rem !important; }
  .mt-sm-7,
  .my-sm-7 {
    margin-top: 7.2rem !important; }
  .mr-sm-7,
  .mx-sm-7 {
    margin-right: 7.2rem !important; }
  .mb-sm-7,
  .my-sm-7 {
    margin-bottom: 7.2rem !important; }
  .ml-sm-7,
  .mx-sm-7 {
    margin-left: 7.2rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.15rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.15rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.15rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.15rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.15rem !important; }
  .p-sm-2 {
    padding: 0.3rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.3rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.3rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.3rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.3rem !important; }
  .p-sm-3 {
    padding: 0.6rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 0.6rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 0.6rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 0.6rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 0.6rem !important; }
  .p-sm-4 {
    padding: 1rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1rem !important; }
  .p-sm-5 {
    padding: 2.4rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 2.4rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 2.4rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 2.4rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 2.4rem !important; }
  .p-sm-6 {
    padding: 3.6rem !important; }
  .pt-sm-6,
  .py-sm-6 {
    padding-top: 3.6rem !important; }
  .pr-sm-6,
  .px-sm-6 {
    padding-right: 3.6rem !important; }
  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 3.6rem !important; }
  .pl-sm-6,
  .px-sm-6 {
    padding-left: 3.6rem !important; }
  .p-sm-7 {
    padding: 7.2rem !important; }
  .pt-sm-7,
  .py-sm-7 {
    padding-top: 7.2rem !important; }
  .pr-sm-7,
  .px-sm-7 {
    padding-right: 7.2rem !important; }
  .pb-sm-7,
  .py-sm-7 {
    padding-bottom: 7.2rem !important; }
  .pl-sm-7,
  .px-sm-7 {
    padding-left: 7.2rem !important; }
  .m-sm-n1 {
    margin: -0.15rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.15rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.15rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.15rem !important; }
  .m-sm-n2 {
    margin: -0.3rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.3rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.3rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.3rem !important; }
  .m-sm-n3 {
    margin: -0.6rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -0.6rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -0.6rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -0.6rem !important; }
  .m-sm-n4 {
    margin: -1rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1rem !important; }
  .m-sm-n5 {
    margin: -2.4rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -2.4rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -2.4rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -2.4rem !important; }
  .m-sm-n6 {
    margin: -3.6rem !important; }
  .mt-sm-n6,
  .my-sm-n6 {
    margin-top: -3.6rem !important; }
  .mr-sm-n6,
  .mx-sm-n6 {
    margin-right: -3.6rem !important; }
  .mb-sm-n6,
  .my-sm-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-sm-n6,
  .mx-sm-n6 {
    margin-left: -3.6rem !important; }
  .m-sm-n7 {
    margin: -7.2rem !important; }
  .mt-sm-n7,
  .my-sm-n7 {
    margin-top: -7.2rem !important; }
  .mr-sm-n7,
  .mx-sm-n7 {
    margin-right: -7.2rem !important; }
  .mb-sm-n7,
  .my-sm-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-sm-n7,
  .mx-sm-n7 {
    margin-left: -7.2rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.15rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.15rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.15rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.15rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.15rem !important; }
  .m-md-2 {
    margin: 0.3rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.3rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.3rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.3rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.3rem !important; }
  .m-md-3 {
    margin: 0.6rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 0.6rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 0.6rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 0.6rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 0.6rem !important; }
  .m-md-4 {
    margin: 1rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1rem !important; }
  .m-md-5 {
    margin: 2.4rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 2.4rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 2.4rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 2.4rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 2.4rem !important; }
  .m-md-6 {
    margin: 3.6rem !important; }
  .mt-md-6,
  .my-md-6 {
    margin-top: 3.6rem !important; }
  .mr-md-6,
  .mx-md-6 {
    margin-right: 3.6rem !important; }
  .mb-md-6,
  .my-md-6 {
    margin-bottom: 3.6rem !important; }
  .ml-md-6,
  .mx-md-6 {
    margin-left: 3.6rem !important; }
  .m-md-7 {
    margin: 7.2rem !important; }
  .mt-md-7,
  .my-md-7 {
    margin-top: 7.2rem !important; }
  .mr-md-7,
  .mx-md-7 {
    margin-right: 7.2rem !important; }
  .mb-md-7,
  .my-md-7 {
    margin-bottom: 7.2rem !important; }
  .ml-md-7,
  .mx-md-7 {
    margin-left: 7.2rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.15rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.15rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.15rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.15rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.15rem !important; }
  .p-md-2 {
    padding: 0.3rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.3rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.3rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.3rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.3rem !important; }
  .p-md-3 {
    padding: 0.6rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 0.6rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 0.6rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 0.6rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 0.6rem !important; }
  .p-md-4 {
    padding: 1rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1rem !important; }
  .p-md-5 {
    padding: 2.4rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 2.4rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 2.4rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 2.4rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 2.4rem !important; }
  .p-md-6 {
    padding: 3.6rem !important; }
  .pt-md-6,
  .py-md-6 {
    padding-top: 3.6rem !important; }
  .pr-md-6,
  .px-md-6 {
    padding-right: 3.6rem !important; }
  .pb-md-6,
  .py-md-6 {
    padding-bottom: 3.6rem !important; }
  .pl-md-6,
  .px-md-6 {
    padding-left: 3.6rem !important; }
  .p-md-7 {
    padding: 7.2rem !important; }
  .pt-md-7,
  .py-md-7 {
    padding-top: 7.2rem !important; }
  .pr-md-7,
  .px-md-7 {
    padding-right: 7.2rem !important; }
  .pb-md-7,
  .py-md-7 {
    padding-bottom: 7.2rem !important; }
  .pl-md-7,
  .px-md-7 {
    padding-left: 7.2rem !important; }
  .m-md-n1 {
    margin: -0.15rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.15rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.15rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.15rem !important; }
  .m-md-n2 {
    margin: -0.3rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.3rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.3rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.3rem !important; }
  .m-md-n3 {
    margin: -0.6rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -0.6rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -0.6rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -0.6rem !important; }
  .m-md-n4 {
    margin: -1rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1rem !important; }
  .m-md-n5 {
    margin: -2.4rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -2.4rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -2.4rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -2.4rem !important; }
  .m-md-n6 {
    margin: -3.6rem !important; }
  .mt-md-n6,
  .my-md-n6 {
    margin-top: -3.6rem !important; }
  .mr-md-n6,
  .mx-md-n6 {
    margin-right: -3.6rem !important; }
  .mb-md-n6,
  .my-md-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-md-n6,
  .mx-md-n6 {
    margin-left: -3.6rem !important; }
  .m-md-n7 {
    margin: -7.2rem !important; }
  .mt-md-n7,
  .my-md-n7 {
    margin-top: -7.2rem !important; }
  .mr-md-n7,
  .mx-md-n7 {
    margin-right: -7.2rem !important; }
  .mb-md-n7,
  .my-md-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-md-n7,
  .mx-md-n7 {
    margin-left: -7.2rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.15rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.15rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.15rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.15rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.15rem !important; }
  .m-lg-2 {
    margin: 0.3rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.3rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.3rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.3rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.3rem !important; }
  .m-lg-3 {
    margin: 0.6rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 0.6rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 0.6rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 0.6rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 0.6rem !important; }
  .m-lg-4 {
    margin: 1rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1rem !important; }
  .m-lg-5 {
    margin: 2.4rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 2.4rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 2.4rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 2.4rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 2.4rem !important; }
  .m-lg-6 {
    margin: 3.6rem !important; }
  .mt-lg-6,
  .my-lg-6 {
    margin-top: 3.6rem !important; }
  .mr-lg-6,
  .mx-lg-6 {
    margin-right: 3.6rem !important; }
  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 3.6rem !important; }
  .ml-lg-6,
  .mx-lg-6 {
    margin-left: 3.6rem !important; }
  .m-lg-7 {
    margin: 7.2rem !important; }
  .mt-lg-7,
  .my-lg-7 {
    margin-top: 7.2rem !important; }
  .mr-lg-7,
  .mx-lg-7 {
    margin-right: 7.2rem !important; }
  .mb-lg-7,
  .my-lg-7 {
    margin-bottom: 7.2rem !important; }
  .ml-lg-7,
  .mx-lg-7 {
    margin-left: 7.2rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.15rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.15rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.15rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.15rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.15rem !important; }
  .p-lg-2 {
    padding: 0.3rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.3rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.3rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.3rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.3rem !important; }
  .p-lg-3 {
    padding: 0.6rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 0.6rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 0.6rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 0.6rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 0.6rem !important; }
  .p-lg-4 {
    padding: 1rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1rem !important; }
  .p-lg-5 {
    padding: 2.4rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 2.4rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 2.4rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 2.4rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 2.4rem !important; }
  .p-lg-6 {
    padding: 3.6rem !important; }
  .pt-lg-6,
  .py-lg-6 {
    padding-top: 3.6rem !important; }
  .pr-lg-6,
  .px-lg-6 {
    padding-right: 3.6rem !important; }
  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 3.6rem !important; }
  .pl-lg-6,
  .px-lg-6 {
    padding-left: 3.6rem !important; }
  .p-lg-7 {
    padding: 7.2rem !important; }
  .pt-lg-7,
  .py-lg-7 {
    padding-top: 7.2rem !important; }
  .pr-lg-7,
  .px-lg-7 {
    padding-right: 7.2rem !important; }
  .pb-lg-7,
  .py-lg-7 {
    padding-bottom: 7.2rem !important; }
  .pl-lg-7,
  .px-lg-7 {
    padding-left: 7.2rem !important; }
  .m-lg-n1 {
    margin: -0.15rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.15rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.15rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.15rem !important; }
  .m-lg-n2 {
    margin: -0.3rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.3rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.3rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.3rem !important; }
  .m-lg-n3 {
    margin: -0.6rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -0.6rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -0.6rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -0.6rem !important; }
  .m-lg-n4 {
    margin: -1rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1rem !important; }
  .m-lg-n5 {
    margin: -2.4rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -2.4rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -2.4rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -2.4rem !important; }
  .m-lg-n6 {
    margin: -3.6rem !important; }
  .mt-lg-n6,
  .my-lg-n6 {
    margin-top: -3.6rem !important; }
  .mr-lg-n6,
  .mx-lg-n6 {
    margin-right: -3.6rem !important; }
  .mb-lg-n6,
  .my-lg-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-lg-n6,
  .mx-lg-n6 {
    margin-left: -3.6rem !important; }
  .m-lg-n7 {
    margin: -7.2rem !important; }
  .mt-lg-n7,
  .my-lg-n7 {
    margin-top: -7.2rem !important; }
  .mr-lg-n7,
  .mx-lg-n7 {
    margin-right: -7.2rem !important; }
  .mb-lg-n7,
  .my-lg-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-lg-n7,
  .mx-lg-n7 {
    margin-left: -7.2rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.15rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.15rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.15rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.15rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.15rem !important; }
  .m-xl-2 {
    margin: 0.3rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.3rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.3rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.3rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.3rem !important; }
  .m-xl-3 {
    margin: 0.6rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 0.6rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 0.6rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 0.6rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 0.6rem !important; }
  .m-xl-4 {
    margin: 1rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1rem !important; }
  .m-xl-5 {
    margin: 2.4rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 2.4rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 2.4rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 2.4rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 2.4rem !important; }
  .m-xl-6 {
    margin: 3.6rem !important; }
  .mt-xl-6,
  .my-xl-6 {
    margin-top: 3.6rem !important; }
  .mr-xl-6,
  .mx-xl-6 {
    margin-right: 3.6rem !important; }
  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 3.6rem !important; }
  .ml-xl-6,
  .mx-xl-6 {
    margin-left: 3.6rem !important; }
  .m-xl-7 {
    margin: 7.2rem !important; }
  .mt-xl-7,
  .my-xl-7 {
    margin-top: 7.2rem !important; }
  .mr-xl-7,
  .mx-xl-7 {
    margin-right: 7.2rem !important; }
  .mb-xl-7,
  .my-xl-7 {
    margin-bottom: 7.2rem !important; }
  .ml-xl-7,
  .mx-xl-7 {
    margin-left: 7.2rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.15rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.15rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.15rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.15rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.15rem !important; }
  .p-xl-2 {
    padding: 0.3rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.3rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.3rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.3rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.3rem !important; }
  .p-xl-3 {
    padding: 0.6rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 0.6rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 0.6rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 0.6rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 0.6rem !important; }
  .p-xl-4 {
    padding: 1rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1rem !important; }
  .p-xl-5 {
    padding: 2.4rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 2.4rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 2.4rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 2.4rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 2.4rem !important; }
  .p-xl-6 {
    padding: 3.6rem !important; }
  .pt-xl-6,
  .py-xl-6 {
    padding-top: 3.6rem !important; }
  .pr-xl-6,
  .px-xl-6 {
    padding-right: 3.6rem !important; }
  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 3.6rem !important; }
  .pl-xl-6,
  .px-xl-6 {
    padding-left: 3.6rem !important; }
  .p-xl-7 {
    padding: 7.2rem !important; }
  .pt-xl-7,
  .py-xl-7 {
    padding-top: 7.2rem !important; }
  .pr-xl-7,
  .px-xl-7 {
    padding-right: 7.2rem !important; }
  .pb-xl-7,
  .py-xl-7 {
    padding-bottom: 7.2rem !important; }
  .pl-xl-7,
  .px-xl-7 {
    padding-left: 7.2rem !important; }
  .m-xl-n1 {
    margin: -0.15rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.15rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.15rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.15rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.15rem !important; }
  .m-xl-n2 {
    margin: -0.3rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.3rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.3rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.3rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.3rem !important; }
  .m-xl-n3 {
    margin: -0.6rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -0.6rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -0.6rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -0.6rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -0.6rem !important; }
  .m-xl-n4 {
    margin: -1rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1rem !important; }
  .m-xl-n5 {
    margin: -2.4rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -2.4rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -2.4rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -2.4rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -2.4rem !important; }
  .m-xl-n6 {
    margin: -3.6rem !important; }
  .mt-xl-n6,
  .my-xl-n6 {
    margin-top: -3.6rem !important; }
  .mr-xl-n6,
  .mx-xl-n6 {
    margin-right: -3.6rem !important; }
  .mb-xl-n6,
  .my-xl-n6 {
    margin-bottom: -3.6rem !important; }
  .ml-xl-n6,
  .mx-xl-n6 {
    margin-left: -3.6rem !important; }
  .m-xl-n7 {
    margin: -7.2rem !important; }
  .mt-xl-n7,
  .my-xl-n7 {
    margin-top: -7.2rem !important; }
  .mr-xl-n7,
  .mx-xl-n7 {
    margin-right: -7.2rem !important; }
  .mb-xl-n7,
  .my-xl-n7 {
    margin-bottom: -7.2rem !important; }
  .ml-xl-n7,
  .mx-xl-n7 {
    margin-left: -7.2rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }

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

.text-wrap {
  white-space: normal !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

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

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

.text-center {
  text-align: center !important; }

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

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

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

.font-weight-lighter {
  font-weight: lighter !important; }

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

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

.font-weight-bolder {
  font-weight: bolder !important; }

.font-italic {
  font-style: italic !important; }

.text-white {
  color: #fff !important; }

.text-primary {
  color: #eab7ab !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #db836e !important; }

.text-secondary {
  color: #9c7a6c !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #70564b !important; }

.text-success {
  color: #28a745 !important; }

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

.text-light {
  color: #f9f9f9 !important; }

a.text-light:hover, a.text-light:focus {
  color: lightgray !important; }

.text-dark {
  color: #373737 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #111111 !important; }

.text-body {
  color: #545353 !important; }

.text-muted {
  color: #818181 !important; }

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

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

.text-break {
  word-break: break-word !important;
  word-wrap: break-word !important; }

.text-reset {
  color: inherit !important; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important; }
  a:not(.btn) {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #adadad;
    page-break-inside: avoid; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  @page {
    size: a3; }
  body {
    min-width: 992px !important; }
  .container {
    min-width: 992px !important; }
  .navbar {
    display: none; }
  .badge {
    border: 1px solid #000000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dedede !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #f5ecdd; }
  .table .thead-dark th {
    color: inherit;
    border-color: #f5ecdd; } }

div.cw-grid-two {
  grid-gap: 20px;
  grid-template-columns: auto auto auto auto auto;
  display: grid;
  overflow: auto; }

/************** ***************** **************/
/************** BOUTONS AVEC FOND **************/
/************** ***************** **************/
@media screen and (min-width: 0) {
  .btn-xs-100 {
    width: 100px !important; }
  .btn-xs-120 {
    width: 120px !important; }
  .btn-xs-140 {
    width: 140px !important; }
  .btn-xs-160 {
    width: 160px !important; }
  .btn-xs-180 {
    width: 180px !important; }
  .btn-xs-200 {
    width: 200px !important; }
  .btn-xs-220 {
    width: 220px !important; }
  .btn-xs-240 {
    width: 240px !important; }
  .btn-xs-260 {
    width: 260px !important; }
  .btn-xs-280 {
    width: 280px !important; }
  .btn-xs-300 {
    width: 300px !important; }
  .btn-xs-320 {
    width: 320px !important; }
  .btn-xs-340 {
    width: 340px !important; }
  .btn-xs-360 {
    width: 360px !important; }
  .btn-xs-380 {
    width: 380px !important; }
  .btn-xs-400 {
    width: 400px !important; } }

@media screen and (min-width: 576px) {
  .btn-sm-100 {
    width: 100px !important; }
  .btn-sm-120 {
    width: 120px !important; }
  .btn-sm-140 {
    width: 140px !important; }
  .btn-sm-160 {
    width: 160px !important; }
  .btn-sm-180 {
    width: 180px !important; }
  .btn-sm-200 {
    width: 200px !important; }
  .btn-sm-220 {
    width: 220px !important; }
  .btn-sm-240 {
    width: 240px !important; }
  .btn-sm-260 {
    width: 260px !important; }
  .btn-sm-280 {
    width: 280px !important; }
  .btn-sm-300 {
    width: 300px !important; }
  .btn-sm-320 {
    width: 320px !important; }
  .btn-sm-340 {
    width: 340px !important; }
  .btn-sm-360 {
    width: 360px !important; }
  .btn-sm-380 {
    width: 380px !important; }
  .btn-sm-400 {
    width: 400px !important; } }

@media screen and (min-width: 768px) {
  .btn-md-100 {
    width: 100px !important; }
  .btn-md-120 {
    width: 120px !important; }
  .btn-md-140 {
    width: 140px !important; }
  .btn-md-160 {
    width: 160px !important; }
  .btn-md-180 {
    width: 180px !important; }
  .btn-md-200 {
    width: 200px !important; }
  .btn-md-220 {
    width: 220px !important; }
  .btn-md-240 {
    width: 240px !important; }
  .btn-md-260 {
    width: 260px !important; }
  .btn-md-280 {
    width: 280px !important; }
  .btn-md-300 {
    width: 300px !important; }
  .btn-md-320 {
    width: 320px !important; }
  .btn-md-340 {
    width: 340px !important; }
  .btn-md-360 {
    width: 360px !important; }
  .btn-md-380 {
    width: 380px !important; }
  .btn-md-400 {
    width: 400px !important; } }

@media screen and (min-width: 992px) {
  .btn-lg-100 {
    width: 100px !important; }
  .btn-lg-120 {
    width: 120px !important; }
  .btn-lg-140 {
    width: 140px !important; }
  .btn-lg-160 {
    width: 160px !important; }
  .btn-lg-180 {
    width: 180px !important; }
  .btn-lg-200 {
    width: 200px !important; }
  .btn-lg-220 {
    width: 220px !important; }
  .btn-lg-240 {
    width: 240px !important; }
  .btn-lg-260 {
    width: 260px !important; }
  .btn-lg-280 {
    width: 280px !important; }
  .btn-lg-300 {
    width: 300px !important; }
  .btn-lg-320 {
    width: 320px !important; }
  .btn-lg-340 {
    width: 340px !important; }
  .btn-lg-360 {
    width: 360px !important; }
  .btn-lg-380 {
    width: 380px !important; }
  .btn-lg-400 {
    width: 400px !important; } }

@media screen and (min-width: 1200px) {
  .btn-xl-100 {
    width: 100px !important; }
  .btn-xl-120 {
    width: 120px !important; }
  .btn-xl-140 {
    width: 140px !important; }
  .btn-xl-160 {
    width: 160px !important; }
  .btn-xl-180 {
    width: 180px !important; }
  .btn-xl-200 {
    width: 200px !important; }
  .btn-xl-220 {
    width: 220px !important; }
  .btn-xl-240 {
    width: 240px !important; }
  .btn-xl-260 {
    width: 260px !important; }
  .btn-xl-280 {
    width: 280px !important; }
  .btn-xl-300 {
    width: 300px !important; }
  .btn-xl-320 {
    width: 320px !important; }
  .btn-xl-340 {
    width: 340px !important; }
  .btn-xl-360 {
    width: 360px !important; }
  .btn-xl-380 {
    width: 380px !important; }
  .btn-xl-400 {
    width: 400px !important; } }

@media (max-width: 575.98px) {
  [class*="btn-"] {
    width: 100%;
    clear: both; }
    [class*="btn-"] .dropdown {
      width: 100%; } }

.cw-opacity-100 {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100); }

.cw-opacity-90 {
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  filter: alpha(opacity=90); }

.cw-opacity-80 {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80); }

.cw-opacity-70 {
  opacity: 0.7;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70); }

.cw-opacity-60 {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60); }

.cw-opacity-50 {
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50); }

.cw-opacity-40 {
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40); }

.cw-opacity-30 {
  opacity: 0.3;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  filter: alpha(opacity=30); }

.cw-opacity-20 {
  opacity: 0.2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20); }

.cw-opacity-10 {
  opacity: 0.1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
  filter: alpha(opacity=10); }

.cw-opacity-0 {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0); }

button:focus, button:active:focus, button:focus-visible, .btn:focus, .btn:active:focus, .btn:focus-visible {
  outline: none; }

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

.btn-dropdown button, .btn-dropdown .dropdown-menu {
  min-width: 100%; }

.btn-dropdown .dropdown-menu {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: none;
  overflow: hidden; }

/************** ******************* **************/
/************** PARAMETRAGE DE BASE **************/
/************** ******************* **************/
.btn {
  border-radius: 50px;
  -moz-transition: 0.2s;
  -o-transition: 0.2s;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  display: inline-block;
  z-index: 1;
  position: relative;
  height: initial;
  padding: 24px 30px;
  border: none;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: none;
  text-align: center; }
  .btn:before, .btn:after {
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    content: '';
    z-index: -1; }
  .btn:hover, .btn:active, .btn:focus {
    border-radius: 50px;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    transition: 0.2s; }

.btn-primary, .button-primary {
  color: #fff !important;
  background-color: #eab7ab; }
  .btn-primary:hover, .button-primary:hover {
    color: #fff !important; }
  .btn-primary:hover, .button-primary:hover {
    background-color: #9c7a6c; }

.btn-secondary, .button-secondary {
  color: #fff !important;
  background-color: #9c7a6c; }
  .btn-secondary:hover, .button-secondary:hover {
    color: #fff !important; }
  .btn-secondary:hover, .button-secondary:hover {
    background-color: #7f6256; }

.btn-tertiary {
  padding: 7px 0;
  margin: 0 2px;
  border-radius: 0; }
  @media (min-width: 992px) {
    .btn-tertiary {
      display: inline-block;
      position: relative; }
      .btn-tertiary:after, .btn-tertiary:before {
        -moz-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -o-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -webkit-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        display: inline-block;
        position: absolute;
        content: '';
        bottom: 0;
        width: 0;
        height: 100%; }
      .btn-tertiary:after {
        border-bottom: 1px solid #818181;
        width: 100%;
        left: 0; }
      .btn-tertiary:before {
        border-bottom: 1px solid #fff;
        width: 0;
        left: 50%;
        z-index: 1; }
      .btn-tertiary:hover:before {
        -moz-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -o-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        -webkit-transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        transition: width 0.2s ease-in-out, left 0.2s ease-in-out;
        width: 100%;
        left: calc(50% - (100% / 2)); } }
  .btn-tertiary:hover, .btn-tertiary:active, .btn-tertiary:focus {
    border-radius: 0; }

/************** BLOC ACTU **************/
.all-actus {
  color: #fff !important;
  background-color: #eab7ab; }
  .all-actus:hover {
    color: #fff !important; }
  .all-actus:hover {
    background-color: #9c7a6c; }

/************** BLOC AVIS CLIENT (front)**************/
#avis-client .view-footer .btn-avis .btn-primary {
  color: #fff !important;
  background-color: #eab7ab; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    color: #fff !important; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    background-color: #9c7a6c; }

/************** AVIS CLIENT **************/
.page-node-add-message .form-actions .webform-submit, .page-node-add-message .form-actions #edit-submit {
  color: #fff !important;
  background-color: #eab7ab; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    color: #fff !important; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    background-color: #9c7a6c; }

/************** FORMULAIRE BLOC BOTTOM ACCUEIL **************/
/************** FORMULAIRE PAGE CONTACT **************/
/* ************************************************************* */
/* ************************ BTN EXEMPLE ************************ */
/* ************************************************************* */
.btn-0 {
  color: #fff !important;
  background-color: #eab7ab; }
  .btn-0:hover {
    color: #fff !important; }
  .btn-0:hover {
    background-color: #9c7a6c; }

.btn-1 {
  color: #fff !important;
  background: linear-gradient(90deg, #eab7ab, transparent 70%) #e09482;
  transition: background-color 0.8s; }
  .btn-1:hover {
    color: #fff !important; }
  .btn-1:hover {
    background: linear-gradient(90deg, #e09482, transparent 70%) #e09482;
    background-color: #efc8bf;
    transition: background-color 1s; }

.btn-2 {
  color: #fff !important;
  background: linear-gradient(90deg, #eab7ab, transparent 70%) #9c7a6c;
  transition: background-color 0.8s; }
  .btn-2:hover {
    color: #fff !important; }
  .btn-2:hover {
    background-color: #616060;
    transition: background-color 1s; }

.btn-img {
  color: #fff !important;
  background-image: url("../images/bg-bouton-2.jpg");
  background-position: center center;
  background-repeat: repeat; }
  .btn-img:hover {
    color: #fff !important; }
  .btn-img:hover {
    background-image: url("../images/bg-bouton.jpg"); }

/* *********************************************************************** */
/* ************************ BTN pour Font Awesome ************************ */
/* *********************************************************************** */
[class*="btn-fa-"]::before, [class*="btn-fa-"]::after {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  width: 0px;
  overflow: hidden;
  position: relative;
  top: 2px; }

[class*="btn-fa-"]:hover::before, [class*="btn-fa-"]:hover::after {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 10px; }

[class*="btn-fa-"]:hover::before {
  margin-right: 5px; }

[class*="btn-fa-"]:hover::after {
  margin-left: 5px; }

.btn-fa-angle-left::before {
  content: "\f105"; }

.btn-fa-angle-right::after {
  content: "\f104"; }

.btn-fa-angle-center::before {
  content: "\f105"; }

.btn-fa-angle-center::after {
  content: "\f104"; }

.btn-group-xs > .btn, .btn-xs {
  padding: .4rem .5rem;
  font-size: .65rem;
  line-height: .5;
  border-radius: .2rem; }

.btn-warning {
  color: #181818;
  background-color: #ffc107;
  border-color: #ffc107;
  border-radius: 0.25rem !important; }
  .btn-warning:hover {
    border-radius: 0.25rem !important;
    background-color: #d39e00;
    border-color: #c69500; }

/* ************************************************************ */
/* ************************ BTN slide ************************ */
/* ************************************************************ */
@media (max-width: 767.98px) {
  body .btn-slide {
    width: auto !important;
    min-width: 250px !important; }
    body .btn-slide span {
      position: relative;
      right: 15px;
      color: #fff; }
    body .btn-slide:after {
      width: 100%; } }

.btn-slide {
  box-shadow: none;
  padding: 15px;
  padding-left: 65px;
  min-height: 50px; }
  .btn-slide span {
    -moz-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    z-index: 1;
    position: relative;
    right: 0; }
  .btn-slide:before {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 1px;
    width: 50px;
    min-height: 50px;
    color: #fff;
    font-size: 25px;
    padding: 7.5px; }
  .btn-slide:after {
    -moz-transition: width 0.2s ease-in-out;
    -o-transition: width 0.2s ease-in-out;
    -webkit-transition: width 0.2s ease-in-out;
    transition: width 0.2s ease-in-out;
    content: "";
    position: absolute;
    top: -3px;
    left: 0px;
    width: 50px;
    min-height: 50px;
    height: 100%;
    background-color: #eab7ab;
    border-radius: 30px; }
  .btn-slide:hover span {
    -moz-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    -webkit-transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, right 0.2s ease-in-out;
    color: #fff !important;
    right: 15px; }
  .btn-slide:hover:after {
    width: 100%;
    height: 100%; }

.btn-slide.btn-slide-white {
  color: #fff !important; }

.btn-img {
  -moz-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -o-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -webkit-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2));
  -moz-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.2)); }
  .btn-img:hover {
    -moz-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -o-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -webkit-transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5));
    -moz-filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.5)); }

.img-center, .box-center {
  margin: 0 auto; }

@media (min-width: 576px) {
  .img-sm-center, .box-sm-center {
    margin: 0 auto; }
  .img-sm-left, .box-sm-left {
    margin-left: 0;
    margin-right: auto; }
  .img-sm-right, .box-sm-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 768px) {
  .md-img-article {
    max-width: 650px; }
  .img-md-center, .box-md-center {
    margin: 0 auto; }
  .img-md-left, .box-md-left {
    margin-left: 0;
    margin-right: auto; }
  .img-md-right, .box-md-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 992px) {
  .lg-img-article {
    max-width: 790px; }
  .img-lg-center, .box-lg-center {
    margin: 0 auto; }
  .img-lg-left, .box-lg-left {
    margin-left: 0;
    margin-right: auto; }
  .img-lg-right, .box-lg-right {
    margin-left: auto;
    margin-right: 0; } }

@media (min-width: 1200px) {
  .img-xl-center, .box-xl-center {
    margin: 0 auto; }
  .img-xl-left, .box-xl-left {
    margin-left: 0;
    margin-right: auto; }
  .img-xl-right, .box-xl-right {
    margin-left: auto;
    margin-right: 0; } }

/* ------------ PICTOS PARALLAX ------------ */
.cw-ibox {
  -moz-transition: 0.1s ease-in-out;
  -o-transition: 0.1s ease-in-out;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  border-radius: 0.075rem;
  padding: 20px;
  overflow: auto;
  background: #faf5ed; }
  .cw-ibox > h4 {
    margin-top: 30px;
    text-transform: uppercase; }
  .cw-ibox h3 {
    margin-top: 0; }
  .cw-ibox .separation {
    margin-bottom: 10px; }
  .cw-ibox:hover {
    -webkit-transform: scale(1.03, 1.03);
    -moz-transform: scale(1.03, 1.03);
    -ms-transform: scale(1.03, 1.03);
    -o-transform: scale(1.03, 1.03);
    transform: scale(1.03, 1.03);
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }
  .cw-ibox ul:last-child, .cw-ibox p:last-child {
    margin-bottom: 0; }
  .cw-ibox ul {
    font-size: 0.8rem;
    line-height: 1.6; }

/* ------------ ZOOM SUR IMAGE b431 ------------ */
.cw-lazy img {
  -moz-transition: transform 0.3s ease-in-out;
  -o-transition: transform 0.3s ease-in-out;
  -webkit-transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out; }

.cw-lazy img:hover {
  -webkit-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1); }

.cw-lazy-hide {
  overflow: hidden; }

/* ------------ ------------ ------------ */
.cw-no-before-after::before, .cw-no-before-after::after {
  display: none; }

.cw-content {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  padding: 20px; }
  .cw-content:hover {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }

.cw-blend-mode-screen {
  mix-blend-mode: screen; }

.cw-blend-mode-darken {
  mix-blend-mode: darken; }

.cw-box-100 {
  width: 100%; }

.cw-boxradius {
  border-radius: 0.25rem !important; }

.cw-boxradius-2 {
  border-radius: 30px !important; }

.cw-boxradius-1x1x {
  border-radius: calc(100px / 2) 0 calc(100px / 2) 0 !important; }

.cw-boxradius-x1x1 {
  border-radius: 0 calc(100px / 2) 0 calc(100px / 2) !important; }

@media (min-width: 768px) {
  .cw-boxradius-1x1x {
    border-radius: 100px 0 100px 0 !important; }
  .cw-boxradius-x1x1 {
    border-radius: 0 100px 0 100px !important; } }

.cw-boxshadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.cw-boxshadow-1 {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1); }

.cw-boxshadow-2 {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.cw-drop-shadow {
  -webkit-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15));
  -moz-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15));
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.15)); }

.cw-circle {
  border-radius: 50% !important; }

.cw-square {
  height: 260px;
  width: 260px;
  max-height: 80vw;
  max-width: 80vw;
  margin: auto; }

.cw-border {
  border: solid 1px rgba(233, 233, 233, 0.52) !important; }

.cw-border-top {
  border-top: solid 1px #e9e9e9 !important; }

.cw-border-bottom {
  border-bottom: solid 1px #e9e9e9 !important; }

.cw-line-vertical {
  width: 2px;
  background-color: #e9e9e9; }

.cw-bg-one {
  background-color: #eab7ab !important; }

.cw-bg-two {
  background-color: #9c7a6c !important; }

.cw-bg-three {
  background-color: #fff !important; }

.cw-bg-one-tr {
  background: rgba(234, 183, 171, 0.8) !important; }

.cw-bg-two-tr {
  background: rgba(255, 255, 255, 0.15) !important; }

.cw-bg-three-tr {
  background: rgba(255, 255, 255, 0.8) !important; }

.cw-bg-white {
  background-color: #fff !important; }

.cw-bg-black, .cw-bg-dark {
  background-color: #000000 !important; }

.cw-bg-gray {
  background-color: #f9f9f9 !important; }

.cw-bg-img {
  background-image: url("../images/picto-bg.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

[class*="cw-bg-gradient-"] {
  position: relative; }
  [class*="cw-bg-gradient-"]:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

.cw-bg-gradient-one:after {
  background: -owg-linear-gradient(to top, rgba(255, 255, 255, 0.8) 100%, rgba(0, 0, 0, 0.85) 100%);
  background: -webkit-linear-gradient(to top, rgba(255, 255, 255, 0.8) 100%, rgba(0, 0, 0, 0.85) 100%);
  background: -moz-linear-gradient(to top, rgba(255, 255, 255, 0.8) 100%, rgba(0, 0, 0, 0.85) 100%);
  background: -o-linear-gradient(to top, rgba(255, 255, 255, 0.8) 100%, rgba(0, 0, 0, 0.85) 100%);
  background: linear-gradient(to top, rgba(255, 255, 255, 0.8) 100%, rgba(0, 0, 0, 0.85) 100%); }

.cw-bg-gradient-two:after {
  background: -owg-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%);
  background: linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%); }

.cw-bg-gradient-three:after {
  background: -owg-linear-gradient(to top, rgba(234, 183, 171, 0.6) 0%, rgba(234, 183, 171, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(234, 183, 171, 0.6) 0%, rgba(234, 183, 171, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(234, 183, 171, 0.6) 0%, rgba(234, 183, 171, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(234, 183, 171, 0.6) 0%, rgba(234, 183, 171, 0.6) 100%);
  background: linear-gradient(to top, rgba(234, 183, 171, 0.6) 0%, rgba(234, 183, 171, 0.6) 100%); }

.cw-before-after-full {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

.cw-filter-black:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.55;
  background-color: #000000; }

.cw-img-grayscale {
  -webkit-filter: grayscale(1);
  -moz-filter: grayscale(1);
  filter: grayscale(1); }

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

/* --- display none a partir de ... cf queries --- */
.front .xs-fr-hidden {
  display: none; }

.not-front .xs-nfr-hidden {
  display: none; }

/* ------------  --------------------- ------------ */
/* ------------  BACKGROUND DIFFERENTS ------------ */
/* ------------  --------------------- ------------ */
[class*="cw-bg-image-"] {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: white;
  color: rgba(255, 255, 255, 0.7); }

.cw-bg-image-1 {
  background-image: url("../images/acc1.jpg"); }

.cw-bg-image-2 {
  background-image: url("../images/acc2.jpg"); }

.cw-bg-image-3 {
  background-image: url("../images/acc3.jpg"); }

@media (min-width: 576px) {
  .cw-ibox {
    padding: 50px;
    margin: 0 auto; } }

@media (min-width: 768px) {
  .md-img-article {
    max-width: 650px; } }

@media (min-width: 992px) {
  .lg-img-article {
    max-width: 790px; } }

.cw-table-container {
  padding: 30px;
  background-color: rgba(234, 183, 171, 0.35);
  color: #eab7ab; }
  .cw-table-container h2 {
    font-weight: 500;
    color: #eab7ab; }
  .cw-table-container .btn {
    color: #fff !important;
    background-color: #9c7a6c;
    border: 0px solid #9c7a6c;
    padding: 7px 7px; }
    .cw-table-container .btn:hover {
      color: #fff !important; }
    .cw-table-container .btn:hover {
      background-color: #7f6256; }
    .cw-table-container .btn:hover {
      border: 0px solid #7f6256; }
  .cw-table-container thead tr td {
    padding: 20px;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: center; }
    .cw-table-container thead tr td:first-child {
      text-align: left; }
  .cw-table-container .cw-table-mob {
    background-color: rgba(255, 255, 255, 0.7); }
    .cw-table-container .cw-table-mob tbody tr {
      display: flex;
      flex-direction: column;
      width: 100%;
      color: #eab7ab; }
      .cw-table-container .cw-table-mob tbody tr:nth-child(2n+1) {
        background-color: rgba(255, 255, 255, 0.4); }
      .cw-table-container .cw-table-mob tbody tr td {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100% !important;
        padding: 0px 20px 10px 20px; }
        .cw-table-container .cw-table-mob tbody tr td br {
          display: none; }
        .cw-table-container .cw-table-mob tbody tr td:last-child {
          padding-bottom: 20px; }
        .cw-table-container .cw-table-mob tbody tr td:first-child {
          padding: 20px !important; }
        .cw-table-container .cw-table-mob tbody tr td p {
          margin: 0px;
          text-align: center; }

/***Tableau complexe - before - ajouter la classe .cw-table-complex ***/
.cw-table-container .cw-table-complex thead {
  display: none; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(2):before {
  content: "- Mini -"; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(3):before {
  content: "- Standard -"; }

.cw-table-container .cw-table-complex tbody tr td:nth-child(4):before {
  content: "- Grande -"; }

.not-before:before {
  display: none; }

/*** Deux tableau dans une carte_menu ***/
.cw-container-two-table {
  display: flex;
  flex-direction: column; }
  .cw-container-two-table .cw-table-container {
    width: 100%;
    margin-bottom: 20px; }

@media (min-width: 768px) {
  .cw-table-mob tbody tr {
    display: table-row !important; }
  .cw-table-mob tbody td {
    display: table-cell !important;
    min-width: 90px;
    padding: 20px !important;
    text-align: center;
    white-space: nowrap; }
    .cw-table-mob tbody td:before {
      display: none; }
    .cw-table-mob tbody td:first-child {
      width: 55% !important;
      text-align: left;
      white-space: normal !important; }
      .cw-table-mob tbody td:first-child br {
        display: block !important; }
  /***Tableau complexe - thead - ajouter la classe .cw-table-complex ***/
  .cw-table-container .cw-table-complex thead {
    display: table-header-group; }
  /*** Deux tableau dans une carte_menu ***/
  .cw-container-two-table {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    .cw-container-two-table .cw-table-container {
      width: 48%;
      margin: 0px; } }

/************** ********************* **************/
/************** TEXTE CENTRER SUR IMG **************/
/************** ********************* **************/
#inner-page-section .cw-img-hover {
  position: relative; }
  #inner-page-section .cw-img-hover a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 400px;
    opacity: 0;
    text-transform: uppercase; }
    #inner-page-section .cw-img-hover a:hover {
      color: #fff;
      opacity: 1;
      background-color: #9c7a6c;
      background-color: rgba(156, 122, 108, 0.86); }

/************** ****** **************/
/************** PICTOS **************/
/************** ****** **************/
.cw-pictos {
  display: flex;
  flex-wrap: wrap; }
  .cw-pictos.cw-pictos-mt-legend .picto-legende {
    margin-top: 1rem; }
  .cw-pictos > div {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .cw-pictos > div > div {
      display: flex;
      justify-content: center; }
  .cw-pictos .picto {
    display: flex;
    align-items: center;
    flex-direction: column;
    fill: #fff;
    height: 230px;
    width: 230px;
    padding: 12%;
    overflow: hidden; }
    .cw-pictos .picto img {
      margin: auto;
      display: block;
      max-width: 100%;
      max-height: 100%;
      height: auto; }
  .cw-pictos .picto-image {
    min-height: 129px;
    display: flex;
    align-items: center; }
  .cw-pictos .picto-legende {
    max-width: 280px;
    margin: 0;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.1rem;
    text-align: center;
    text-shadow: 0px 5px 4px rgba(0, 0, 0, 0.15); }
    .cw-pictos .picto-legende b {
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-size: 1.2em; }

.cw-pictos-xs > div {
  margin: 0 5px;
  width: 100%;
  max-width: 140px; }
  .cw-pictos-xs > div .picto {
    height: 140px;
    width: 100%; }

.cw-pictos-sm > div {
  margin: 0 10px;
  width: 100%;
  max-width: 160px; }
  .cw-pictos-sm > div .picto {
    height: 160px;
    width: 100%; }

.cw-pictos-md > div {
  margin: 0 15px;
  width: 100%;
  max-width: 180px; }
  .cw-pictos-md > div .picto {
    width: 100%;
    height: 180px; }

.cw-pictos-lg > div {
  margin: 0 20px;
  width: 100%;
  max-width: 200px; }
  .cw-pictos-lg > div .picto {
    height: 200px;
    width: 100%; }

.cw-pictos-rectangle > div {
  margin: 0 20px;
  width: 100%;
  max-width: 400px; }
  .cw-pictos-rectangle > div .picto {
    height: 200px;
    width: 100%;
    padding: 8%; }

.all-img-grayscale img {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  filter: grayscale(100%);
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  transition: 0.5s; }
  .all-img-grayscale img:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    filter: grayscale(0%);
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s; }

/************** ****** **************/
/************** PUZZLE **************/
/************** ****** **************/
.puzzle-img-height-10.img-content {
  height: 10% !important; }

.puzzle-col-width-10 {
  width: 10% !important; }

.puzzle-img-height-20.img-content {
  height: 20% !important; }

.puzzle-col-width-20 {
  width: 20% !important; }

.puzzle-img-height-30.img-content {
  height: 33.33% !important; }

.puzzle-col-width-30 {
  width: 33.33% !important; }

.puzzle-img-height-50.img-content {
  height: 50% !important; }

.puzzle-col-width-50 {
  width: 50% !important; }

.puzzle-img-height-100.img-content {
  height: 100% !important; }

.puzzle-col-width-100 {
  width: 100% !important; }

.cw-imgs-puzzle .content {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .cw-imgs-puzzle .content .img-content:nth-child(n+2) {
    padding-top: calc(7px * 2); }
  .cw-imgs-puzzle .content > div:nth-child(n+2) {
    padding-left: calc(7px * 2); }

.cw-imgs-puzzle .img-background {
  position: relative;
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  border-radius: 0.25rem;
  box-shadow: 0px 9px 46px 0px rgba(0, 0, 0, 0.27); }
  .cw-imgs-puzzle .img-background img {
    filter: brightness(1) blur(0px);
    -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    border-radius: 0.075rem; }
  .cw-imgs-puzzle .img-background .show-more {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #fff; }
    .cw-imgs-puzzle .img-background .show-more .icon {
      transform: rotate(225deg); }
    .cw-imgs-puzzle .img-background .show-more .icon:before {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      font-size: 1.2rem;
      content: "";
      display: block;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .cw-imgs-puzzle .img-background .show-more .title {
      font-family: "Poppins", sans-serif;
      font-size: 0.75rem;
      display: block;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.8s 0.2s;
      -o-transition: all 0.8s 0.2s;
      -webkit-transition: all 0.8s 0.2s;
      transition: all 0.8s 0.2s; }
  .cw-imgs-puzzle .img-background:hover img {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    filter: brightness(0.5) blur(1px); }
  .cw-imgs-puzzle .img-background:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .cw-imgs-puzzle .img-background:hover .show-more .icon:before {
      -webkit-transform: scale(1.5, 1.5);
      -moz-transform: scale(1.5, 1.5);
      -ms-transform: scale(1.5, 1.5);
      -o-transform: scale(1.5, 1.5);
      transform: scale(1.5, 1.5);
      -moz-transition: all 0.6s;
      -o-transition: all 0.6s;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .cw-imgs-puzzle .img-background:hover .title {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  .cw-imgs-puzzle .img-background:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
    border-radius: 0.25rem;
    background-color: #eab7ab; }

.cw-imgs-puzzle .col-puzzle-1, .cw-imgs-puzzle .col-puzzle-2 {
  height: calc(2 * 190px); }

.cw-imgs-puzzle .col-puzzle-3 {
  height: calc(385px / 2);
  margin-top: calc(7px * 2);
  padding-left: 0 !important; }

[class*="cw-follow-us-"] {
  color: #5f5f5f; }
  [class*="cw-follow-us-"] strong {
    color: #9c7a6c;
    font-size: 22px;
    font-weight: 500; }
  [class*="cw-follow-us-"] a {
    color: #5f5f5f !important; }
  [class*="cw-follow-us-"] a > i {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    width: 50px;
    height: 50px;
    background: #eab7ab;
    color: #fff;
    font-size: 24px;
    border-radius: 50px;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); }
    [class*="cw-follow-us-"] a > i path {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      fill: #fff; }
    [class*="cw-follow-us-"] a > i:hover, [class*="cw-follow-us-"] a > ifocus {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      background-color: #9c7a6c;
      color: #fff;
      box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.1); }
      [class*="cw-follow-us-"] a > i:hover path, [class*="cw-follow-us-"] a > ifocus path {
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        fill: #fff; }
  [class*="cw-follow-us-"] a i.fab, [class*="cw-follow-us-"] a .svg {
    display: flex;
    justify-content: center;
    align-items: center; }
  [class*="cw-follow-us-"] i > svg {
    width: 21px;
    height: 18px;
    max-width: 100%;
    max-height: 100%; }
    [class*="cw-follow-us-"] i > svg:hover, [class*="cw-follow-us-"] i > svgfocus {
      fill: #fff; }

.cw-follow-us-only {
  font-size: 18px;
  line-height: 1.2em; }

.cw-follow-us-various {
  font-size: 0.9rem; }
  .cw-follow-us-various .cw-follow-us-various-content a {
    display: inline-block;
    margin: 5px; }

.cw-container {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

@media (max-width: 575.98px) {
  table.cw-table-responsive {
    background-color: #dedede; }
    table.cw-table-responsive thead {
      display: none; }
    table.cw-table-responsive tr {
      display: block;
      border-bottom: 0.5px dashed #e9e9e9; }
      table.cw-table-responsive tr td {
        display: block; }
        table.cw-table-responsive tr td:before {
          content: attr(data-label);
          display: block;
          text-align: center;
          text-transform: uppercase;
          font-weight: bold; }
      table.cw-table-responsive tr td:first-child {
        background: #faf5ed !important; } }

@media (min-width: 576px) {
  .front .sm-fr-hidden {
    display: none; }
  .not-front .sm-nfr-hidden {
    display: none; } }

@media (min-width: 768px) {
  .front .md-fr-hidden {
    display: none; }
  .not-front .md-nfr-hidden {
    display: none; } }

@media (min-width: 992px) {
  .front .lg-fr-hidden {
    display: none; }
  .not-front .lg-nfr-hidden {
    display: none; } }

/* -1 ou 1 pour orientation horizontal de la forme */
/************** **** **************/
/************** BLOC **************/
/************** **** **************/
/************** ***** **************/
/************** CLASS **************/
/************** ***** **************/
[class*="shape-divider-bottom-"] {
  position: relative;
  padding-bottom: 20px; }
  [class*="shape-divider-bottom-"]:after {
    bottom: -1px; }

[class*="shape-divider-top-"] {
  position: relative;
  padding-top: 20px; }
  [class*="shape-divider-top-"]:before {
    top: -1px; }

.shape-divider-top-down-lr:before {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(255, 255, 255, 1)"></path> </svg>');
  transform: scale(1, 1);
  fill: #0e69be; }
  @media (min-width: 992px) {
    .shape-divider-top-down-lr:before {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-top-up-lr:before {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(255, 255, 255, 1)"></path> </svg>');
  transform: scale(-1, 1); }
  @media (min-width: 992px) {
    .shape-divider-top-up-lr:before {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-bottom-down-lr:after {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(255, 255, 255, 1)"></path> </svg>');
  transform: scale(-1, -1); }
  @media (min-width: 992px) {
    .shape-divider-bottom-down-lr:after {
      height: 70px;
      background-size: 100% 70px; } }

.shape-divider-bottom-up-rl:after {
  content: '';
  position: absolute;
  background-color: transparent;
  background-size: 100% calc(70px - 50px);
  background-repeat: repeat-x;
  background-position: top center;
  width: 100%;
  height: calc(70px - 50px);
  display: block;
  z-index: 1031;
  background-image: url('data:image/svg+xml;utf8, <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" class="shape-fill" fill="rgba(255, 255, 255, 1)"></path> </svg>');
  transform: scale(1, -1); }
  @media (min-width: 992px) {
    .shape-divider-bottom-up-rl:after {
      height: 70px;
      background-size: 100% 70px; } }

.m-0 {
  margin: 0px !important; }

.mt-0,
.my-0 {
  margin-top: 0px !important; }

.mr-0,
.mx-0 {
  margin-right: 0px !important; }

.mb-0,
.my-0 {
  margin-bottom: 0px !important; }

.ml-0,
.mx-0 {
  margin-left: 0px !important; }

.m-10 {
  margin: 10px !important; }

.mt-10,
.my-10 {
  margin-top: 10px !important; }

.mr-10,
.mx-10 {
  margin-right: 10px !important; }

.mb-10,
.my-10 {
  margin-bottom: 10px !important; }

.ml-10,
.mx-10 {
  margin-left: 10px !important; }

.m-15 {
  margin: 15px !important; }

.mt-15,
.my-15 {
  margin-top: 15px !important; }

.mr-15,
.mx-15 {
  margin-right: 15px !important; }

.mb-15,
.my-15 {
  margin-bottom: 15px !important; }

.ml-15,
.mx-15 {
  margin-left: 15px !important; }

.m-20 {
  margin: 20px !important; }

.mt-20,
.my-20 {
  margin-top: 20px !important; }

.mr-20,
.mx-20 {
  margin-right: 20px !important; }

.mb-20,
.my-20 {
  margin-bottom: 20px !important; }

.ml-20,
.mx-20 {
  margin-left: 20px !important; }

.m-30 {
  margin: 30px !important; }

.mt-30,
.my-30 {
  margin-top: 30px !important; }

.mr-30,
.mx-30 {
  margin-right: 30px !important; }

.mb-30,
.my-30 {
  margin-bottom: 30px !important; }

.ml-30,
.mx-30 {
  margin-left: 30px !important; }

.m-40 {
  margin: 40px !important; }

.mt-40,
.my-40 {
  margin-top: 40px !important; }

.mr-40,
.mx-40 {
  margin-right: 40px !important; }

.mb-40,
.my-40 {
  margin-bottom: 40px !important; }

.ml-40,
.mx-40 {
  margin-left: 40px !important; }

.m-50 {
  margin: 50px !important; }

.mt-50,
.my-50 {
  margin-top: 50px !important; }

.mr-50,
.mx-50 {
  margin-right: 50px !important; }

.mb-50,
.my-50 {
  margin-bottom: 50px !important; }

.ml-50,
.mx-50 {
  margin-left: 50px !important; }

.m-60 {
  margin: 60px !important; }

.mt-60,
.my-60 {
  margin-top: 60px !important; }

.mr-60,
.mx-60 {
  margin-right: 60px !important; }

.mb-60,
.my-60 {
  margin-bottom: 60px !important; }

.ml-60,
.mx-60 {
  margin-left: 60px !important; }

.m-70 {
  margin: 70px !important; }

.mt-70,
.my-70 {
  margin-top: 70px !important; }

.mr-70,
.mx-70 {
  margin-right: 70px !important; }

.mb-70,
.my-70 {
  margin-bottom: 70px !important; }

.ml-70,
.mx-70 {
  margin-left: 70px !important; }

.m-80 {
  margin: 80px !important; }

.mt-80,
.my-80 {
  margin-top: 80px !important; }

.mr-80,
.mx-80 {
  margin-right: 80px !important; }

.mb-80,
.my-80 {
  margin-bottom: 80px !important; }

.ml-80,
.mx-80 {
  margin-left: 80px !important; }

.p-0 {
  padding: 0px !important; }

.pt-0,
.py-0 {
  padding-top: 0px !important; }

.pr-0,
.px-0 {
  padding-right: 0px !important; }

.pb-0,
.py-0 {
  padding-bottom: 0px !important; }

.pl-0,
.px-0 {
  padding-left: 0px !important; }

.p-10 {
  padding: 10px !important; }

.pt-10,
.py-10 {
  padding-top: 10px !important; }

.pr-10,
.px-10 {
  padding-right: 10px !important; }

.pb-10,
.py-10 {
  padding-bottom: 10px !important; }

.pl-10,
.px-10 {
  padding-left: 10px !important; }

.p-15 {
  padding: 15px !important; }

.pt-15,
.py-15 {
  padding-top: 15px !important; }

.pr-15,
.px-15 {
  padding-right: 15px !important; }

.pb-15,
.py-15 {
  padding-bottom: 15px !important; }

.pl-15,
.px-15 {
  padding-left: 15px !important; }

.p-20 {
  padding: 20px !important; }

.pt-20,
.py-20 {
  padding-top: 20px !important; }

.pr-20,
.px-20 {
  padding-right: 20px !important; }

.pb-20,
.py-20 {
  padding-bottom: 20px !important; }

.pl-20,
.px-20 {
  padding-left: 20px !important; }

.p-30 {
  padding: 30px !important; }

.pt-30,
.py-30 {
  padding-top: 30px !important; }

.pr-30,
.px-30 {
  padding-right: 30px !important; }

.pb-30,
.py-30 {
  padding-bottom: 30px !important; }

.pl-30,
.px-30 {
  padding-left: 30px !important; }

.p-40 {
  padding: 40px !important; }

.pt-40,
.py-40 {
  padding-top: 40px !important; }

.pr-40,
.px-40 {
  padding-right: 40px !important; }

.pb-40,
.py-40 {
  padding-bottom: 40px !important; }

.pl-40,
.px-40 {
  padding-left: 40px !important; }

.p-50 {
  padding: 50px !important; }

.pt-50,
.py-50 {
  padding-top: 50px !important; }

.pr-50,
.px-50 {
  padding-right: 50px !important; }

.pb-50,
.py-50 {
  padding-bottom: 50px !important; }

.pl-50,
.px-50 {
  padding-left: 50px !important; }

.p-60 {
  padding: 60px !important; }

.pt-60,
.py-60 {
  padding-top: 60px !important; }

.pr-60,
.px-60 {
  padding-right: 60px !important; }

.pb-60,
.py-60 {
  padding-bottom: 60px !important; }

.pl-60,
.px-60 {
  padding-left: 60px !important; }

.p-70 {
  padding: 70px !important; }

.pt-70,
.py-70 {
  padding-top: 70px !important; }

.pr-70,
.px-70 {
  padding-right: 70px !important; }

.pb-70,
.py-70 {
  padding-bottom: 70px !important; }

.pl-70,
.px-70 {
  padding-left: 70px !important; }

.p-80 {
  padding: 80px !important; }

.pt-80,
.py-80 {
  padding-top: 80px !important; }

.pr-80,
.px-80 {
  padding-right: 80px !important; }

.pb-80,
.py-80 {
  padding-bottom: 80px !important; }

.pl-80,
.px-80 {
  padding-left: 80px !important; }

.m-n10 {
  margin: -10px !important; }

.mt-n10,
.my-n10 {
  margin-top: -10px !important; }

.mr-n10,
.mx-n10 {
  margin-right: -10px !important; }

.mb-n10,
.my-n10 {
  margin-bottom: -10px !important; }

.ml-n10,
.mx-n10 {
  margin-left: -10px !important; }

.m-n15 {
  margin: -15px !important; }

.mt-n15,
.my-n15 {
  margin-top: -15px !important; }

.mr-n15,
.mx-n15 {
  margin-right: -15px !important; }

.mb-n15,
.my-n15 {
  margin-bottom: -15px !important; }

.ml-n15,
.mx-n15 {
  margin-left: -15px !important; }

.m-n20 {
  margin: -20px !important; }

.mt-n20,
.my-n20 {
  margin-top: -20px !important; }

.mr-n20,
.mx-n20 {
  margin-right: -20px !important; }

.mb-n20,
.my-n20 {
  margin-bottom: -20px !important; }

.ml-n20,
.mx-n20 {
  margin-left: -20px !important; }

.m-n30 {
  margin: -30px !important; }

.mt-n30,
.my-n30 {
  margin-top: -30px !important; }

.mr-n30,
.mx-n30 {
  margin-right: -30px !important; }

.mb-n30,
.my-n30 {
  margin-bottom: -30px !important; }

.ml-n30,
.mx-n30 {
  margin-left: -30px !important; }

.m-n40 {
  margin: -40px !important; }

.mt-n40,
.my-n40 {
  margin-top: -40px !important; }

.mr-n40,
.mx-n40 {
  margin-right: -40px !important; }

.mb-n40,
.my-n40 {
  margin-bottom: -40px !important; }

.ml-n40,
.mx-n40 {
  margin-left: -40px !important; }

.m-n50 {
  margin: -50px !important; }

.mt-n50,
.my-n50 {
  margin-top: -50px !important; }

.mr-n50,
.mx-n50 {
  margin-right: -50px !important; }

.mb-n50,
.my-n50 {
  margin-bottom: -50px !important; }

.ml-n50,
.mx-n50 {
  margin-left: -50px !important; }

.m-n60 {
  margin: -60px !important; }

.mt-n60,
.my-n60 {
  margin-top: -60px !important; }

.mr-n60,
.mx-n60 {
  margin-right: -60px !important; }

.mb-n60,
.my-n60 {
  margin-bottom: -60px !important; }

.ml-n60,
.mx-n60 {
  margin-left: -60px !important; }

.m-n70 {
  margin: -70px !important; }

.mt-n70,
.my-n70 {
  margin-top: -70px !important; }

.mr-n70,
.mx-n70 {
  margin-right: -70px !important; }

.mb-n70,
.my-n70 {
  margin-bottom: -70px !important; }

.ml-n70,
.mx-n70 {
  margin-left: -70px !important; }

.m-n80 {
  margin: -80px !important; }

.mt-n80,
.my-n80 {
  margin-top: -80px !important; }

.mr-n80,
.mx-n80 {
  margin-right: -80px !important; }

.mb-n80,
.my-n80 {
  margin-bottom: -80px !important; }

.ml-n80,
.mx-n80 {
  margin-left: -80px !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0px !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0px !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0px !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0px !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0px !important; }
  .m-sm-10 {
    margin: 10px !important; }
  .mt-sm-10,
  .my-sm-10 {
    margin-top: 10px !important; }
  .mr-sm-10,
  .mx-sm-10 {
    margin-right: 10px !important; }
  .mb-sm-10,
  .my-sm-10 {
    margin-bottom: 10px !important; }
  .ml-sm-10,
  .mx-sm-10 {
    margin-left: 10px !important; }
  .m-sm-15 {
    margin: 15px !important; }
  .mt-sm-15,
  .my-sm-15 {
    margin-top: 15px !important; }
  .mr-sm-15,
  .mx-sm-15 {
    margin-right: 15px !important; }
  .mb-sm-15,
  .my-sm-15 {
    margin-bottom: 15px !important; }
  .ml-sm-15,
  .mx-sm-15 {
    margin-left: 15px !important; }
  .m-sm-20 {
    margin: 20px !important; }
  .mt-sm-20,
  .my-sm-20 {
    margin-top: 20px !important; }
  .mr-sm-20,
  .mx-sm-20 {
    margin-right: 20px !important; }
  .mb-sm-20,
  .my-sm-20 {
    margin-bottom: 20px !important; }
  .ml-sm-20,
  .mx-sm-20 {
    margin-left: 20px !important; }
  .m-sm-30 {
    margin: 30px !important; }
  .mt-sm-30,
  .my-sm-30 {
    margin-top: 30px !important; }
  .mr-sm-30,
  .mx-sm-30 {
    margin-right: 30px !important; }
  .mb-sm-30,
  .my-sm-30 {
    margin-bottom: 30px !important; }
  .ml-sm-30,
  .mx-sm-30 {
    margin-left: 30px !important; }
  .m-sm-40 {
    margin: 40px !important; }
  .mt-sm-40,
  .my-sm-40 {
    margin-top: 40px !important; }
  .mr-sm-40,
  .mx-sm-40 {
    margin-right: 40px !important; }
  .mb-sm-40,
  .my-sm-40 {
    margin-bottom: 40px !important; }
  .ml-sm-40,
  .mx-sm-40 {
    margin-left: 40px !important; }
  .m-sm-50 {
    margin: 50px !important; }
  .mt-sm-50,
  .my-sm-50 {
    margin-top: 50px !important; }
  .mr-sm-50,
  .mx-sm-50 {
    margin-right: 50px !important; }
  .mb-sm-50,
  .my-sm-50 {
    margin-bottom: 50px !important; }
  .ml-sm-50,
  .mx-sm-50 {
    margin-left: 50px !important; }
  .m-sm-60 {
    margin: 60px !important; }
  .mt-sm-60,
  .my-sm-60 {
    margin-top: 60px !important; }
  .mr-sm-60,
  .mx-sm-60 {
    margin-right: 60px !important; }
  .mb-sm-60,
  .my-sm-60 {
    margin-bottom: 60px !important; }
  .ml-sm-60,
  .mx-sm-60 {
    margin-left: 60px !important; }
  .m-sm-70 {
    margin: 70px !important; }
  .mt-sm-70,
  .my-sm-70 {
    margin-top: 70px !important; }
  .mr-sm-70,
  .mx-sm-70 {
    margin-right: 70px !important; }
  .mb-sm-70,
  .my-sm-70 {
    margin-bottom: 70px !important; }
  .ml-sm-70,
  .mx-sm-70 {
    margin-left: 70px !important; }
  .m-sm-80 {
    margin: 80px !important; }
  .mt-sm-80,
  .my-sm-80 {
    margin-top: 80px !important; }
  .mr-sm-80,
  .mx-sm-80 {
    margin-right: 80px !important; }
  .mb-sm-80,
  .my-sm-80 {
    margin-bottom: 80px !important; }
  .ml-sm-80,
  .mx-sm-80 {
    margin-left: 80px !important; }
  .p-sm-0 {
    padding: 0px !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0px !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0px !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0px !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0px !important; }
  .p-sm-10 {
    padding: 10px !important; }
  .pt-sm-10,
  .py-sm-10 {
    padding-top: 10px !important; }
  .pr-sm-10,
  .px-sm-10 {
    padding-right: 10px !important; }
  .pb-sm-10,
  .py-sm-10 {
    padding-bottom: 10px !important; }
  .pl-sm-10,
  .px-sm-10 {
    padding-left: 10px !important; }
  .p-sm-15 {
    padding: 15px !important; }
  .pt-sm-15,
  .py-sm-15 {
    padding-top: 15px !important; }
  .pr-sm-15,
  .px-sm-15 {
    padding-right: 15px !important; }
  .pb-sm-15,
  .py-sm-15 {
    padding-bottom: 15px !important; }
  .pl-sm-15,
  .px-sm-15 {
    padding-left: 15px !important; }
  .p-sm-20 {
    padding: 20px !important; }
  .pt-sm-20,
  .py-sm-20 {
    padding-top: 20px !important; }
  .pr-sm-20,
  .px-sm-20 {
    padding-right: 20px !important; }
  .pb-sm-20,
  .py-sm-20 {
    padding-bottom: 20px !important; }
  .pl-sm-20,
  .px-sm-20 {
    padding-left: 20px !important; }
  .p-sm-30 {
    padding: 30px !important; }
  .pt-sm-30,
  .py-sm-30 {
    padding-top: 30px !important; }
  .pr-sm-30,
  .px-sm-30 {
    padding-right: 30px !important; }
  .pb-sm-30,
  .py-sm-30 {
    padding-bottom: 30px !important; }
  .pl-sm-30,
  .px-sm-30 {
    padding-left: 30px !important; }
  .p-sm-40 {
    padding: 40px !important; }
  .pt-sm-40,
  .py-sm-40 {
    padding-top: 40px !important; }
  .pr-sm-40,
  .px-sm-40 {
    padding-right: 40px !important; }
  .pb-sm-40,
  .py-sm-40 {
    padding-bottom: 40px !important; }
  .pl-sm-40,
  .px-sm-40 {
    padding-left: 40px !important; }
  .p-sm-50 {
    padding: 50px !important; }
  .pt-sm-50,
  .py-sm-50 {
    padding-top: 50px !important; }
  .pr-sm-50,
  .px-sm-50 {
    padding-right: 50px !important; }
  .pb-sm-50,
  .py-sm-50 {
    padding-bottom: 50px !important; }
  .pl-sm-50,
  .px-sm-50 {
    padding-left: 50px !important; }
  .p-sm-60 {
    padding: 60px !important; }
  .pt-sm-60,
  .py-sm-60 {
    padding-top: 60px !important; }
  .pr-sm-60,
  .px-sm-60 {
    padding-right: 60px !important; }
  .pb-sm-60,
  .py-sm-60 {
    padding-bottom: 60px !important; }
  .pl-sm-60,
  .px-sm-60 {
    padding-left: 60px !important; }
  .p-sm-70 {
    padding: 70px !important; }
  .pt-sm-70,
  .py-sm-70 {
    padding-top: 70px !important; }
  .pr-sm-70,
  .px-sm-70 {
    padding-right: 70px !important; }
  .pb-sm-70,
  .py-sm-70 {
    padding-bottom: 70px !important; }
  .pl-sm-70,
  .px-sm-70 {
    padding-left: 70px !important; }
  .p-sm-80 {
    padding: 80px !important; }
  .pt-sm-80,
  .py-sm-80 {
    padding-top: 80px !important; }
  .pr-sm-80,
  .px-sm-80 {
    padding-right: 80px !important; }
  .pb-sm-80,
  .py-sm-80 {
    padding-bottom: 80px !important; }
  .pl-sm-80,
  .px-sm-80 {
    padding-left: 80px !important; }
  .m-sm-n10 {
    margin: -10px !important; }
  .mt-sm-n10,
  .my-sm-n10 {
    margin-top: -10px !important; }
  .mr-sm-n10,
  .mx-sm-n10 {
    margin-right: -10px !important; }
  .mb-sm-n10,
  .my-sm-n10 {
    margin-bottom: -10px !important; }
  .ml-sm-n10,
  .mx-sm-n10 {
    margin-left: -10px !important; }
  .m-sm-n15 {
    margin: -15px !important; }
  .mt-sm-n15,
  .my-sm-n15 {
    margin-top: -15px !important; }
  .mr-sm-n15,
  .mx-sm-n15 {
    margin-right: -15px !important; }
  .mb-sm-n15,
  .my-sm-n15 {
    margin-bottom: -15px !important; }
  .ml-sm-n15,
  .mx-sm-n15 {
    margin-left: -15px !important; }
  .m-sm-n20 {
    margin: -20px !important; }
  .mt-sm-n20,
  .my-sm-n20 {
    margin-top: -20px !important; }
  .mr-sm-n20,
  .mx-sm-n20 {
    margin-right: -20px !important; }
  .mb-sm-n20,
  .my-sm-n20 {
    margin-bottom: -20px !important; }
  .ml-sm-n20,
  .mx-sm-n20 {
    margin-left: -20px !important; }
  .m-sm-n30 {
    margin: -30px !important; }
  .mt-sm-n30,
  .my-sm-n30 {
    margin-top: -30px !important; }
  .mr-sm-n30,
  .mx-sm-n30 {
    margin-right: -30px !important; }
  .mb-sm-n30,
  .my-sm-n30 {
    margin-bottom: -30px !important; }
  .ml-sm-n30,
  .mx-sm-n30 {
    margin-left: -30px !important; }
  .m-sm-n40 {
    margin: -40px !important; }
  .mt-sm-n40,
  .my-sm-n40 {
    margin-top: -40px !important; }
  .mr-sm-n40,
  .mx-sm-n40 {
    margin-right: -40px !important; }
  .mb-sm-n40,
  .my-sm-n40 {
    margin-bottom: -40px !important; }
  .ml-sm-n40,
  .mx-sm-n40 {
    margin-left: -40px !important; }
  .m-sm-n50 {
    margin: -50px !important; }
  .mt-sm-n50,
  .my-sm-n50 {
    margin-top: -50px !important; }
  .mr-sm-n50,
  .mx-sm-n50 {
    margin-right: -50px !important; }
  .mb-sm-n50,
  .my-sm-n50 {
    margin-bottom: -50px !important; }
  .ml-sm-n50,
  .mx-sm-n50 {
    margin-left: -50px !important; }
  .m-sm-n60 {
    margin: -60px !important; }
  .mt-sm-n60,
  .my-sm-n60 {
    margin-top: -60px !important; }
  .mr-sm-n60,
  .mx-sm-n60 {
    margin-right: -60px !important; }
  .mb-sm-n60,
  .my-sm-n60 {
    margin-bottom: -60px !important; }
  .ml-sm-n60,
  .mx-sm-n60 {
    margin-left: -60px !important; }
  .m-sm-n70 {
    margin: -70px !important; }
  .mt-sm-n70,
  .my-sm-n70 {
    margin-top: -70px !important; }
  .mr-sm-n70,
  .mx-sm-n70 {
    margin-right: -70px !important; }
  .mb-sm-n70,
  .my-sm-n70 {
    margin-bottom: -70px !important; }
  .ml-sm-n70,
  .mx-sm-n70 {
    margin-left: -70px !important; }
  .m-sm-n80 {
    margin: -80px !important; }
  .mt-sm-n80,
  .my-sm-n80 {
    margin-top: -80px !important; }
  .mr-sm-n80,
  .mx-sm-n80 {
    margin-right: -80px !important; }
  .mb-sm-n80,
  .my-sm-n80 {
    margin-bottom: -80px !important; }
  .ml-sm-n80,
  .mx-sm-n80 {
    margin-left: -80px !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0px !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0px !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0px !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0px !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0px !important; }
  .m-md-10 {
    margin: 10px !important; }
  .mt-md-10,
  .my-md-10 {
    margin-top: 10px !important; }
  .mr-md-10,
  .mx-md-10 {
    margin-right: 10px !important; }
  .mb-md-10,
  .my-md-10 {
    margin-bottom: 10px !important; }
  .ml-md-10,
  .mx-md-10 {
    margin-left: 10px !important; }
  .m-md-15 {
    margin: 15px !important; }
  .mt-md-15,
  .my-md-15 {
    margin-top: 15px !important; }
  .mr-md-15,
  .mx-md-15 {
    margin-right: 15px !important; }
  .mb-md-15,
  .my-md-15 {
    margin-bottom: 15px !important; }
  .ml-md-15,
  .mx-md-15 {
    margin-left: 15px !important; }
  .m-md-20 {
    margin: 20px !important; }
  .mt-md-20,
  .my-md-20 {
    margin-top: 20px !important; }
  .mr-md-20,
  .mx-md-20 {
    margin-right: 20px !important; }
  .mb-md-20,
  .my-md-20 {
    margin-bottom: 20px !important; }
  .ml-md-20,
  .mx-md-20 {
    margin-left: 20px !important; }
  .m-md-30 {
    margin: 30px !important; }
  .mt-md-30,
  .my-md-30 {
    margin-top: 30px !important; }
  .mr-md-30,
  .mx-md-30 {
    margin-right: 30px !important; }
  .mb-md-30,
  .my-md-30 {
    margin-bottom: 30px !important; }
  .ml-md-30,
  .mx-md-30 {
    margin-left: 30px !important; }
  .m-md-40 {
    margin: 40px !important; }
  .mt-md-40,
  .my-md-40 {
    margin-top: 40px !important; }
  .mr-md-40,
  .mx-md-40 {
    margin-right: 40px !important; }
  .mb-md-40,
  .my-md-40 {
    margin-bottom: 40px !important; }
  .ml-md-40,
  .mx-md-40 {
    margin-left: 40px !important; }
  .m-md-50 {
    margin: 50px !important; }
  .mt-md-50,
  .my-md-50 {
    margin-top: 50px !important; }
  .mr-md-50,
  .mx-md-50 {
    margin-right: 50px !important; }
  .mb-md-50,
  .my-md-50 {
    margin-bottom: 50px !important; }
  .ml-md-50,
  .mx-md-50 {
    margin-left: 50px !important; }
  .m-md-60 {
    margin: 60px !important; }
  .mt-md-60,
  .my-md-60 {
    margin-top: 60px !important; }
  .mr-md-60,
  .mx-md-60 {
    margin-right: 60px !important; }
  .mb-md-60,
  .my-md-60 {
    margin-bottom: 60px !important; }
  .ml-md-60,
  .mx-md-60 {
    margin-left: 60px !important; }
  .m-md-70 {
    margin: 70px !important; }
  .mt-md-70,
  .my-md-70 {
    margin-top: 70px !important; }
  .mr-md-70,
  .mx-md-70 {
    margin-right: 70px !important; }
  .mb-md-70,
  .my-md-70 {
    margin-bottom: 70px !important; }
  .ml-md-70,
  .mx-md-70 {
    margin-left: 70px !important; }
  .m-md-80 {
    margin: 80px !important; }
  .mt-md-80,
  .my-md-80 {
    margin-top: 80px !important; }
  .mr-md-80,
  .mx-md-80 {
    margin-right: 80px !important; }
  .mb-md-80,
  .my-md-80 {
    margin-bottom: 80px !important; }
  .ml-md-80,
  .mx-md-80 {
    margin-left: 80px !important; }
  .p-md-0 {
    padding: 0px !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0px !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0px !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0px !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0px !important; }
  .p-md-10 {
    padding: 10px !important; }
  .pt-md-10,
  .py-md-10 {
    padding-top: 10px !important; }
  .pr-md-10,
  .px-md-10 {
    padding-right: 10px !important; }
  .pb-md-10,
  .py-md-10 {
    padding-bottom: 10px !important; }
  .pl-md-10,
  .px-md-10 {
    padding-left: 10px !important; }
  .p-md-15 {
    padding: 15px !important; }
  .pt-md-15,
  .py-md-15 {
    padding-top: 15px !important; }
  .pr-md-15,
  .px-md-15 {
    padding-right: 15px !important; }
  .pb-md-15,
  .py-md-15 {
    padding-bottom: 15px !important; }
  .pl-md-15,
  .px-md-15 {
    padding-left: 15px !important; }
  .p-md-20 {
    padding: 20px !important; }
  .pt-md-20,
  .py-md-20 {
    padding-top: 20px !important; }
  .pr-md-20,
  .px-md-20 {
    padding-right: 20px !important; }
  .pb-md-20,
  .py-md-20 {
    padding-bottom: 20px !important; }
  .pl-md-20,
  .px-md-20 {
    padding-left: 20px !important; }
  .p-md-30 {
    padding: 30px !important; }
  .pt-md-30,
  .py-md-30 {
    padding-top: 30px !important; }
  .pr-md-30,
  .px-md-30 {
    padding-right: 30px !important; }
  .pb-md-30,
  .py-md-30 {
    padding-bottom: 30px !important; }
  .pl-md-30,
  .px-md-30 {
    padding-left: 30px !important; }
  .p-md-40 {
    padding: 40px !important; }
  .pt-md-40,
  .py-md-40 {
    padding-top: 40px !important; }
  .pr-md-40,
  .px-md-40 {
    padding-right: 40px !important; }
  .pb-md-40,
  .py-md-40 {
    padding-bottom: 40px !important; }
  .pl-md-40,
  .px-md-40 {
    padding-left: 40px !important; }
  .p-md-50 {
    padding: 50px !important; }
  .pt-md-50,
  .py-md-50 {
    padding-top: 50px !important; }
  .pr-md-50,
  .px-md-50 {
    padding-right: 50px !important; }
  .pb-md-50,
  .py-md-50 {
    padding-bottom: 50px !important; }
  .pl-md-50,
  .px-md-50 {
    padding-left: 50px !important; }
  .p-md-60 {
    padding: 60px !important; }
  .pt-md-60,
  .py-md-60 {
    padding-top: 60px !important; }
  .pr-md-60,
  .px-md-60 {
    padding-right: 60px !important; }
  .pb-md-60,
  .py-md-60 {
    padding-bottom: 60px !important; }
  .pl-md-60,
  .px-md-60 {
    padding-left: 60px !important; }
  .p-md-70 {
    padding: 70px !important; }
  .pt-md-70,
  .py-md-70 {
    padding-top: 70px !important; }
  .pr-md-70,
  .px-md-70 {
    padding-right: 70px !important; }
  .pb-md-70,
  .py-md-70 {
    padding-bottom: 70px !important; }
  .pl-md-70,
  .px-md-70 {
    padding-left: 70px !important; }
  .p-md-80 {
    padding: 80px !important; }
  .pt-md-80,
  .py-md-80 {
    padding-top: 80px !important; }
  .pr-md-80,
  .px-md-80 {
    padding-right: 80px !important; }
  .pb-md-80,
  .py-md-80 {
    padding-bottom: 80px !important; }
  .pl-md-80,
  .px-md-80 {
    padding-left: 80px !important; }
  .m-md-n10 {
    margin: -10px !important; }
  .mt-md-n10,
  .my-md-n10 {
    margin-top: -10px !important; }
  .mr-md-n10,
  .mx-md-n10 {
    margin-right: -10px !important; }
  .mb-md-n10,
  .my-md-n10 {
    margin-bottom: -10px !important; }
  .ml-md-n10,
  .mx-md-n10 {
    margin-left: -10px !important; }
  .m-md-n15 {
    margin: -15px !important; }
  .mt-md-n15,
  .my-md-n15 {
    margin-top: -15px !important; }
  .mr-md-n15,
  .mx-md-n15 {
    margin-right: -15px !important; }
  .mb-md-n15,
  .my-md-n15 {
    margin-bottom: -15px !important; }
  .ml-md-n15,
  .mx-md-n15 {
    margin-left: -15px !important; }
  .m-md-n20 {
    margin: -20px !important; }
  .mt-md-n20,
  .my-md-n20 {
    margin-top: -20px !important; }
  .mr-md-n20,
  .mx-md-n20 {
    margin-right: -20px !important; }
  .mb-md-n20,
  .my-md-n20 {
    margin-bottom: -20px !important; }
  .ml-md-n20,
  .mx-md-n20 {
    margin-left: -20px !important; }
  .m-md-n30 {
    margin: -30px !important; }
  .mt-md-n30,
  .my-md-n30 {
    margin-top: -30px !important; }
  .mr-md-n30,
  .mx-md-n30 {
    margin-right: -30px !important; }
  .mb-md-n30,
  .my-md-n30 {
    margin-bottom: -30px !important; }
  .ml-md-n30,
  .mx-md-n30 {
    margin-left: -30px !important; }
  .m-md-n40 {
    margin: -40px !important; }
  .mt-md-n40,
  .my-md-n40 {
    margin-top: -40px !important; }
  .mr-md-n40,
  .mx-md-n40 {
    margin-right: -40px !important; }
  .mb-md-n40,
  .my-md-n40 {
    margin-bottom: -40px !important; }
  .ml-md-n40,
  .mx-md-n40 {
    margin-left: -40px !important; }
  .m-md-n50 {
    margin: -50px !important; }
  .mt-md-n50,
  .my-md-n50 {
    margin-top: -50px !important; }
  .mr-md-n50,
  .mx-md-n50 {
    margin-right: -50px !important; }
  .mb-md-n50,
  .my-md-n50 {
    margin-bottom: -50px !important; }
  .ml-md-n50,
  .mx-md-n50 {
    margin-left: -50px !important; }
  .m-md-n60 {
    margin: -60px !important; }
  .mt-md-n60,
  .my-md-n60 {
    margin-top: -60px !important; }
  .mr-md-n60,
  .mx-md-n60 {
    margin-right: -60px !important; }
  .mb-md-n60,
  .my-md-n60 {
    margin-bottom: -60px !important; }
  .ml-md-n60,
  .mx-md-n60 {
    margin-left: -60px !important; }
  .m-md-n70 {
    margin: -70px !important; }
  .mt-md-n70,
  .my-md-n70 {
    margin-top: -70px !important; }
  .mr-md-n70,
  .mx-md-n70 {
    margin-right: -70px !important; }
  .mb-md-n70,
  .my-md-n70 {
    margin-bottom: -70px !important; }
  .ml-md-n70,
  .mx-md-n70 {
    margin-left: -70px !important; }
  .m-md-n80 {
    margin: -80px !important; }
  .mt-md-n80,
  .my-md-n80 {
    margin-top: -80px !important; }
  .mr-md-n80,
  .mx-md-n80 {
    margin-right: -80px !important; }
  .mb-md-n80,
  .my-md-n80 {
    margin-bottom: -80px !important; }
  .ml-md-n80,
  .mx-md-n80 {
    margin-left: -80px !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0px !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0px !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0px !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0px !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0px !important; }
  .m-lg-10 {
    margin: 10px !important; }
  .mt-lg-10,
  .my-lg-10 {
    margin-top: 10px !important; }
  .mr-lg-10,
  .mx-lg-10 {
    margin-right: 10px !important; }
  .mb-lg-10,
  .my-lg-10 {
    margin-bottom: 10px !important; }
  .ml-lg-10,
  .mx-lg-10 {
    margin-left: 10px !important; }
  .m-lg-15 {
    margin: 15px !important; }
  .mt-lg-15,
  .my-lg-15 {
    margin-top: 15px !important; }
  .mr-lg-15,
  .mx-lg-15 {
    margin-right: 15px !important; }
  .mb-lg-15,
  .my-lg-15 {
    margin-bottom: 15px !important; }
  .ml-lg-15,
  .mx-lg-15 {
    margin-left: 15px !important; }
  .m-lg-20 {
    margin: 20px !important; }
  .mt-lg-20,
  .my-lg-20 {
    margin-top: 20px !important; }
  .mr-lg-20,
  .mx-lg-20 {
    margin-right: 20px !important; }
  .mb-lg-20,
  .my-lg-20 {
    margin-bottom: 20px !important; }
  .ml-lg-20,
  .mx-lg-20 {
    margin-left: 20px !important; }
  .m-lg-30 {
    margin: 30px !important; }
  .mt-lg-30,
  .my-lg-30 {
    margin-top: 30px !important; }
  .mr-lg-30,
  .mx-lg-30 {
    margin-right: 30px !important; }
  .mb-lg-30,
  .my-lg-30 {
    margin-bottom: 30px !important; }
  .ml-lg-30,
  .mx-lg-30 {
    margin-left: 30px !important; }
  .m-lg-40 {
    margin: 40px !important; }
  .mt-lg-40,
  .my-lg-40 {
    margin-top: 40px !important; }
  .mr-lg-40,
  .mx-lg-40 {
    margin-right: 40px !important; }
  .mb-lg-40,
  .my-lg-40 {
    margin-bottom: 40px !important; }
  .ml-lg-40,
  .mx-lg-40 {
    margin-left: 40px !important; }
  .m-lg-50 {
    margin: 50px !important; }
  .mt-lg-50,
  .my-lg-50 {
    margin-top: 50px !important; }
  .mr-lg-50,
  .mx-lg-50 {
    margin-right: 50px !important; }
  .mb-lg-50,
  .my-lg-50 {
    margin-bottom: 50px !important; }
  .ml-lg-50,
  .mx-lg-50 {
    margin-left: 50px !important; }
  .m-lg-60 {
    margin: 60px !important; }
  .mt-lg-60,
  .my-lg-60 {
    margin-top: 60px !important; }
  .mr-lg-60,
  .mx-lg-60 {
    margin-right: 60px !important; }
  .mb-lg-60,
  .my-lg-60 {
    margin-bottom: 60px !important; }
  .ml-lg-60,
  .mx-lg-60 {
    margin-left: 60px !important; }
  .m-lg-70 {
    margin: 70px !important; }
  .mt-lg-70,
  .my-lg-70 {
    margin-top: 70px !important; }
  .mr-lg-70,
  .mx-lg-70 {
    margin-right: 70px !important; }
  .mb-lg-70,
  .my-lg-70 {
    margin-bottom: 70px !important; }
  .ml-lg-70,
  .mx-lg-70 {
    margin-left: 70px !important; }
  .m-lg-80 {
    margin: 80px !important; }
  .mt-lg-80,
  .my-lg-80 {
    margin-top: 80px !important; }
  .mr-lg-80,
  .mx-lg-80 {
    margin-right: 80px !important; }
  .mb-lg-80,
  .my-lg-80 {
    margin-bottom: 80px !important; }
  .ml-lg-80,
  .mx-lg-80 {
    margin-left: 80px !important; }
  .p-lg-0 {
    padding: 0px !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0px !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0px !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0px !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0px !important; }
  .p-lg-10 {
    padding: 10px !important; }
  .pt-lg-10,
  .py-lg-10 {
    padding-top: 10px !important; }
  .pr-lg-10,
  .px-lg-10 {
    padding-right: 10px !important; }
  .pb-lg-10,
  .py-lg-10 {
    padding-bottom: 10px !important; }
  .pl-lg-10,
  .px-lg-10 {
    padding-left: 10px !important; }
  .p-lg-15 {
    padding: 15px !important; }
  .pt-lg-15,
  .py-lg-15 {
    padding-top: 15px !important; }
  .pr-lg-15,
  .px-lg-15 {
    padding-right: 15px !important; }
  .pb-lg-15,
  .py-lg-15 {
    padding-bottom: 15px !important; }
  .pl-lg-15,
  .px-lg-15 {
    padding-left: 15px !important; }
  .p-lg-20 {
    padding: 20px !important; }
  .pt-lg-20,
  .py-lg-20 {
    padding-top: 20px !important; }
  .pr-lg-20,
  .px-lg-20 {
    padding-right: 20px !important; }
  .pb-lg-20,
  .py-lg-20 {
    padding-bottom: 20px !important; }
  .pl-lg-20,
  .px-lg-20 {
    padding-left: 20px !important; }
  .p-lg-30 {
    padding: 30px !important; }
  .pt-lg-30,
  .py-lg-30 {
    padding-top: 30px !important; }
  .pr-lg-30,
  .px-lg-30 {
    padding-right: 30px !important; }
  .pb-lg-30,
  .py-lg-30 {
    padding-bottom: 30px !important; }
  .pl-lg-30,
  .px-lg-30 {
    padding-left: 30px !important; }
  .p-lg-40 {
    padding: 40px !important; }
  .pt-lg-40,
  .py-lg-40 {
    padding-top: 40px !important; }
  .pr-lg-40,
  .px-lg-40 {
    padding-right: 40px !important; }
  .pb-lg-40,
  .py-lg-40 {
    padding-bottom: 40px !important; }
  .pl-lg-40,
  .px-lg-40 {
    padding-left: 40px !important; }
  .p-lg-50 {
    padding: 50px !important; }
  .pt-lg-50,
  .py-lg-50 {
    padding-top: 50px !important; }
  .pr-lg-50,
  .px-lg-50 {
    padding-right: 50px !important; }
  .pb-lg-50,
  .py-lg-50 {
    padding-bottom: 50px !important; }
  .pl-lg-50,
  .px-lg-50 {
    padding-left: 50px !important; }
  .p-lg-60 {
    padding: 60px !important; }
  .pt-lg-60,
  .py-lg-60 {
    padding-top: 60px !important; }
  .pr-lg-60,
  .px-lg-60 {
    padding-right: 60px !important; }
  .pb-lg-60,
  .py-lg-60 {
    padding-bottom: 60px !important; }
  .pl-lg-60,
  .px-lg-60 {
    padding-left: 60px !important; }
  .p-lg-70 {
    padding: 70px !important; }
  .pt-lg-70,
  .py-lg-70 {
    padding-top: 70px !important; }
  .pr-lg-70,
  .px-lg-70 {
    padding-right: 70px !important; }
  .pb-lg-70,
  .py-lg-70 {
    padding-bottom: 70px !important; }
  .pl-lg-70,
  .px-lg-70 {
    padding-left: 70px !important; }
  .p-lg-80 {
    padding: 80px !important; }
  .pt-lg-80,
  .py-lg-80 {
    padding-top: 80px !important; }
  .pr-lg-80,
  .px-lg-80 {
    padding-right: 80px !important; }
  .pb-lg-80,
  .py-lg-80 {
    padding-bottom: 80px !important; }
  .pl-lg-80,
  .px-lg-80 {
    padding-left: 80px !important; }
  .m-lg-n10 {
    margin: -10px !important; }
  .mt-lg-n10,
  .my-lg-n10 {
    margin-top: -10px !important; }
  .mr-lg-n10,
  .mx-lg-n10 {
    margin-right: -10px !important; }
  .mb-lg-n10,
  .my-lg-n10 {
    margin-bottom: -10px !important; }
  .ml-lg-n10,
  .mx-lg-n10 {
    margin-left: -10px !important; }
  .m-lg-n15 {
    margin: -15px !important; }
  .mt-lg-n15,
  .my-lg-n15 {
    margin-top: -15px !important; }
  .mr-lg-n15,
  .mx-lg-n15 {
    margin-right: -15px !important; }
  .mb-lg-n15,
  .my-lg-n15 {
    margin-bottom: -15px !important; }
  .ml-lg-n15,
  .mx-lg-n15 {
    margin-left: -15px !important; }
  .m-lg-n20 {
    margin: -20px !important; }
  .mt-lg-n20,
  .my-lg-n20 {
    margin-top: -20px !important; }
  .mr-lg-n20,
  .mx-lg-n20 {
    margin-right: -20px !important; }
  .mb-lg-n20,
  .my-lg-n20 {
    margin-bottom: -20px !important; }
  .ml-lg-n20,
  .mx-lg-n20 {
    margin-left: -20px !important; }
  .m-lg-n30 {
    margin: -30px !important; }
  .mt-lg-n30,
  .my-lg-n30 {
    margin-top: -30px !important; }
  .mr-lg-n30,
  .mx-lg-n30 {
    margin-right: -30px !important; }
  .mb-lg-n30,
  .my-lg-n30 {
    margin-bottom: -30px !important; }
  .ml-lg-n30,
  .mx-lg-n30 {
    margin-left: -30px !important; }
  .m-lg-n40 {
    margin: -40px !important; }
  .mt-lg-n40,
  .my-lg-n40 {
    margin-top: -40px !important; }
  .mr-lg-n40,
  .mx-lg-n40 {
    margin-right: -40px !important; }
  .mb-lg-n40,
  .my-lg-n40 {
    margin-bottom: -40px !important; }
  .ml-lg-n40,
  .mx-lg-n40 {
    margin-left: -40px !important; }
  .m-lg-n50 {
    margin: -50px !important; }
  .mt-lg-n50,
  .my-lg-n50 {
    margin-top: -50px !important; }
  .mr-lg-n50,
  .mx-lg-n50 {
    margin-right: -50px !important; }
  .mb-lg-n50,
  .my-lg-n50 {
    margin-bottom: -50px !important; }
  .ml-lg-n50,
  .mx-lg-n50 {
    margin-left: -50px !important; }
  .m-lg-n60 {
    margin: -60px !important; }
  .mt-lg-n60,
  .my-lg-n60 {
    margin-top: -60px !important; }
  .mr-lg-n60,
  .mx-lg-n60 {
    margin-right: -60px !important; }
  .mb-lg-n60,
  .my-lg-n60 {
    margin-bottom: -60px !important; }
  .ml-lg-n60,
  .mx-lg-n60 {
    margin-left: -60px !important; }
  .m-lg-n70 {
    margin: -70px !important; }
  .mt-lg-n70,
  .my-lg-n70 {
    margin-top: -70px !important; }
  .mr-lg-n70,
  .mx-lg-n70 {
    margin-right: -70px !important; }
  .mb-lg-n70,
  .my-lg-n70 {
    margin-bottom: -70px !important; }
  .ml-lg-n70,
  .mx-lg-n70 {
    margin-left: -70px !important; }
  .m-lg-n80 {
    margin: -80px !important; }
  .mt-lg-n80,
  .my-lg-n80 {
    margin-top: -80px !important; }
  .mr-lg-n80,
  .mx-lg-n80 {
    margin-right: -80px !important; }
  .mb-lg-n80,
  .my-lg-n80 {
    margin-bottom: -80px !important; }
  .ml-lg-n80,
  .mx-lg-n80 {
    margin-left: -80px !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0px !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0px !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0px !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0px !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0px !important; }
  .m-xl-10 {
    margin: 10px !important; }
  .mt-xl-10,
  .my-xl-10 {
    margin-top: 10px !important; }
  .mr-xl-10,
  .mx-xl-10 {
    margin-right: 10px !important; }
  .mb-xl-10,
  .my-xl-10 {
    margin-bottom: 10px !important; }
  .ml-xl-10,
  .mx-xl-10 {
    margin-left: 10px !important; }
  .m-xl-15 {
    margin: 15px !important; }
  .mt-xl-15,
  .my-xl-15 {
    margin-top: 15px !important; }
  .mr-xl-15,
  .mx-xl-15 {
    margin-right: 15px !important; }
  .mb-xl-15,
  .my-xl-15 {
    margin-bottom: 15px !important; }
  .ml-xl-15,
  .mx-xl-15 {
    margin-left: 15px !important; }
  .m-xl-20 {
    margin: 20px !important; }
  .mt-xl-20,
  .my-xl-20 {
    margin-top: 20px !important; }
  .mr-xl-20,
  .mx-xl-20 {
    margin-right: 20px !important; }
  .mb-xl-20,
  .my-xl-20 {
    margin-bottom: 20px !important; }
  .ml-xl-20,
  .mx-xl-20 {
    margin-left: 20px !important; }
  .m-xl-30 {
    margin: 30px !important; }
  .mt-xl-30,
  .my-xl-30 {
    margin-top: 30px !important; }
  .mr-xl-30,
  .mx-xl-30 {
    margin-right: 30px !important; }
  .mb-xl-30,
  .my-xl-30 {
    margin-bottom: 30px !important; }
  .ml-xl-30,
  .mx-xl-30 {
    margin-left: 30px !important; }
  .m-xl-40 {
    margin: 40px !important; }
  .mt-xl-40,
  .my-xl-40 {
    margin-top: 40px !important; }
  .mr-xl-40,
  .mx-xl-40 {
    margin-right: 40px !important; }
  .mb-xl-40,
  .my-xl-40 {
    margin-bottom: 40px !important; }
  .ml-xl-40,
  .mx-xl-40 {
    margin-left: 40px !important; }
  .m-xl-50 {
    margin: 50px !important; }
  .mt-xl-50,
  .my-xl-50 {
    margin-top: 50px !important; }
  .mr-xl-50,
  .mx-xl-50 {
    margin-right: 50px !important; }
  .mb-xl-50,
  .my-xl-50 {
    margin-bottom: 50px !important; }
  .ml-xl-50,
  .mx-xl-50 {
    margin-left: 50px !important; }
  .m-xl-60 {
    margin: 60px !important; }
  .mt-xl-60,
  .my-xl-60 {
    margin-top: 60px !important; }
  .mr-xl-60,
  .mx-xl-60 {
    margin-right: 60px !important; }
  .mb-xl-60,
  .my-xl-60 {
    margin-bottom: 60px !important; }
  .ml-xl-60,
  .mx-xl-60 {
    margin-left: 60px !important; }
  .m-xl-70 {
    margin: 70px !important; }
  .mt-xl-70,
  .my-xl-70 {
    margin-top: 70px !important; }
  .mr-xl-70,
  .mx-xl-70 {
    margin-right: 70px !important; }
  .mb-xl-70,
  .my-xl-70 {
    margin-bottom: 70px !important; }
  .ml-xl-70,
  .mx-xl-70 {
    margin-left: 70px !important; }
  .m-xl-80 {
    margin: 80px !important; }
  .mt-xl-80,
  .my-xl-80 {
    margin-top: 80px !important; }
  .mr-xl-80,
  .mx-xl-80 {
    margin-right: 80px !important; }
  .mb-xl-80,
  .my-xl-80 {
    margin-bottom: 80px !important; }
  .ml-xl-80,
  .mx-xl-80 {
    margin-left: 80px !important; }
  .p-xl-0 {
    padding: 0px !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0px !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0px !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0px !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0px !important; }
  .p-xl-10 {
    padding: 10px !important; }
  .pt-xl-10,
  .py-xl-10 {
    padding-top: 10px !important; }
  .pr-xl-10,
  .px-xl-10 {
    padding-right: 10px !important; }
  .pb-xl-10,
  .py-xl-10 {
    padding-bottom: 10px !important; }
  .pl-xl-10,
  .px-xl-10 {
    padding-left: 10px !important; }
  .p-xl-15 {
    padding: 15px !important; }
  .pt-xl-15,
  .py-xl-15 {
    padding-top: 15px !important; }
  .pr-xl-15,
  .px-xl-15 {
    padding-right: 15px !important; }
  .pb-xl-15,
  .py-xl-15 {
    padding-bottom: 15px !important; }
  .pl-xl-15,
  .px-xl-15 {
    padding-left: 15px !important; }
  .p-xl-20 {
    padding: 20px !important; }
  .pt-xl-20,
  .py-xl-20 {
    padding-top: 20px !important; }
  .pr-xl-20,
  .px-xl-20 {
    padding-right: 20px !important; }
  .pb-xl-20,
  .py-xl-20 {
    padding-bottom: 20px !important; }
  .pl-xl-20,
  .px-xl-20 {
    padding-left: 20px !important; }
  .p-xl-30 {
    padding: 30px !important; }
  .pt-xl-30,
  .py-xl-30 {
    padding-top: 30px !important; }
  .pr-xl-30,
  .px-xl-30 {
    padding-right: 30px !important; }
  .pb-xl-30,
  .py-xl-30 {
    padding-bottom: 30px !important; }
  .pl-xl-30,
  .px-xl-30 {
    padding-left: 30px !important; }
  .p-xl-40 {
    padding: 40px !important; }
  .pt-xl-40,
  .py-xl-40 {
    padding-top: 40px !important; }
  .pr-xl-40,
  .px-xl-40 {
    padding-right: 40px !important; }
  .pb-xl-40,
  .py-xl-40 {
    padding-bottom: 40px !important; }
  .pl-xl-40,
  .px-xl-40 {
    padding-left: 40px !important; }
  .p-xl-50 {
    padding: 50px !important; }
  .pt-xl-50,
  .py-xl-50 {
    padding-top: 50px !important; }
  .pr-xl-50,
  .px-xl-50 {
    padding-right: 50px !important; }
  .pb-xl-50,
  .py-xl-50 {
    padding-bottom: 50px !important; }
  .pl-xl-50,
  .px-xl-50 {
    padding-left: 50px !important; }
  .p-xl-60 {
    padding: 60px !important; }
  .pt-xl-60,
  .py-xl-60 {
    padding-top: 60px !important; }
  .pr-xl-60,
  .px-xl-60 {
    padding-right: 60px !important; }
  .pb-xl-60,
  .py-xl-60 {
    padding-bottom: 60px !important; }
  .pl-xl-60,
  .px-xl-60 {
    padding-left: 60px !important; }
  .p-xl-70 {
    padding: 70px !important; }
  .pt-xl-70,
  .py-xl-70 {
    padding-top: 70px !important; }
  .pr-xl-70,
  .px-xl-70 {
    padding-right: 70px !important; }
  .pb-xl-70,
  .py-xl-70 {
    padding-bottom: 70px !important; }
  .pl-xl-70,
  .px-xl-70 {
    padding-left: 70px !important; }
  .p-xl-80 {
    padding: 80px !important; }
  .pt-xl-80,
  .py-xl-80 {
    padding-top: 80px !important; }
  .pr-xl-80,
  .px-xl-80 {
    padding-right: 80px !important; }
  .pb-xl-80,
  .py-xl-80 {
    padding-bottom: 80px !important; }
  .pl-xl-80,
  .px-xl-80 {
    padding-left: 80px !important; }
  .m-xl-n10 {
    margin: -10px !important; }
  .mt-xl-n10,
  .my-xl-n10 {
    margin-top: -10px !important; }
  .mr-xl-n10,
  .mx-xl-n10 {
    margin-right: -10px !important; }
  .mb-xl-n10,
  .my-xl-n10 {
    margin-bottom: -10px !important; }
  .ml-xl-n10,
  .mx-xl-n10 {
    margin-left: -10px !important; }
  .m-xl-n15 {
    margin: -15px !important; }
  .mt-xl-n15,
  .my-xl-n15 {
    margin-top: -15px !important; }
  .mr-xl-n15,
  .mx-xl-n15 {
    margin-right: -15px !important; }
  .mb-xl-n15,
  .my-xl-n15 {
    margin-bottom: -15px !important; }
  .ml-xl-n15,
  .mx-xl-n15 {
    margin-left: -15px !important; }
  .m-xl-n20 {
    margin: -20px !important; }
  .mt-xl-n20,
  .my-xl-n20 {
    margin-top: -20px !important; }
  .mr-xl-n20,
  .mx-xl-n20 {
    margin-right: -20px !important; }
  .mb-xl-n20,
  .my-xl-n20 {
    margin-bottom: -20px !important; }
  .ml-xl-n20,
  .mx-xl-n20 {
    margin-left: -20px !important; }
  .m-xl-n30 {
    margin: -30px !important; }
  .mt-xl-n30,
  .my-xl-n30 {
    margin-top: -30px !important; }
  .mr-xl-n30,
  .mx-xl-n30 {
    margin-right: -30px !important; }
  .mb-xl-n30,
  .my-xl-n30 {
    margin-bottom: -30px !important; }
  .ml-xl-n30,
  .mx-xl-n30 {
    margin-left: -30px !important; }
  .m-xl-n40 {
    margin: -40px !important; }
  .mt-xl-n40,
  .my-xl-n40 {
    margin-top: -40px !important; }
  .mr-xl-n40,
  .mx-xl-n40 {
    margin-right: -40px !important; }
  .mb-xl-n40,
  .my-xl-n40 {
    margin-bottom: -40px !important; }
  .ml-xl-n40,
  .mx-xl-n40 {
    margin-left: -40px !important; }
  .m-xl-n50 {
    margin: -50px !important; }
  .mt-xl-n50,
  .my-xl-n50 {
    margin-top: -50px !important; }
  .mr-xl-n50,
  .mx-xl-n50 {
    margin-right: -50px !important; }
  .mb-xl-n50,
  .my-xl-n50 {
    margin-bottom: -50px !important; }
  .ml-xl-n50,
  .mx-xl-n50 {
    margin-left: -50px !important; }
  .m-xl-n60 {
    margin: -60px !important; }
  .mt-xl-n60,
  .my-xl-n60 {
    margin-top: -60px !important; }
  .mr-xl-n60,
  .mx-xl-n60 {
    margin-right: -60px !important; }
  .mb-xl-n60,
  .my-xl-n60 {
    margin-bottom: -60px !important; }
  .ml-xl-n60,
  .mx-xl-n60 {
    margin-left: -60px !important; }
  .m-xl-n70 {
    margin: -70px !important; }
  .mt-xl-n70,
  .my-xl-n70 {
    margin-top: -70px !important; }
  .mr-xl-n70,
  .mx-xl-n70 {
    margin-right: -70px !important; }
  .mb-xl-n70,
  .my-xl-n70 {
    margin-bottom: -70px !important; }
  .ml-xl-n70,
  .mx-xl-n70 {
    margin-left: -70px !important; }
  .m-xl-n80 {
    margin: -80px !important; }
  .mt-xl-n80,
  .my-xl-n80 {
    margin-top: -80px !important; }
  .mr-xl-n80,
  .mx-xl-n80 {
    margin-right: -80px !important; }
  .mb-xl-n80,
  .my-xl-n80 {
    margin-bottom: -80px !important; }
  .ml-xl-n80,
  .mx-xl-n80 {
    margin-left: -80px !important; } }

.cw-pt {
  padding-top: 3rem; }

.cw-pb {
  padding-bottom: 3rem; }

.cw-py {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .cw-py .cw-my:first-child {
    margin-top: 0; }
  .cw-py .cw-my:last-child {
    margin-bottom: 0; }

.cw-py-2 {
  padding-top: 1.95rem;
  padding-bottom: 1.95rem; }
  .cw-py-2 .cw-my-2:first-child {
    margin-top: 0; }
  .cw-py-2 .cw-my-2:last-child {
    margin-bottom: 0; }

.cw-mt {
  margin-top: 3rem; }

.cw-mb {
  margin-bottom: 3rem; }

.cw-my {
  margin-top: 3rem;
  margin-bottom: 3rem; }

.cw-my-2 {
  margin-top: 1.95rem;
  margin-bottom: 1.95rem; }

@media (min-width: 992px) {
  .cw-pt {
    padding-top: 4rem; }
  .cw-pb {
    padding-bottom: 4rem; }
  .cw-py {
    padding-top: 4rem;
    padding-bottom: 4rem; }
  .cw-py-2 {
    padding-top: 2.6rem;
    padding-bottom: 2.6rem; }
  .cw-mt {
    margin-top: 4rem; }
  .cw-mb {
    margin-bottom: 4rem; }
  .cw-my {
    margin-top: 4rem;
    margin-bottom: 4rem; }
  .cw-my-2 {
    margin-top: 2.6rem;
    margin-bottom: 2.6rem; } }

.cw-scroll-margin-top {
  scroll-margin-top: calc(60px + 1rem); }

@media (min-width: 992px) {
  .cw-scroll-margin-top {
    scroll-margin-top: calc(60px + 1rem); } }

.cw-d-none-nf .not-front {
  display: none; }

@media (min-width: 992px) {
  .cw-d-none-lg-nf .not-front {
    display: none; } }

.cw-flex-1 {
  flex: 1 !important; }

.not-front .cw-flex-1-nf {
  flex: 1 !important; }

.cw-flex-2 {
  flex: 2 !important; }

.not-front .cw-flex-2-nf {
  flex: 2 !important; }

.cw-flex-3 {
  flex: 3 !important; }

.not-front .cw-flex-3-nf {
  flex: 3 !important; }

.cw-flex-4 {
  flex: 4 !important; }

.not-front .cw-flex-4-nf {
  flex: 4 !important; }

.cw-flex-5 {
  flex: 5 !important; }

.not-front .cw-flex-5-nf {
  flex: 5 !important; }

.cw-flex-6 {
  flex: 6 !important; }

.not-front .cw-flex-6-nf {
  flex: 6 !important; }

@media (min-width: 992px) {
  .cw-flex-lg-1 {
    flex: 1 !important; }
  .not-front .cw-flex-lg-1-nf {
    flex: 1 !important; }
  .cw-flex-lg-2 {
    flex: 2 !important; }
  .not-front .cw-flex-lg-2-nf {
    flex: 2 !important; }
  .cw-flex-lg-3 {
    flex: 3 !important; }
  .not-front .cw-flex-lg-3-nf {
    flex: 3 !important; }
  .cw-flex-lg-4 {
    flex: 4 !important; }
  .not-front .cw-flex-lg-4-nf {
    flex: 4 !important; }
  .cw-flex-lg-5 {
    flex: 5 !important; }
  .not-front .cw-flex-lg-5-nf {
    flex: 5 !important; }
  .cw-flex-lg-6 {
    flex: 6 !important; }
  .not-front .cw-flex-lg-6-nf {
    flex: 6 !important; } }

/* ------------ FONT COLORS ------------ */
.cw-txt-primary {
  color: #eab7ab !important; }

.cw-txt-secondary {
  color: #9c7a6c !important; }

.cw-txt-white {
  color: #fff !important; }

.cw-txt-black {
  color: #373737 !important; }

/* ------------ ------------ ------------ */
.cw-font-base {
  font-family: "Poppins", sans-serif !important; }

.cw-font-loud {
  font-family: "Poppins", sans-serif !important; }

.cw-txt-uppercase {
  text-transform: uppercase; }

.cw-txt-lowercase {
  text-transform: lowercase; }

.cw-txt-capitalize::first-letter {
  text-transform: capitalize; }

.cw-txt-up {
  font-size: 1.5em !important;
  line-height: 1.2em !important; }

.cw-txt-up-2 {
  font-size: 1.35em !important;
  line-height: 1.3em !important; }

.cw-txt-up-3 {
  font-size: 1.2em !important;
  line-height: 1.5 !important; }

.cw-txt-shadow {
  text-shadow: 0px 5px 4px rgba(0, 0, 0, 0.36); }

.xs-text-justify {
  text-align: justify !important; }

.xs-text-center {
  text-align: center !important; }

.xs-text-right {
  text-align: right !important; }

.cw-underline-before:before {
  display: block;
  content: "";
  height: 1px;
  background: #eab7ab;
  margin: 10px auto 23px;
  position: relative;
  width: 100%;
  max-width: 100%; }

.cw-underline-before.text-left:before {
  margin-left: 0; }

.cw-underline-after:after {
  display: block;
  content: "";
  height: 1px;
  background: #eab7ab;
  margin: 10px auto 23px;
  position: relative;
  width: 100%;
  max-width: 100%; }

.cw-underline-after.text-left:after {
  margin-left: 0; }

.cw-line-background {
  display: inline;
  background-image: linear-gradient(to bottom, #eab7ab 0, #eab7ab 100%);
  background-size: 100% 0.25em;
  background-position: 0 85%;
  background-repeat: no-repeat; }

.cw-puce-under {
  position: relative;
  padding-top: 50px; }
  .cw-puce-under:before {
    content: '';
    display: block;
    width: 100%;
    max-width: 100%;
    height: 35px;
    margin-top: 1rem;
    margin-bottom: 60px;
    background-image: url("../images/puce-h1.png");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }

.cw-border-left {
  position: relative;
  left: 35px;
  padding-right: 35px; }
  .cw-border-left:after {
    content: '';
    position: absolute;
    top: calc((100% - 90%) / 2);
    height: 90%;
    width: 8px;
    background-color: #eab7ab;
    border-radius: 0.25rem;
    left: -35px; }

.cw-border-right {
  position: relative;
  right: 35px;
  padding-left: 35px; }
  .cw-border-right:after {
    content: '';
    position: absolute;
    top: calc((100% - 90%) / 2);
    height: 90%;
    width: 8px;
    background-color: #eab7ab;
    border-radius: 0.25rem;
    right: -35px; }

.field--name-body ul:not([class*="cw-inline-ul"]) {
  font-family: "Poppins", sans-serif;
  padding-left: 20px;
  list-style: none; }
  .field--name-body ul:not([class*="cw-inline-ul"]) ul {
    list-style: none; }
  .field--name-body ul:not([class*="cw-inline-ul"]) li a {
    color: #545353 !important; }
    .field--name-body ul:not([class*="cw-inline-ul"]) li a:hover {
      color: #eab7ab !important; }
  .field--name-body ul:not([class*="cw-inline-ul"]) li:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 0.8rem;
    content: "";
    margin-right: 10px;
    color: #eab7ab; }
  .field--name-body ul:not([class*="cw-inline-ul"]) > li > ul > li:before {
    font-size: 0.5rem;
    vertical-align: middle; }

ul.cw-inline-ul {
  padding: 0;
  list-style: none;
  line-height: 1.5; }
  ul.cw-inline-ul li {
    display: inline;
    padding: 0; }
    ul.cw-inline-ul li:first-child {
      padding-left: 0; }
    ul.cw-inline-ul li a {
      padding-right: 5px; }
      ul.cw-inline-ul li a:before {
        content: "\f111";
        font-family: "Font Awesome 5 Free";
        font-style: normal;
        position: relative;
        left: 3px;
        top: -2px;
        margin-right: 15px;
        font-size: 0.5rem;
        font-weight: 800;
        color: #9c7a6c; }
    ul.cw-inline-ul li:not(:last-child) a {
      padding-right: 5px; }

#page-header i.cw-fa-bg-circle {
  background: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #9c7a6c;
  text-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  font-size: 16px !important; }
  #page-header i.cw-fa-bg-circle:hover, #page-header i.cw-fa-bg-circle:after {
    color: #eab7ab; }

@media (min-width: 576px) {
  .sm-text-left {
    text-align: left !important; }
  .sm-text-justify {
    text-align: justify !important; }
  .sm-text-center {
    text-align: center !important; }
  .sm-text-right {
    text-align: right !important; }
  .cw-list-sm {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-inline-start: 0; }
    .cw-list-sm li {
      margin-left: 5%;
      width: 45%; } }

@media (min-width: 768px) {
  .md-text-left {
    text-align: left !important; }
  .md-text-justify {
    text-align: justify !important; }
  .md-text-center {
    text-align: center !important; }
  .md-text-right {
    text-align: right !important; } }

@media (min-width: 992px) {
  .lg-text-left {
    text-align: left !important; }
  .lg-text-justify {
    text-align: justify !important; }
  .lg-text-center {
    text-align: center !important; }
  .lg-text-right {
    text-align: right !important; } }

@media (min-width: 1440px) {
  .xl-text-left {
    text-align: left !important; }
  .xl-text-justify {
    text-align: justify !important; }
  .xl-text-center {
    text-align: center !important; }
  .xl-text-right {
    text-align: right !important; } }

.cw-children-p > * {
  padding: 15px; }

.cw-children-m > p {
  margin: 0.6rem 0; }

.text-align-center .cw-children-hr-w100 > hr {
  margin-left: auto;
  margin-right: auto; }

.text-align-right .cw-children-hr-w100 > hr {
  margin-left: auto;
  margin-right: 0; }

.cw-children-hr-w100 > hr {
  max-width: 100px;
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
  margin-left: 0;
  margin-right: auto; }

.cw-children-boxshadow > * {
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.2); }

.cw-children-content-bg-one .content {
  background-color: #eab7ab; }

.cw-children-content-bg-two .content {
  background-color: #9c7a6c; }

.cw-children-content-bg-three .content {
  background-color: #fbf7f1; }

.cw-children-content-bg-white .content {
  background-color: #fff; }

.cw-children-content-bg-gray .content {
  background-color: #f9f9f9; }

.cw-children-content-bg-black .content {
  background-color: #000000; }

.cw-children-content-h100 .content {
  height: 100%; }

.cw-children-content-p .content {
  padding: 20px; }

@media (min-width: 992px) {
  .cw-children-content-p .content {
    padding: 50px; } }

.cw-children-content-shadow .content {
  box-shadow: 0px 9px 46px 0px rgba(0, 0, 0, 0.2); }

.cw-children-content-radius .content {
  border-radius: 0.25rem; }

.cw-children-quincunx-md {
  text-align: center; }

@media (min-width: 768px) {
  .cw-children-quincunx-md > div:nth-of-type(odd) {
    text-align: right; }
  .cw-children-quincunx-md > div:nth-of-type(even) {
    text-align: left;
    margin-top: 70px; } }

.cw-clip-path-circle {
  -webkit-shape-outside: circle(50% at 50% 50%);
  shape-outside: circle(50% at 50% 50%);
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%); }

.cw-clip-path-triangle {
  -webkit-shape-outside: polygon(50% 0%, 0% 100%, 100% 100%);
  shape-outside: polygon(50% 0%, 0% 100%, 100% 100%);
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }

.cw-clip-path-losange {
  -webkit-shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); }

.cw-clip-path-etoile {
  -webkit-shape-outside: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  shape-outside: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  -webkit-clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }

.cw-clip-path-hexagon {
  -webkit-shape-outside: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  shape-outside: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  -webkit-clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%);
  clip-path: polygon(50% 0, 100% 27%, 100% 73%, 50% 100%, 0 73%, 0 27%); }

.clip-path-1-double {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%); }

.clip-path-2-double {
  -webkit-shape-outside: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  shape-outside: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 5%, 100% 95%, 0 100%);
  clip-path: polygon(0 0, 100% 5%, 100% 95%, 0 100%); }

.clip-path-3-double-parallele {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  shape-outside: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 95%, 0% 100%);
  clip-path: polygon(0 5%, 100% 0, 100% 95%, 0% 100%); }

.clip-path-bottom-up-lr {
  -webkit-shape-outside: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  shape-outside: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%); }

.clip-path-bottom-down-lr {
  -webkit-shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%); }

.clip-path-top-up-lr {
  -webkit-shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  shape-outside: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 100%); }

.clip-path-top-down-lr {
  -webkit-shape-outside: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  shape-outside: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  -webkit-clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%); }

@media (min-width: 992px) {
  .clip-path-1-double {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%); }
  .clip-path-2-double {
    -webkit-shape-outside: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    shape-outside: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%); }
  .clip-path-3-double-parallele {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    shape-outside: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 88%, 0% 100%);
    clip-path: polygon(0 12%, 100% 0, 100% 88%, 0% 100%); }
  .clip-path-bottom-up-lr {
    -webkit-shape-outside: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    shape-outside: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%); }
  .clip-path-bottom-down-lr {
    -webkit-shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 88%); }
  .clip-path-top-up-lr {
    -webkit-shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    shape-outside: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 100%); }
  .clip-path-top-down-lr {
    -webkit-shape-outside: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    shape-outside: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 100% 12%, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 12%, 100% 100%, 0% 100%); } }

.field--type-image.field__item, .field--type-image .field__item {
  border-radius: 0.075rem;
  overflow: hidden;
  box-shadow: 0px 0.5rem 1rem 0px rgba(0, 0, 0, 0.15); }
  .field--type-image.field__item .colorbox, .field--type-image .field__item .colorbox {
    position: relative;
    overflow: hidden; }
    .field--type-image.field__item .colorbox img, .field--type-image .field__item .colorbox img {
      filter: brightness(1) blur(0px);
      -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
      -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
      -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
      transition: opacity 0.3s, transform 0.4s, filter 0.2s;
      border-radius: 0.075rem; }
    .field--type-image.field__item .colorbox .show-more, .field--type-image .field__item .colorbox .show-more {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s;
      color: #fff; }
      .field--type-image.field__item .colorbox .show-more .icon, .field--type-image .field__item .colorbox .show-more .icon {
        transform: rotate(225deg); }
      .field--type-image.field__item .colorbox .show-more .icon:before, .field--type-image .field__item .colorbox .show-more .icon:before {
        font-family: "Font Awesome 5 free";
        font-weight: 900;
        font-size: 1.2rem;
        content: "";
        display: block;
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
        -moz-transition: all 0.2s;
        -o-transition: all 0.2s;
        -webkit-transition: all 0.2s;
        transition: all 0.2s; }
      .field--type-image.field__item .colorbox .show-more .title, .field--type-image .field__item .colorbox .show-more .title {
        font-family: "Poppins", sans-serif;
        font-size: 0.75rem;
        display: block;
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
        opacity: 0;
        -moz-transition: all 0.8s 0.2s;
        -o-transition: all 0.8s 0.2s;
        -webkit-transition: all 0.8s 0.2s;
        transition: all 0.8s 0.2s; }
    .field--type-image.field__item .colorbox:hover img, .field--type-image .field__item .colorbox:hover img {
      -webkit-transform: scale(1.6);
      -moz-transform: scale(1.6);
      -ms-transform: scale(1.6);
      -o-transform: scale(1.6);
      transform: scale(1.6);
      filter: brightness(0.5) blur(1px); }
    .field--type-image.field__item .colorbox:hover .show-more, .field--type-image .field__item .colorbox:hover .show-more {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
      opacity: 0.5;
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
      .field--type-image.field__item .colorbox:hover .show-more .icon:before, .field--type-image .field__item .colorbox:hover .show-more .icon:before {
        -webkit-transform: scale(1.5, 1.5);
        -moz-transform: scale(1.5, 1.5);
        -ms-transform: scale(1.5, 1.5);
        -o-transform: scale(1.5, 1.5);
        transform: scale(1.5, 1.5);
        -moz-transition: all 0.6s;
        -o-transition: all 0.6s;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .field--type-image.field__item .colorbox:hover .title, .field--type-image .field__item .colorbox:hover .title {
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
      opacity: 1; }

.colorbox.colorbox-zoom .icon {
  transform: rotate(0deg) !important; }

.colorbox.colorbox-zoom .icon:before {
  content: '\f002' !important; }

.colorbox.colorbox-zoom:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  filter: brightness(1) blur(0px);
  opacity: 0.5; }

.colorbox.colorbox-zoom:hover .show-more .icon:before {
  transform: scale(2) !important; }

#cboxOverlay {
  opacity: 0.95 !important; }

#colorbox {
  overflow: initial; }
  #colorbox #cboxWrapper {
    background: transparent;
    overflow: initial; }
    #colorbox #cboxWrapper #cboxContent {
      position: relative;
      background-color: transparent;
      overflow: initial;
      margin-bottom: 28px;
      font-family: "Poppins", sans-serif;
      font-size: 0.75rem; }
      #colorbox #cboxWrapper #cboxContent:after {
        content: '';
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        z-index: -1;
        box-shadow: 0 0 3.125em rgba(0, 0, 0, 0.95);
        border-radius: 10px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadedContent {
        margin-bottom: 0; }
        #colorbox #cboxWrapper #cboxContent #cboxLoadedContent img {
          border-radius: 10px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadingOverlay {
        background: #0d0d0d; }
      #colorbox #cboxWrapper #cboxContent #cboxTitle {
        bottom: 0;
        border-radius: 0 0 10px 10px;
        background-color: rgba(0, 0, 0, 0.7);
        color: #818181;
        padding: 7px 5px; }
      #colorbox #cboxWrapper #cboxContent #cboxLoadingGraphic {
        background: none;
        animation: fa-spin 2s linear infinite;
        display: flex;
        justify-content: center;
        align-items: center; }
        #colorbox #cboxWrapper #cboxContent #cboxLoadingGraphic::after {
          animation: fa-spin 5s linear infinite;
          content: "\f110";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          font-size: 35px;
          color: #818181; }
      #colorbox #cboxWrapper #cboxContent button#cboxPrevious, #colorbox #cboxWrapper #cboxContent button#cboxNext, #colorbox #cboxWrapper #cboxContent button#cboxClose {
        bottom: -34px;
        color: transparent;
        background-color: transparent; }
      #colorbox #cboxWrapper #cboxContent #cboxCurrent {
        bottom: -32px; }

/********* FLECHES COLORBOX *************/
#cboxCurrent, #cboxClose {
  bottom: -1px; }

button#cboxPrevious,
button#cboxNext,
button#cboxClose {
  background: none;
  color: transparent;
  height: unset;
  text-indent: unset;
  bottom: -4px; }
  button#cboxPrevious::after,
  button#cboxNext::after,
  button#cboxClose::after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #494949;
    font-size: 20px; }

button#cboxPrevious {
  left: -34px; }
  button#cboxPrevious::after {
    content: "\f0a8"; }

button#cboxNext::after {
  content: "\f0a9"; }

#cboxCurrent {
  left: 74px;
  color: #818181; }

button#cboxClose {
  width: unset;
  right: 2px; }
  button#cboxClose::after {
    content: "\f057"; }

.webform-submission-form .form-type-select .container-field {
  display: block; }
  .webform-submission-form .form-type-select .container-field .form-select {
    margin-bottom: 0; }

.webform-submission-form .container-field {
  position: relative;
  border-radius: 0.075rem;
  overflow: hidden; }

.webform-submission-form [class*="field-anim-"] {
  position: absolute;
  background-color: #f1e3cd;
  -moz-transition: transform 0.25s ease;
  -o-transition: transform 0.25s ease;
  -webkit-transition: transform 0.25s ease;
  transition: transform 0.25s ease; }

.webform-submission-form .field-anim-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  -webkit-transform-origin: bottom right;
  -moz-transform-origin: bottom right;
  -ms-transform-origin: bottom right;
  -o-transform-origin: bottom right;
  transform-origin: bottom right;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -moz-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
  -webkit-transition: transform 0.5s ease;
  transition: transform 0.5s ease; }

.webform-submission-form .container-field input:not(.form-file):focus, .webform-submission-form .container-field textarea:focus, .webform-submission-form .container-field select:focus {
  outline: none; }

.webform-submission-form .container-field input:not(.form-file):focus ~ .field-anim-bottom, .webform-submission-form .container-field textarea:focus ~ .field-anim-bottom, .webform-submission-form .container-field select:focus ~ .field-anim-bottom {
  -webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  transform-origin: bottom left;
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  -ms-transform: scaleX(1);
  -o-transform: scaleX(1);
  transform: scaleX(1); }

.block-wf-contact [class*="field-anim-"] {
  background-color: #f1e3cd; }

.flb-block [class*="field-anim-"] {
  background-color: #f1e3cd; }

@-moz-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes flash {
  0% {
    opacity: 1; }
  25% {
    opacity: 0; }
  50% {
    opacity: 1; }
  75% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounce {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  60% {
    -webkit-transform: translateY(-15px);
    -moz-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    -o-transform: translateY(-15px);
    transform: translateY(-15px); }
  80% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes shake {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  20% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  30% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  40% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  50% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  60% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  70% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  90% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-o-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-ms-keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  10% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -moz-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    -o-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  50% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  60% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  70% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -moz-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    -o-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -moz-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    -o-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -moz-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    -o-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-moz-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-o-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-ms-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center 50%;
    -moz-transform-origin: top center 50%;
    -ms-transform-origin: top center 50%;
    -o-transform-origin: top center 50%;
    transform-origin: top center 50%; }
  20% {
    -webkit-transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    -moz-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    -o-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); } }

@-moz-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-o-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-ms-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -moz-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    -o-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -moz-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    -o-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -moz-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    -o-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -moz-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    -o-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -moz-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    -o-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); } }

@-moz-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-o-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-ms-keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  50% {
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-moz-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-o-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-ms-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    -moz-transform: skewX(9deg);
    -ms-transform: skewX(9deg);
    -o-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    -moz-transform: skewX(-8deg);
    -ms-transform: skewX(-8deg);
    -o-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    -moz-transform: skewX(7deg);
    -ms-transform: skewX(7deg);
    -o-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    -moz-transform: skewX(-6deg);
    -ms-transform: skewX(-6deg);
    -o-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    -moz-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    -o-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    -moz-transform: skewX(-4deg);
    -ms-transform: skewX(-4deg);
    -o-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    -moz-transform: skewX(3deg);
    -ms-transform: skewX(3deg);
    -o-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    -moz-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    -o-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    -moz-transform: skewX(1deg);
    -ms-transform: skewX(1deg);
    -o-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    -moz-transform: skewX(0deg);
    -ms-transform: skewX(0deg);
    -o-transform: skewX(0deg);
    transform: skewX(0deg); } }

@-moz-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-o-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-ms-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); }
  25% {
    -webkit-transform: scale(0.95, 0.95);
    -moz-transform: scale(0.95, 0.95);
    -ms-transform: scale(0.95, 0.95);
    -o-transform: scale(0.95, 0.95);
    transform: scale(0.95, 0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); } }

@-moz-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-o-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-ms-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

@-moz-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-o-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-ms-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-moz-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-o-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-ms-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-moz-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-o-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-ms-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-moz-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-o-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-ms-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3, 0.3);
    -moz-transform: scale(0.3, 0.3);
    -ms-transform: scale(0.3, 0.3);
    -o-transform: scale(0.3, 0.3);
    transform: scale(0.3, 0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05, 1.05);
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -o-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05); }
  70% {
    -webkit-transform: scale(0.9, 0.9);
    -moz-transform: scale(0.9, 0.9);
    -ms-transform: scale(0.9, 0.9);
    -o-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9); }
  100% {
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1); } }

@-moz-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    -o-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -moz-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -o-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
    -ms-transform: translateX(30px);
    -o-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    -moz-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    -o-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-o-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-ms-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

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

@-moz-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-o-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-ms-keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@keyframes fadeOutUp {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; } }

@-moz-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-o-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-ms-keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@keyframes fadeOutDown {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; } }

@-moz-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-o-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-ms-keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@keyframes fadeOutRight {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; } }

@-moz-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-webkit-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-o-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-ms-keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@keyframes fadeOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; } }

@-moz-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-webkit-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-o-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-ms-keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@keyframes fadeOutUpBig {
  0% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px);
    opacity: 0; } }

@-moz-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-o-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-ms-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px); } }

@-moz-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-o-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-ms-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); } }

@-moz-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-o-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-ms-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

@-moz-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-ms-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

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

@-moz-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInUp {
  0% {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInDown {
  0% {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-o-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-ms-keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fadeInRight {
  0% {
    -webkit-transform: translateX(20px);
    -moz-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-moz-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-o-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-ms-keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@keyframes fadeInLeft {
  0% {
    -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    opacity: 1; } }

@-moz-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-webkit-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-o-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-ms-keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fadeInUpBig {
  0% {
    -webkit-transform: translateY(2000px);
    -moz-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    -o-transform: translateY(2000px);
    transform: translateY(2000px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@-moz-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-ms-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -moz-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    -o-transform: translateY(-2000px);
    transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -moz-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    -o-transform: translateX(2000px);
    transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-o-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-ms-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -moz-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    -o-transform: translateX(-2000px);
    transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); } }

@-moz-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-o-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-ms-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -moz-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    -o-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    -ms-animation-timing-function: ease-out;
    -o-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -ms-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -moz-transform: perspective(400px) scale(1);
    -ms-transform: perspective(400px) scale(1);
    -o-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -ms-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@-moz-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -moz-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    -o-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -moz-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    -o-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -moz-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    -o-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -moz-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    -o-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -moz-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    -o-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -moz-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    -o-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -moz-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    -o-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -moz-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    -o-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-o-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-ms-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -moz-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    -o-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -moz-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    -o-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; } }

@-moz-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -moz-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    -o-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -moz-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    -o-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-o-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-ms-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(200deg);
    -moz-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    -o-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

@-moz-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-o-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-o-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-o-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; } }

@-moz-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-o-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-ms-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

@-moz-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(-200deg);
    -moz-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    -o-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center 50%;
    -moz-transform-origin: center center 50%;
    -ms-transform-origin: center center 50%;
    -o-transform-origin: center center 50%;
    transform-origin: center center 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom 50%;
    -moz-transform-origin: left bottom 50%;
    -ms-transform-origin: left bottom 50%;
    -o-transform-origin: left bottom 50%;
    transform-origin: left bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-o-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-ms-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom 50%;
    -moz-transform-origin: right bottom 50%;
    -ms-transform-origin: right bottom 50%;
    -o-transform-origin: right bottom 50%;
    transform-origin: right bottom 50%;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

@-moz-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-o-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-ms-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -moz-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    -o-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -moz-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    -o-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform-origin: top left 50%;
    -moz-transform-origin: top left 50%;
    -ms-transform-origin: top left 50%;
    -o-transform-origin: top left 50%;
    transform-origin: top left 50%;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -ms-animation-timing-function: ease-in-out;
    -o-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    -moz-transform: translateY(700px);
    -ms-transform: translateY(700px);
    -o-transform: translateY(700px);
    transform: translateY(700px);
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0; } }

@-moz-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-webkit-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-o-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-ms-keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

@-moz-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-webkit-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-o-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@-ms-keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@keyframes rollOut {
  0% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -moz-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    -o-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -moz-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    -o-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); } }

@media (min-width: 992px) {
  .node--type-actualite #main-wrapper,
  .node--type-annexe #main-wrapper,
  .node--type-reference #main-wrapper,
  .node--type-soref-article #main-wrapper, .node--type-page-soref #main-wrapper {
    max-width: 850px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; } }

.cw-breadcrumb {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  background: #faf5ed; }
  .cw-breadcrumb .breadcrumb {
    max-width: 1140px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    background: none;
    margin-bottom: 0; }
  .cw-breadcrumb a {
    color: #595858; }
  .cw-breadcrumb .active {
    font-weight: 500; }
    .cw-breadcrumb .active a {
      color: #7f6256; }

/************** CARDS **************/
.cw-cards-section {
  margin-top: 70px; }
  .cw-cards-section .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 300; }

.cw-card-rows {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  position: relative; }

.cw-card-thumb {
  position: relative;
  height: min-content;
  margin-bottom: 0rem; }
  .cw-card-thumb img {
    filter: brightness(1) blur(0px);
    -moz-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -o-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    -webkit-transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    transition: opacity 0.3s, transform 0.4s, filter 0.2s;
    border-radius: 0.075rem; }
  .cw-card-thumb .show-more {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    color: #fff; }
    .cw-card-thumb .show-more .icon {
      transform: rotate(0deg); }
    .cw-card-thumb .show-more .icon:before {
      font-family: "Font Awesome 5 free";
      font-weight: 900;
      font-size: 1.2rem;
      content: "";
      display: block;
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
      transform: scale(1, 1);
      -moz-transition: all 0.2s;
      -o-transition: all 0.2s;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .cw-card-thumb .show-more .title {
      font-family: "Poppins", sans-serif;
      font-size: 0.75rem;
      display: block;
      filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
      opacity: 0;
      -moz-transition: all 0.8s 0.2s;
      -o-transition: all 0.8s 0.2s;
      -webkit-transition: all 0.8s 0.2s;
      transition: all 0.8s 0.2s; }
  .cw-card-thumb:hover img {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6);
    filter: brightness(0.5) blur(1px); }
  .cw-card-thumb:hover .show-more {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
    .cw-card-thumb:hover .show-more .icon:before {
      -webkit-transform: scale(1.5, 1.5);
      -moz-transform: scale(1.5, 1.5);
      -ms-transform: scale(1.5, 1.5);
      -o-transform: scale(1.5, 1.5);
      transform: scale(1.5, 1.5);
      -moz-transition: all 0.6s;
      -o-transition: all 0.6s;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .cw-card-thumb:hover .title {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1; }

.cw-card-date {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1em;
  letter-spacing: 0.08em;
  color: #eab7ab;
  border-radius: 4px;
  margin-bottom: 1rem; }

.cw-card-title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  line-height: 1em;
  letter-spacing: 0em;
  margin-top: 0;
  margin-bottom: 1rem; }
  .cw-card-title strong {
    font-weight: 500; }
  .cw-card-title a {
    color: #564c3c !important; }

.cw-card-text {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 1.1rem;
  line-height: 1.35em;
  letter-spacing: 0em;
  margin-bottom: 1rem; }

.cw-card {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.bloc-carousel .view-content {
  padding: 0 !important; }

.bloc-carousel .carousel-item {
  padding: 0px 30px; }

.page-listing .cw-card:not(:last-child) {
  margin-bottom: 4rem; }

.cw-cards-andromede .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.cw-cards-andromede .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 2rem 0 2rem 0;
  position: relative; }
  .cw-cards-andromede .cw-card .card-text {
    font-size: 17px; }

.cw-cards-andromede .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.25rem; }

.cw-cards-andromede .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .cw-cards-andromede .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .cw-cards-andromede .cw-card-thumb img {
    max-width: 100%; }

.cw-cards-andromede .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.cw-cards-andromede .content {
  height: 13rem;
  overflow: auto; }

.cw-cards-andromede .cw-card-text {
  color: #545353;
  font-size: 1rem;
  line-height: 1.4; }

.cw-cards-andromede .cw-card-date {
  width: fit-content;
  background-color: #fbf7f1;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.cw-cards-andromede .cw-card-title {
  width: 100%; }

.cw-cards-andromede .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .cw-cards-andromede .cw-card-show .btn {
    color: #eab7ab;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .cw-cards-andromede .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .cw-cards-andromede .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-cards-andromede .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-cards-andromede .cw-card-summary {
    flex: 1; }
    .cw-cards-andromede .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-cards-andromede .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .cw-cards-andromede-hz .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .cw-cards-andromede-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .cw-cards-andromede-hz .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .cw-cards-andromede-hz .cw-card .cw-card-show {
      top: -20px; }
    .cw-cards-andromede-hz .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .cw-cards-andromede-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.cw-cards-section {
  margin-top: 70px; }
  .cw-cards-section .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 300; }

.cw-card-rows {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  position: relative; }

.bloc-actualites .cw-card {
  margin-bottom: 4rem; }

@media (min-width: 992px) {
  .bloc-actualites .cw-card-text {
    min-height: 52px; } }

.cw-cards-bode .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }
  .cw-cards-bode .view-content .carousel-item {
    padding: 62px 15px; }

.cw-cards-bode .cw-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  max-width: 580px;
  min-width: 260px;
  margin: 30px 0 60px;
  background-color: #fff;
  border-radius: 2rem 0 2rem 0;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }
  .cw-cards-bode .cw-card .card-text {
    font-size: 17px; }

.cw-cards-bode .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  bottom: 30px;
  margin: auto;
  padding: 0 30px; }

.cw-cards-bode .cw-card-thumb a {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
  border-radius: 2rem 0 2rem 0;
  overflow: hidden; }

.cw-cards-bode .cw-card-thumb img {
  max-width: 100%; }

.cw-cards-bode .cw-card-summary {
  display: flex;
  flex-direction: column;
  padding: 0.5rem 30px 30px;
  text-align: center; }

.cw-cards-bode .content {
  height: 10rem;
  overflow: auto; }

.cw-cards-bode .cw-card-text {
  color: #545353;
  font-size: 1rem;
  line-height: 1.4; }

.cw-cards-bode .cw-card-date {
  margin-bottom: 0.5rem; }

.cw-cards-bode .cw-card-title {
  width: 100%; }

.cw-cards-bode .cw-card-text {
  font-size: 1.1rem;
  line-height: 1.35; }

.cw-cards-bode .cw-card-show {
  position: absolute;
  bottom: -20px;
  width: calc(100% - 2 * 30px); }
  .cw-cards-bode .cw-card-show .btn {
    color: #eab7ab;
    padding: 15px 40px;
    width: initial; }

@media (min-width: 768px) {
  .cw-cards-bode .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px; }
  .cw-cards-bode .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-cards-bode .cw-card {
    margin-left: 10px;
    margin-right: 10px; }
  .cw-cards-bode .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-cards-bode .cw-card-summary {
    flex: 1; }
    .cw-cards-bode .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-cards-bode .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .cw-cards-bode-hz .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .cw-cards-bode-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap;
    margin: 0;
    padding: 60px 30px; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb {
      transform: none;
      position: relative;
      top: 0;
      left: 0;
      padding: 0 30px; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb a {
      display: flex;
      justify-content: center; }
    .cw-cards-bode-hz .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .cw-cards-bode-hz .cw-card .cw-card-summary {
      justify-content: space-evenly;
      align-items: flex-start;
      width: 60%;
      margin-top: 0;
      padding: 0 30px;
      text-align: left; }
    .cw-cards-bode-hz .cw-card .cw-card-show {
      position: initial;
      transform: initial; }
      .cw-cards-bode-hz .cw-card .cw-card-show .btn {
        padding: 26px 60px; } }

@media (min-width: 1200px) {
  .cw-cards-bode-hz .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

@media (min-width: 992px) {
  .cw-cards-bode-hover .cw-card {
    -moz-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out; }
    .cw-cards-bode-hover .cw-card:hover {
      -moz-transition: background 0.2s ease-in-out;
      -o-transition: background 0.2s ease-in-out;
      -webkit-transition: background 0.2s ease-in-out;
      transition: background 0.2s ease-in-out;
      background-color: #f9f9f9; } }

@media (min-width: 992px) {
  .cw-cards-bode-img-right .cw-card .cw-card-thumb {
    order: 1; } }

@media (min-width: 992px) {
  .cw-cards-bode-img-overflow .cw-card {
    padding: 0; }
    .cw-cards-bode-img-overflow .cw-card .cw-card-thumb {
      padding: 0; }
      .cw-cards-bode-img-overflow .cw-card .cw-card-thumb a {
        border-radius: 2rem 0 2rem 0;
        margin: -40px 0; }
      .cw-cards-bode-img-overflow .cw-card .cw-card-thumb img {
        max-width: 100%; }
    .cw-cards-bode-img-overflow .cw-card .cw-card-summary {
      padding: 60px; }
  .cw-cards-bode-img-overflow .cw-card:not(:last-child) {
    margin-bottom: calc(4rem + 80px) !important; } }

@media (min-width: 992px) {
  .cw-cards-bode-quincunx .cw-card:nth-child(2n+1) .cw-card-thumb {
    order: 1; }
  .cw-cards-bode-quincunx .cw-card:nth-child(2n+2) .cw-card-summary {
    align-items: flex-end;
    text-align: right; } }

.cw-cards-file .views-view-grid .row {
  justify-content: center; }

.cw-cards-file .views-view-grid .row:last-child .cw-card:last-child {
  margin-bottom: 0; }

.cw-cards-file .cw-card {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 580px;
  min-width: 260px;
  background-color: #fff;
  text-align: center;
  background-image: url("../images/particule-guillemets.png");
  background-position: left top;
  background-repeat: no-repeat;
  box-shadow: none;
  margin-bottom: 6rem; }
  .cw-cards-file .cw-card .cw-card-text {
    font-size: 1.4rem;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #564c3c;
    margin-top: 1rem;
    margin-bottom: 1.5rem; }

.cw-cards-file .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 768px) {
  .cw-cards-file .cw-card {
    justify-content: space-between;
    max-width: 580px;
    min-width: 330px; } }

@media (min-width: 1200px) {
  .cw-cards-file .views-view-grid .row:not(:last-child) {
    margin-bottom: 8rem; }
  .cw-cards-file .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 0; }
    .cw-cards-file .cw-card .cw-card-text {
      margin-top: 1.33333rem;
      margin-bottom: 4rem; }
  .cw-cards-file .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; } }

.bloc-actualites .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.bloc-actualites .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 2rem 0 2rem 0;
  position: relative; }
  .bloc-actualites .cw-card .card-text {
    font-size: 17px; }

.bloc-actualites .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.25rem; }

.bloc-actualites .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .bloc-actualites .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .bloc-actualites .cw-card-thumb img {
    max-width: 100%; }

.bloc-actualites .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.bloc-actualites .content {
  height: 13rem;
  overflow: auto; }

.bloc-actualites .cw-card-text {
  color: #545353;
  font-size: 1rem;
  line-height: 1.4; }

.bloc-actualites .cw-card-date {
  width: fit-content;
  background-color: #fbf7f1;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.bloc-actualites .cw-card-title {
  width: 100%; }

.bloc-actualites .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .bloc-actualites .cw-card-show .btn {
    color: #eab7ab;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .bloc-actualites .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .bloc-actualites .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .bloc-actualites .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .bloc-actualites .cw-card-summary {
    flex: 1; }
    .bloc-actualites .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .bloc-actualites .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .bloc-actualites .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .bloc-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .bloc-actualites .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .bloc-actualites .cw-card .cw-card-show {
      top: -20px; }
    .bloc-actualites .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .bloc-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.bloc-actualites .carousel-item {
  padding: 0px 20px; }
  .bloc-actualites .carousel-item .cw-card {
    margin: 55px auto; }

.page-actualites .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.page-actualites .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 2rem 0 2rem 0;
  position: relative; }
  .page-actualites .cw-card .card-text {
    font-size: 17px; }

.page-actualites .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.25rem; }

.page-actualites .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .page-actualites .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .page-actualites .cw-card-thumb img {
    max-width: 100%; }

.page-actualites .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.page-actualites .content {
  height: 13rem;
  overflow: auto; }

.page-actualites .cw-card-text {
  color: #545353;
  font-size: 1rem;
  line-height: 1.4; }

.page-actualites .cw-card-date {
  width: fit-content;
  background-color: #fbf7f1;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.page-actualites .cw-card-title {
  width: 100%; }

.page-actualites .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .page-actualites .cw-card-show .btn {
    color: #eab7ab;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .page-actualites .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .page-actualites .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .page-actualites .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .page-actualites .cw-card-summary {
    flex: 1; }
    .page-actualites .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .page-actualites .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

@media (min-width: 768px) {
  .page-actualites .cw-card {
    width: 100%; } }

@media (min-width: 992px) {
  .page-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto;
    flex-wrap: nowrap; }
    .page-actualites .cw-card .cw-card-thumb img {
      max-width: 100%; }
    .page-actualites .cw-card .cw-card-show {
      top: -20px; }
    .page-actualites .cw-card .cw-card-summary {
      justify-content: space-evenly;
      padding: 40px 25px 40px 15px; } }

@media (min-width: 1200px) {
  .page-actualites .cw-card {
    flex-direction: row;
    width: 100%;
    max-width: none;
    min-width: auto; } }

.cw-card-rows .view-content {
  justify-content: center;
  max-width: 680px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.cw-card-rows .cw-card {
  display: flex;
  flex-direction: column;
  max-width: 580px;
  min-width: 260px;
  margin: 55px 0;
  background-color: #fff;
  border-radius: 2rem 0 2rem 0;
  position: relative; }
  .cw-card-rows .cw-card .card-text {
    font-size: 17px; }

.cw-card-rows .cw-card-thumb {
  top: -31px;
  padding: 0 30px;
  border-radius: 0.25rem; }

.cw-card-rows .cw-card-thumb {
  display: flex;
  justify-content: center;
  align-items: center; }
  .cw-card-rows .cw-card-thumb a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08);
    overflow: hidden; }
  .cw-card-rows .cw-card-thumb img {
    max-width: 100%; }

.cw-card-rows .cw-card-summary {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0.5rem 30px 30px; }

.cw-card-rows .content {
  height: 13rem;
  overflow: auto; }

.cw-card-rows .cw-card-text {
  color: #545353;
  font-size: 1rem;
  line-height: 1.4; }

.cw-card-rows .cw-card-date {
  width: fit-content;
  background-color: #fbf7f1;
  padding: 10px 20px;
  margin-bottom: 0.5rem; }

.cw-card-rows .cw-card-title {
  width: 100%; }

.cw-card-rows .cw-card-show {
  position: absolute;
  right: 30px;
  bottom: -20px; }
  .cw-card-rows .cw-card-show .btn {
    color: #eab7ab;
    padding: 15px 40px; }

@media (min-width: 768px) {
  .cw-card-rows .cw-card {
    width: 45%;
    max-width: 580px;
    min-width: 330px;
    margin: 55px 10px; }
  .cw-card-rows .cw-card-summary .cw-card-content {
    height: 9rem; } }

@media (min-width: 992px) {
  .cw-card-rows .view-content {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .cw-card-rows .cw-card-summary {
    flex: 1; }
    .cw-card-rows .cw-card-summary .cw-card-content {
      height: initial; } }

@media (min-width: 1200px) {
  .cw-card-rows .cw-card {
    width: 31%;
    max-width: 580px;
    min-width: auto; } }

.cw-context-xxx .cw-element-img {
  max-height: 120px;
  display: flex;
  align-content: center;
  justify-content: center;
  margin-bottom: 30px; }

.cw-context-xxx .cw-element-title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #545353; }

.cw-context-xxx .cw-element-text {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0em;
  color: #545353; }

.cw-context-xxx .cw-element-adresse {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #545353; }
  .cw-context-xxx .cw-element-adresse a {
    color: #545353; }
    .cw-context-xxx .cw-element-adresse a:hover {
      color: #6e6c6c; }

.cw-context-xxx .cw-element-horaire {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: 0em;
  color: #545353; }

.cw-context-xxx .cw-element-tel {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #545353; }
  .cw-context-xxx .cw-element-tel a {
    color: #545353; }
    .cw-context-xxx .cw-element-tel a:hover {
      color: #6e6c6c; }

.cw-damier {
  /* Dégradé damier */ }
  .cw-damier .col-img {
    padding: 0; }
    .cw-damier .col-img .content {
      min-height: 60vh;
      height: 100%;
      background-size: cover;
      background-repeat: no-repeat;
      position: relative; }
      .cw-damier .col-img .content img {
        min-width: 100%; }
    .cw-damier .col-img.col-img-center .content {
      padding: 0 30px 3rem 30px;
      min-height: auto;
      display: flex;
      align-items: center;
      justify-content: center; }
      .cw-damier .col-img.col-img-center .content img {
        border-radius: 0.25rem;
        box-shadow: 0px 9px 46px 0px rgba(0, 0, 0, 0.2); }
  .cw-damier .col-txt-one, .cw-damier .col-txt-two {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 30px 30px;
    z-index: 2; }
  .cw-damier h2, .cw-damier .cw-damier-title {
    position: relative;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    text-transform: none;
    font-size: 1.7rem;
    line-height: 1.3;
    letter-spacing: 0em;
    text-align: left;
    width: 100%;
    margin-bottom: 20px !important; }
    .cw-damier h2:first-child, .cw-damier .cw-damier-title:first-child {
      margin-top: 0px !important; }
  .cw-damier .content {
    text-align: left;
    z-index: 1; }
  .cw-damier .cw-damier-btn {
    text-align: left; }
    .cw-damier .cw-damier-btn .btn {
      min-width: 200px; }
  .cw-damier .col-txt-one .content {
    color: #545353; }
    .cw-damier .col-txt-one .content h2, .cw-damier .col-txt-one .content .cw-damier-title {
      color: #564c3c; }
      .cw-damier .col-txt-one .content h2 span:before, .cw-damier .col-txt-one .content .cw-damier-title span:before {
        margin-left: 0; }
      .cw-damier .col-txt-one .content h2 span:after, .cw-damier .col-txt-one .content .cw-damier-title span:after {
        display: block;
        content: "";
        position: absolute;
        height: calc(100% + 0px);
        width: 12%;
        max-width: 100%;
        top: 28px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 1;
        background-image: url(../images/puce-h2.png);
        background-color: transparent;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
    .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]) {
      color: #545353; }
      .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]):hover {
        color: #7f6256; }
  .cw-damier .col-txt-two .content {
    color: #545353; }
    .cw-damier .col-txt-two .content h2, .cw-damier .col-txt-two .content .cw-damier-title {
      color: #564c3c; }
      .cw-damier .col-txt-two .content h2 span:before, .cw-damier .col-txt-two .content .cw-damier-title span:before {
        margin-left: 0; }
      .cw-damier .col-txt-two .content h2 span:after, .cw-damier .col-txt-two .content .cw-damier-title span:after {
        display: block;
        content: "";
        position: absolute;
        height: calc(100% + 0px);
        width: 12%;
        max-width: 100%;
        top: 28px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 1;
        background-image: url(../images/puce-h1.png);
        background-color: transparent;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
    .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]) {
      color: #545353; }
      .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]):hover {
        color: #e09482; }
  .cw-damier .damier-style-one {
    background-color: #fff; }
  .cw-damier .damier-style-two {
    background-color: #fff; }
  .cw-damier .damier-style-img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
  .cw-damier .damier-style-one .col-img .content, .cw-damier .damier-style-two .col-img .content {
    position: relative; }
    .cw-damier .damier-style-one .col-img .content:before, .cw-damier .damier-style-one .col-img .content:after, .cw-damier .damier-style-two .col-img .content:before, .cw-damier .damier-style-two .col-img .content:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }

@media (max-width: 991.98px) {
  .cw-damier .damier-style-one .col-img {
    display: none; }
  .cw-damier .damier-style-two .content img {
    max-width: 400px; } }

@media (max-width: 767.98px) {
  .cw-damier .damier-style-two .content img {
    max-width: 260px; } }

@media (min-width: 992px) {
  .cw-damier .damier-style-one .col-img:before {
    content: '';
    display: inline-block;
    width: 109px;
    height: 100%;
    background-image: url("../images/bg-droite.png");
    background-size: contain;
    background-repeat: no-repeat; }
  .cw-damier .row > div {
    display: flex;
    min-height: 500px;
    width: 100%; }
  .cw-damier .col-img .content {
    min-height: 500px;
    max-width: 960px; }
  .cw-damier .col-img.col-img-center {
    padding: 4rem 50px;
    display: flex; }
    .cw-damier .col-img.col-img-center .content {
      padding: 0; }
  .cw-damier [class*="col-txt-"] {
    padding: 4rem 50px; }
    .cw-damier [class*="col-txt-"] .content {
      max-width: 550px; }
      .cw-damier [class*="col-txt-"] .content .cw-damier-title {
        font-size: 1.7rem !important; }
  .cw-damier .col-md-7 .content, .cw-damier .col-md-8 .content, .cw-damier .col-md-9 .content, .cw-damier .col-md-10 .content {
    max-width: 100%; } }

@media (min-width: 992px) {
  .cw-damier .col-img-center .content {
    max-width: 550px; }
  .cw-damier .damier-style-one .content {
    text-align: left; }
  .cw-damier .damier-style-one h2, .cw-damier .damier-style-one .cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-one h2:before, .cw-damier .damier-style-one .cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-one h2:after, .cw-damier .damier-style-one .cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-one .cw-damier-btn {
    text-align: center; }
  .cw-damier .damier-style-two .content {
    text-align: left; }
  .cw-damier .damier-style-two h2, .cw-damier .damier-style-two .cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-two h2:before, .cw-damier .damier-style-two .cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-two h2:after, .cw-damier .damier-style-two .cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-two .cw-damier-btn {
    text-align: center; }
  .cw-damier .damier-style-three .content {
    text-align: left; }
  .cw-damier .damier-style-three h2, .cw-damier .damier-style-three .cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-three h2:before, .cw-damier .damier-style-three .cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-three h2:after, .cw-damier .damier-style-three .cw-damier-title:after {
      margin-left: auto !important; }
  .cw-damier .damier-style-three .cw-damier-btn {
    text-align: center; } }

.cw-damier .col-md-6[class*="col-txt-"], .cw-damier .col-md-6.col-img-center {
  padding: 4rem 100px; }

.cw-damier .cw-col-left {
  justify-content: flex-start; }

.cw-damier .cw-col-right {
  justify-content: flex-end; }

.cw-damier .damier-style-one .col-img-full .content:after {
  background-image: linear-gradient(to left, #fff 0%, rgba(0, 0, 0, 0) 40%); }

.cw-damier .damier-style-two .col-img-full .content:after {
  background-image: linear-gradient(to right, #fff 0%, rgba(0, 0, 0, 0) 40%); }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
@media (min-width: 992px) {
  .cw-damier [class*="col-txt-"]:not([class*="order-"]) {
    justify-content: flex-end; }
  .cw-damier .order-lg-2[class*="col-txt-"] {
    justify-content: flex-start; }
  .cw-damier .col-img[class*="col-img-"] {
    justify-content: flex-start; }
  .cw-damier .col-img.order-lg-1[class*="col-img-"] {
    justify-content: flex-end; } }

@media (min-width: 992px) {
  .cw-damier .col-img.col-img-overflows {
    padding: 0 50px; }
  .cw-damier .col-img-overflows .content {
    position: relative;
    display: flex;
    justify-content: center; }
    .cw-damier .col-img-overflows .content p {
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      position: absolute;
      top: 50%;
      box-shadow: 0px 9px 46px 0px rgba(0, 0, 0, 0.2); }
      .cw-damier .col-img-overflows .content p img {
        max-height: 520px; } }

@media (min-width: 992px) {
  .cw-damier-border-numbers .row > div {
    position: relative;
    min-height: initial; }
  .cw-damier-border-numbers .col-img-center {
    padding: 40px 50px !important; }
  .cw-damier-border-numbers [class*="col-txt-"] {
    padding: 50px !important; } }

@media (min-width: 1200px) {
  .cw-damier-border-numbers .row > div::before {
    content: "";
    position: absolute; }
  .cw-damier-border-numbers .row > div h2 {
    position: initial; }
    .cw-damier-border-numbers .row > div h2::after {
      position: absolute;
      background-color: #fbf7f1;
      font-family: "Poppins", sans-serif;
      font-weight: 400;
      font-size: 100px;
      padding: 10px 0; }
  .cw-damier-border-numbers .row:nth-child(0n+1) > div::before {
    left: 0;
    bottom: -3px;
    width: 5%;
    height: 60%;
    border-radius: 0 0 0 30px;
    border-left: 3px dotted #564c3c;
    border-bottom: 3px dotted #564c3c; }
  .cw-damier-border-numbers .row:nth-child(0n+1) > div h2::after {
    content: "1";
    left: -20px; }
  .cw-damier-border-numbers .row:nth-child(0n+2) > div::before {
    right: 0;
    width: 94.95%;
    height: 100%;
    border-radius: 0 30px 30px 0;
    border-right: 3px dotted #564c3c;
    border-top: 3px dotted #564c3c;
    border-bottom: 3px dotted #564c3c; }
  .cw-damier-border-numbers .row:nth-child(0n+2) > div h2::after {
    content: "2";
    right: -30px; }
  .cw-damier-border-numbers .row:nth-child(0n+3) > div::before {
    top: -3px;
    left: 0;
    width: 5%;
    height: 100%;
    border-radius: 30px 0 0 0;
    border-left: 3px dotted #564c3c;
    border-top: 3px dotted #564c3c; }
  .cw-damier-border-numbers .row:nth-child(0n+3) > div h2::after {
    content: "3";
    left: -30px; } }

.cw-grid {
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  width: calc((280px * 4) + (15px * (4 - 1)));
  height: calc((280px * 2) + (15px * (2 - 1))); }
  .cw-grid .cw-metier {
    background-color: rgba(234, 183, 171, 0);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    .cw-grid .cw-metier:before {
      content: "";
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      background-color: #eab7ab;
      opacity: 0;
      top: 0;
      left: 0;
      z-index: 1;
      transition: all ease-out 0.3s; }
    .cw-grid .cw-metier:after {
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "Font Awesome 5 Free" !important;
      font-weight: 900;
      content: "\f054";
      width: 30px;
      height: 30px;
      font-size: 20px;
      color: #fff;
      position: absolute;
      left: 0;
      right: 0;
      top: 70px;
      bottom: 0;
      margin: auto;
      transition: all ease-out 0.3s;
      transform: scale(0);
      opacity: 0;
      z-index: 1; }
    .cw-grid .cw-metier span {
      color: #fff;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: 22px;
      transition: all ease-out 0.3s;
      z-index: 1;
      text-align: center; }
    .cw-grid .cw-metier a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 2; }
    .cw-grid .cw-metier .img-metier {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .cw-grid .cw-metier .img-metier:before {
        background-image: linear-gradient(0, rgba(156, 122, 108, 0.5) 0, rgba(156, 122, 108, 0.5) 80%);
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all ease-out 0.3s; }
    .cw-grid .cw-metier:hover {
      background-color: #eab7ab; }
      .cw-grid .cw-metier:hover:before {
        opacity: 1; }
      .cw-grid .cw-metier:hover:after {
        opacity: 1;
        transform: scale(1); }
      .cw-grid .cw-metier:hover span {
        transform: translateY(-20px); }

@media (max-width: 1200px) {
  .cw-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    width: calc((280px * 2) + (15px * (2 - 1)));
    height: calc((280px * 4) + (15px * (4 - 1))); } }

@media (max-width: 615px) {
  .cw-grid {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(8, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    width: calc((280px * 1) + (15px * (1 - 1)));
    height: calc((280px * 8) + (15px * (8 - 1))); } }

/* ------------  --------------- ------------ */
/* ------------  .CW-GRID-SIMPLE ------------ */
/* ------------  --------------- ------------ */
.cw-grid-simple {
  display: grid;
  grid-gap: 10px; }
  .cw-grid-simple a {
    width: 100%; }

.cw-grid-simple-2 {
  display: grid;
  grid-gap: 20px; }
  .cw-grid-simple-2 a {
    width: 100%; }

@media (min-width: 576px) {
  .cw-grid-simple-col-2 {
    grid-template-columns: repeat(2, 1fr); }
  .cw-grid-simple-col-3 {
    grid-template-columns: repeat(3, 1fr); }
  .cw-grid-simple-col-4 {
    grid-template-columns: repeat(4, 1fr); }
  .cw-grid-simple-col-5 {
    grid-template-columns: repeat(5, 1fr); }
  .cw-grid-simple-col-6 {
    grid-template-columns: repeat(6, 1fr); } }

@media (min-width: 768px) {
  .cw-grid-simple-col-2-md {
    grid-template-columns: repeat(2, 1fr); }
  .cw-grid-simple-col-3-md {
    grid-template-columns: repeat(3, 1fr); }
  .cw-grid-simple-col-4-md {
    grid-template-columns: repeat(4, 1fr); }
  .cw-grid-simple-col-5-md {
    grid-template-columns: repeat(5, 1fr); }
  .cw-grid-simple-col-6-md {
    grid-template-columns: repeat(6, 1fr); } }

/* ------------  --------------- ------------ */
/* ------------  .CW-GRID-PUZZLE ------------ */
/* ------------  --------------- ------------ */
.cw-grid-puzzle {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.85) !important; }
  .cw-grid-puzzle .row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 3px; }
  .cw-grid-puzzle .content, .cw-grid-puzzle .cw-grid-puzzle-summary {
    height: 100%; }
  .cw-grid-puzzle a {
    color: rgba(255, 255, 255, 0.85) !important; }
    .cw-grid-puzzle a:hover {
      color: #fff !important; }
  .cw-grid-puzzle .cw-grid-puzzle-title {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 0em;
    text-transform: uppercase; }
  .cw-grid-puzzle .cw-grid-puzzle-text {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    text-transform: none; }
  .cw-grid-puzzle .row .cw-grid-puzzle-summary {
    -moz-transition: opacity 0.15s ease-in-out;
    -o-transition: opacity 0.15s ease-in-out;
    -webkit-transition: opacity 0.15s ease-in-out;
    transition: opacity 0.15s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    min-height: 135px;
    padding: 20px;
    opacity: 1;
    text-align: center; }
    .cw-grid-puzzle .row .cw-grid-puzzle-summary[href*="/"]:hover .cw-grid-puzzle-filtre {
      -moz-transition: opacity 0.15s ease-in-out;
      -o-transition: opacity 0.15s ease-in-out;
      -webkit-transition: opacity 0.15s ease-in-out;
      transition: opacity 0.15s ease-in-out;
      opacity: 0.85; }
  .cw-grid-puzzle .row .cw-grid-puzzle-title, .cw-grid-puzzle .row .cw-grid-puzzle-text {
    z-index: 1;
    width: 100%; }
  .cw-grid-puzzle .row .btn {
    width: 100%; }

@media (min-width: 576px) {
  .cw-grid-puzzle .row {
    grid-template: repeat(3, 1fr)/repeat(2, 1fr);
    grid-template-areas: "one two" "three four" "five six";
    min-height: 630px; }
    .cw-grid-puzzle .row .one {
      grid-area: one; }
    .cw-grid-puzzle .row .two {
      grid-area: two; }
    .cw-grid-puzzle .row .three {
      grid-area: three; }
    .cw-grid-puzzle .row .four {
      grid-area: four; }
    .cw-grid-puzzle .row .five {
      grid-area: five; }
    .cw-grid-puzzle .row .six {
      grid-area: six; } }

@media (min-width: 992px) {
  .cw-grid-puzzle .row {
    grid-gap: 20px;
    grid-template: repeat(3, 1fr)/repeat(4, 1fr);
    grid-template-areas: "one one two three" "one one six six" "four five six six"; } }

.cw-grid-puzzle .col .cw-grid-puzzle-bg-image {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }

.cw-grid-puzzle .col:nth-child(0n+1) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle1-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+2) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle2-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+3) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle3-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+4) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle4-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+5) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle5-mob.jpg"); }

.cw-grid-puzzle .col:nth-child(0n+6) .cw-grid-puzzle-bg-image {
  background-image: url("../images/bg-puzzle6-mob.jpg"); }

@media (min-width: 992px) {
  .cw-grid-puzzle .col:nth-child(0n+1) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle1.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+2) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle2.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+3) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle3.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+4) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle4.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+5) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle5.jpg"); }
  .cw-grid-puzzle .col:nth-child(0n+6) .cw-grid-puzzle-bg-image {
    background-image: url("../images/bg-puzzle6.jpg"); } }

.cw-grid-puzzle-filtre {
  -moz-transition: opacity 0.15s ease-in-out;
  -o-transition: opacity 0.15s ease-in-out;
  -webkit-transition: opacity 0.15s ease-in-out;
  transition: opacity 0.15s ease-in-out;
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(50deg, #181818 0, #181818 100%);
  opacity: 0.35; }

.cw-timeline-vertical {
  position: relative; }
  .cw-timeline-vertical .line {
    width: 0; }
  .cw-timeline-vertical .content {
    justify-content: flex-start !important;
    padding: 30px; }
  .cw-timeline-vertical .cw-element-svg {
    fill: #eab7ab; }
    .cw-timeline-vertical .cw-element-svg svg {
      width: 42px;
      height: 42px; }
  .cw-timeline-vertical .cw-element-title {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0em;
    color: #564c3c; }
  .cw-timeline-vertical .cw-element-text {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    color: #545353; }

@media (min-width: 768px) {
  .cw-timeline-vertical {
    position: relative; }
    .cw-timeline-vertical .line {
      height: calc(100% - 30px);
      position: absolute;
      left: 50%;
      border-style: dotted;
      border-width: 0px 0px 0px 2px;
      border-color: #545353; }
    .cw-timeline-vertical .cw-children-quincunx-md > div:nth-of-type(odd) .content {
      padding: 0 30px 30px; }
    .cw-timeline-vertical .cw-children-quincunx-md > div:nth-of-type(even) .content {
      padding: 30px 30px 0; } }

.accordion {
  width: 100%; }
  .accordion .card {
    border-radius: 0.25rem; }
  .accordion .card-header {
    padding: 0; }
    .accordion .card-header button {
      background-color: #fff;
      width: 100%;
      text-align: left;
      border-radius: 0; }
      .accordion .card-header button i {
        width: 16px;
        text-align: center; }
      .accordion .card-header button[aria-expanded="true"] i:before {
        display: none; }
      .accordion .card-header button[aria-expanded="true"] i:after {
        content: "\f106";
        font-weight: 900;
        display: inline-block; }
      .accordion .card-header button[aria-expanded="false"] i:after {
        display: none; }
      .accordion .card-header button i {
        font-size: 0.8em;
        position: relative;
        bottom: 1px;
        margin-right: 10px; }
    .accordion .card-header .card-title {
      display: block;
      margin: 0;
      font-weight: 500;
      text-transform: uppercase;
      font-family: "Poppins", sans-serif;
      font-size: 1.25rem;
      line-height: 1.3;
      letter-spacing: 0em;
      color: inherit; }
    .accordion .card-header .accordion-card-desc {
      font-weight: 500;
      margin-top: 1rem; }
  .accordion .card-body > h3 {
    margin-top: 1rem; }
  .accordion[class*="cw-bg-"] {
    background-color: initial !important; }
  .accordion.cw-bg-one .card, .accordion.cw-bg-one .card-header button {
    background-color: #fff; }
  .accordion.cw-bg-two .card, .accordion.cw-bg-two .card-header button {
    background-color: #fbf7f1; }
  .accordion.cw-bg-gray .card, .accordion.cw-bg-gray .card-header button {
    background-color: #faf5ed; }
  .accordion.cw-bg-dark .card, .accordion.cw-bg-dark .card-header button {
    background-color: #000000; }
  .accordion.text-white a {
    color: #e6e6e6;
    text-decoration: underline; }

.accordion-with-margin .card-header {
  border-bottom: initial; }

.accordion-with-margin .card {
  border: solid 1px #e9e9e9 !important;
  border-radius: 0.25rem !important; }
  .accordion-with-margin .card:nth-last-child(n) {
    margin-top: 1rem; }
  .accordion-with-margin .card:first-child {
    margin-top: 0; }

.accordion-with-margin .card-body {
  padding: 0 30px 24px; }

.accordion-i-right-fa .card-header button {
  padding-right: 80px; }
  .accordion-i-right-fa .card-header button:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.3em;
    content: '\f35a';
    position: absolute;
    right: 30px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%; }
  .accordion-i-right-fa .card-header button[aria-expanded="true"]:after {
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -moz-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    -o-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg); }

.accordion .card-custom-one h1, .accordion .card-custom-one h2, .accordion .card-custom-one h3, .accordion .card-custom-one h4, .accordion .card-custom-one h5, .accordion .card-custom-one h6, .accordion .card-custom-one .h1, .accordion .card-custom-one .h2, .accordion .card-custom-one .h3, .accordion .card-custom-one .h4, .accordion .card-custom-one .h5, .accordion .card-custom-one .h6 {
  color: #fff; }

.accordion .card-custom-one .card-header button {
  background-color: #f2f2f2 !important;
  color: #fff; }

.accordion .card-custom-one .card-body {
  background-color: #fff !important;
  padding: 24px 30px;
  color: rgba(255, 255, 255, 0.72); }
  .accordion .card-custom-one .card-body a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline; }

.accordion .card-custom-two .card-header button {
  background-color: #f0e0c9 !important;
  color: #fff; }

.accordion .card-custom-two .card-body {
  background-color: #fbf7f1 !important;
  padding: 24px 30px;
  color: rgba(255, 255, 255, 0.72); }
  .accordion .card-custom-two .card-body a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline; }
  .accordion .card-custom-two .card-body ul li:before {
    color: white; }

.accordion .card.accordion-img-bg {
  border: none !important; }
  .accordion .card.accordion-img-bg button {
    background-color: #fff !important;
    padding: 24px 80px 24px 30px; }
    .accordion .card.accordion-img-bg button:after {
      color: #fff; }
  .accordion .card.accordion-img-bg .accordion-card-img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: initial !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    .accordion .card.accordion-img-bg .accordion-card-img:after {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.8) 70%); }
  .accordion .card.accordion-img-bg .card-title, .accordion .card.accordion-img-bg .accordion-card-desc {
    color: #545353; }
  .accordion .card.accordion-img-bg .card-body {
    padding: 24px 30px; }

.accordion .card.accordion-img-left {
  border: none !important; }
  .accordion .card.accordion-img-left button {
    background-color: #dedede;
    min-height: 200px; }
    .accordion .card.accordion-img-left button:after {
      color: #fff; }
  .accordion .card.accordion-img-left .accordion-card-img {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    display: initial !important;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  .accordion .card.accordion-img-left .card-title {
    margin-top: 145px; }
  .accordion .card.accordion-img-left .card-body {
    padding: 24px 30px; }

@media (min-width: 992px) {
  .accordion .card.accordion-img-bg .card-title, .accordion .card.accordion-img-bg .accordion-card-desc {
    width: 50%; }
  .accordion .card.accordion-img-bg .accordion-card-img {
    left: initial;
    right: 0;
    width: 80%; }
    .accordion .card.accordion-img-bg .accordion-card-img:after {
      background-image: linear-gradient(45deg, #fff 0%, #fff 20%, rgba(249, 249, 249, 0.8) 38%, rgba(249, 249, 249, 0) 70%); }
  .accordion .card.accordion-img-left button {
    padding: 24px 80px 24px 230px; }
  .accordion .card.accordion-img-left .card-title {
    margin-top: 0; }
  .accordion .card.accordion-img-left .accordion-card-img {
    left: 0;
    width: 200px;
    height: 100%; }
  .col-lg-6 .accordion .card-header .accordion-card-img:after {
    background-image: linear-gradient(66deg, #fff 0%, #fff 20%, rgba(249, 249, 249, 0.8) 38%, rgba(249, 249, 249, 0) 70%); }
  .col-lg-6 .accordion .card.accordion-img-bg .card-title, .col-lg-6 .accordion .card.accordion-img-bg .accordion-card-desc {
    width: 100%; } }

#header {
  display: initial; }

.cw-navbar {
  position: sticky;
  top: 0;
  z-index: 1070; }

#navbar-top {
  background-color: #f9f9f9;
  background-color: #f9f9f9; }
  #navbar-top .content {
    color: #545353; }
    #navbar-top .content a {
      color: #545353; }
  #navbar-top .region-top-header {
    display: flex;
    flex: 1;
    justify-content: space-between; }
  #navbar-top #block-informationsnavbar {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    height: 0px;
    width: 100%; }
    #navbar-top #block-informationsnavbar .content {
      width: 100%; }

#navbar-main {
  min-height: 60px; }
  #navbar-main .menu--secondary a {
    font-size: calc(1rem - 0.05rem);
    padding: 11px 20px; }

.navbar {
  background-color: white;
  background-color: white;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  padding: 0;
  font-family: "Poppins", sans-serif; }
  .navbar .container {
    max-width: 1920px !important; }
  .navbar .navbar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px 10px 15px; }
    .navbar .navbar-logo img {
      -moz-transition: all 0.4s ease-in-out;
      -o-transition: all 0.4s ease-in-out;
      -webkit-transition: all 0.4s ease-in-out;
      transition: all 0.4s ease-in-out;
      max-width: 150px;
      max-height: calc(60px - 20px); }
  .navbar .navbar-brand {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    padding: 10px;
    margin-right: 0;
    white-space: normal; }
    .navbar .navbar-brand a {
      display: flex;
      align-items: flex-start;
      flex-direction: column;
      font-size: 1rem;
      line-height: 1.1rem;
      color: #564c3c; }
  .navbar .block-float {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 10px; }
    .navbar .block-float button {
      margin-right: 0; }
  .navbar .site-name {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    text-transform: none;
    font-size: 0.875rem;
    line-height: 1;
    letter-spacing: 0em;
    color: #9f7c6e; }
  .navbar .site-slogan {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    text-transform: none;
    font-size: 0.8rem;
    line-height: 1;
    letter-spacing: 0em;
    opacity: 0.8;
    margin-top: 2px;
    color: #564c3c; }
    .navbar .site-slogan:first-letter {
      text-transform: capitalize; }
  .navbar .navbar-toggler .navbar-toggler-icon {
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: block;
    background: #564c3c;
    width: 22px;
    height: 2px;
    border-radius: 3px;
    margin-top: 5px;
    margin-bottom: 5px; }
  .navbar .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
    background: #564c3c; }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-1 {
    -webkit-transform: translateY(7px) rotate(45deg);
    -moz-transform: translateY(7px) rotate(45deg);
    -ms-transform: translateY(7px) rotate(45deg);
    -o-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg); }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-2 {
    opacity: 0; }
  .navbar .navbar-toggler[aria-expanded="true"] #toggler-line-3 {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -moz-transform: translateY(-7px) rotate(-45deg);
    -ms-transform: translateY(-7px) rotate(-45deg);
    -o-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg); }
  .navbar nav .nav li a {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    color: #564c3c;
    padding: 20px;
    width: 100%; }
  .navbar nav .nav > li > a.is-active,
  .navbar nav .nav > li > a:hover,
  .navbar nav .nav > li > a:focus,
  .navbar nav .nav > li > a.active-trail,
  .navbar nav .nav > li.active > a,
  .navbar nav .nav > li.active > a:hover,
  .navbar nav .nav > li.active > a:focus {
    color: #eab7ab;
    background-color: transparent; }
  .navbar nav .nav .dropdown > a {
    display: flex;
    align-items: center; }
  .navbar nav .nav .dropdown-menu {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: white;
    background-color: white;
    border-radius: 0;
    max-height: 0;
    display: block;
    overflow: hidden;
    margin-top: 0;
    border: none;
    padding: 0;
    border-bottom: 0;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05); }
    .navbar nav .nav .dropdown-menu li.dropdown-item {
      padding: 0; }
      .navbar nav .nav .dropdown-menu li.dropdown-item a {
        -moz-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        display: inline-block;
        font-family: "Poppins", sans-serif;
        font-weight: 400;
        text-transform: none;
        font-size: 0.95rem;
        line-height: 1;
        letter-spacing: 0em;
        padding: 10px 14px;
        color: #564c3c;
        color: rgba(86, 76, 60, 0.85); }
      .navbar nav .nav .dropdown-menu li.dropdown-item:hover, .navbar nav .nav .dropdown-menu li.dropdown-item:active, .navbar nav .nav .dropdown-menu li.dropdown-item.active, .navbar nav .nav .dropdown-menu li.dropdown-item:focus {
        background: initial;
        background-color: transparent; }
        .navbar nav .nav .dropdown-menu li.dropdown-item:hover a, .navbar nav .nav .dropdown-menu li.dropdown-item:active a, .navbar nav .nav .dropdown-menu li.dropdown-item.active a, .navbar nav .nav .dropdown-menu li.dropdown-item:focus a {
          color: #eab7ab; }
      .navbar nav .nav .dropdown-menu li.dropdown-item:last-child {
        border-bottom: none; }
  .navbar nav .nav .dropdown-menu.show {
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    max-height: 100vh; }
  .navbar .navbar-btn {
    margin-top: 0;
    margin-bottom: 0; }
  .navbar .navbar-collapse {
    justify-content: flex-end;
    border-top: none; }
  .navbar .navbar-form {
    justify-content: flex-end; }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(3) {
    opacity: 0; }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(2) {
    -webkit-transform: translateY(6px) rotate(45deg);
    -moz-transform: translateY(6px) rotate(45deg);
    -ms-transform: translateY(6px) rotate(45deg);
    -o-transform: translateY(6px) rotate(45deg);
    transform: translateY(6px) rotate(45deg); }
  .navbar .navbar-toggle.is-active .icon-bar:nth-child(4) {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    -moz-transform: translateY(-6px) rotate(-45deg);
    -ms-transform: translateY(-6px) rotate(-45deg);
    -o-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg); }

.affix-scroll .navbar {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  background-color: white;
  background-color: white; }

/**
Position de la navbar en haut de la page à ajuster en fonction
de la hauteur du header pour que l'espace entre les deux reste
similaire quelque soit la largeur de l'écran.
 */
@media (max-width: 991.98px) {
  .cw-navbar {
    display: flex;
    flex-direction: column; }
  .navbar .navbar-logo {
    display: none;
    position: relative;
    top: 0; }
  .navbar .dropdown .caret {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }
  .navbar .dropdown.open .caret {
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }
  .navbar .dropdown-menu > li > a {
    white-space: initial; }
  .navbar .nav-menu-pr.container {
    width: 100%; }
  #navbar-top {
    order: 2; }
    #navbar-top #block-informationsnavbar {
      font-size: 1.2rem;
      overflow: hidden; }
  .affix-scroll #navbar-top #block-informationsnavbar {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    height: 0; }
  #navbar-main {
    order: 1;
    box-shadow: none !important; }
  .navbar-toggler {
    z-index: 210; }
  .navbar-collapse {
    -moz-transition: width 0.35s ease;
    -o-transition: width 0.35s ease;
    -webkit-transition: width 0.35s ease;
    transition: width 0.35s ease;
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    z-index: 200;
    overflow: auto;
    box-shadow: -5px 0px 20px 0px rgba(0, 0, 0, 0.4);
    background-color: #fff; }
    .navbar-collapse .navigation {
      padding: 50px;
      width: 100vw;
      max-width: 440px; }
      .navbar-collapse .navigation:nth-child(n+2) {
        padding-top: 20px; }
      .navbar-collapse .navigation.menu--secondary {
        background-color: #f9f9f9; }
    .navbar-collapse.collapsing {
      position: fixed;
      height: 100vh;
      width: 0;
      max-width: 440px;
      overflow: hidden;
      -moz-transition: width 0.35s ease;
      -o-transition: width 0.35s ease;
      -webkit-transition: width 0.35s ease;
      transition: width 0.35s ease; }
    .navbar-collapse.show {
      width: 100%;
      max-width: 440px;
      box-shadow: -5px 0px 20px 0px rgba(0, 0, 0, 0.4); }
  .navbar-nav > li > a {
    border-bottom: 1px solid white; }
  .navbar nav .nav .dropdown-menu li.dropdown-item {
    padding-left: 15px; } }

@media (min-width: 992px) {
  .navbar .navbar-brand {
    min-width: 270px; }
  .navbar .block-float {
    padding: 0; }
  .navbar .dropdown-toggle::after {
    margin: 0.3em; }
  .navbar .nav-item > a.nav-link {
    display: flex;
    align-items: center !important;
    justify-content: center;
    height: 100%;
    padding: 10px 14px; }
  .navbar nav .nav > li > a.is-active,
  .navbar nav .nav > li > a:hover,
  .navbar nav .nav > li > a:focus,
  .navbar nav .nav > li > a.active-trail,
  .navbar nav .nav > li.active > a,
  .navbar nav .nav > li.active > a:hover,
  .navbar nav .nav > li.active > a:focus {
    color: #eab7ab;
    background-color: transparent; }
  .navbar .navbar-collapse .nav:after {
    display: none; }
  .navbar .navbar-collapse > nav {
    width: 100%; }
  #navbar-top {
    z-index: 9999;
    height: 0px; }
    #navbar-top #block-informationsnavbar {
      width: auto; }
  .menu--main {
    min-height: 60px;
    -moz-transition: min-height 0.4s ease-in-out;
    -o-transition: min-height 0.4s ease-in-out;
    -webkit-transition: min-height 0.4s ease-in-out;
    transition: min-height 0.4s ease-in-out; }
    .menu--main .nav {
      min-height: calc(60px - (0px * 2)); }
  #navbar-main .nav {
    justify-content: flex-end;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  #navbar-main .navbar-logo {
    display: none; }
    #navbar-main .navbar-logo img {
      max-height: calc(60px - 20px); }
  #navbar-main .site-name {
    display: initial; }
  #navbar-main .site-slogan {
    display: initial; }
  #navbar-main .navbar-nav > .nav-item.dropdown .dropdown-menu {
    border-radius: 0 0 0.25rem 0.25rem;
    box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.05); }
  #navbar-main .navbar-nav > .nav-item:last-child.dropdown .dropdown-menu, #navbar-main .dropdown.dropdown-right .dropdown-menu {
    left: initial;
    right: 0; }
  .affix-scroll .menu--main {
    -moz-transition: min-height 0.2s ease-in-out;
    -o-transition: min-height 0.2s ease-in-out;
    -webkit-transition: min-height 0.2s ease-in-out;
    transition: min-height 0.2s ease-in-out;
    min-height: 60px; }
    .affix-scroll .menu--main .nav {
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      min-height: calc(60px - 0px); }
  .affix-scroll #navbar-main .navbar-logo img {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    max-height: calc(60px - 20px); } }

@media (min-width: 1200px) {
  .navbar .navbar-logo img {
    max-width: 300px; } }

@media (max-width: 575.98px) {
  .navbar .navbar-brand a {
    max-width: 170px; } }

@media (min-width: 1200px) {
  #navbar-main .navbar-brand {
    max-width: 270px; } }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .navbar nav .nav li a {
    padding: 10px 8px !important;
    font-size: 0.85rem; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.cw-navbar {
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.05); }

.affix-scroll .cw-navbar {
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.05); }

.jumbotron-carousel,
.jumbotron-carousel .content,
.jumbotron-carousel .content .field,
.jumbotron-carousel .content .field .carousel,
.jumbotron-carousel .content .field .carousel .carousel-inner,
.jumbotron-carousel .content .field .carousel .carousel-inner .carousel-item {
  height: 100%; }

#main .carousel .carousel-inner {
  border-radius: 0.25rem; }
  #main .carousel .carousel-inner img {
    border-radius: 0.25rem; }

.jumbotron-carousel {
  position: absolute;
  top: 0;
  width: 100%;
  background-color: black;
  font-family: "Poppins", sans-serif; }
  .jumbotron-carousel [class*="carousel-control-"] {
    opacity: 0.4; }
  .jumbotron-carousel .carousel-indicators {
    bottom: 10%;
    margin-bottom: 0;
    opacity: 0.3; }
  .jumbotron-carousel .carousel-item-title {
    font-size: 1rem;
    line-height: 1;
    font-weight: 500;
    margin: 0; }
  .jumbotron-carousel .carousel-item {
    background-repeat: no-repeat;
    background-size: cover; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3-mob.jpg");
    background-position: center center; }

.not-front .jumbotron-carousel .carousel-indicators {
  display: none;
  bottom: -5px; }

.not-front .jumbotron-carousel .carousel-item {
  min-height: 240px; }

.not-front .jumbotron-carousel .carousel-item-title {
  font-size: 0.9rem; }

@media (min-width: 576px) {
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(1) {
    background-image: url("../images/carousel/c1-slim.jpg"); }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(2) {
    background-image: url("../images/carousel/c2-slim.jpg"); }
  .jumbotron-carousel.jumbotron-carousel-nf .carousel-item:nth-child(3) {
    background-image: url("../images/carousel/c3-slim.jpg"); } }

.cw-carousel-txt .citation {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1.2rem; }

.cw-carousel-txt .auteur {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.4rem; }

.cw-carousel-txt .carousel-indicators li {
  background-color: rgba(234, 183, 171, 0.05); }

.cw-carousel-txt .carousel-inner {
  margin: auto;
  width: calc(100% - 110px);
  min-height: 300px; }

.cw-carousel-txt .carousel-caption {
  display: contents;
  color: #000000 !important; }

.cw-carousel-txt .carousel-control-prev, .cw-carousel-txt .carousel-control-next {
  top: calc(50% - 20px);
  background-color: rgba(234, 183, 171, 0.05);
  width: 40px;
  height: 40px;
  border-radius: 50%; }

@media (min-width: 992px) {
  .cw-carousel-txt .carousel-inner {
    max-width: 600px; } }

.region-jumbotron {
  display: flex;
  position: relative;
  min-height: calc(100vh - 60px - 0px); }

.jumbotron-bloc-principal, .jumbotron-bloc-custom, .jumbotron-bloc-infos {
  z-index: 2; }

.jumbotron-bloc-bloc-principal-child-2 {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
  line-height: 1.1; }
  .jumbotron-bloc-bloc-principal-child-2 a {
    color: #fff; }

.jumbotron-logo img {
  filter: drop-shadow(0px 3px 4px rgba(0, 0, 0, 0.2)); }

.jumbotron-denomination {
  color: white;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2); }
  .jumbotron-denomination strong {
    font-weight: 500; }

.jumbotron-slogan {
  color: white;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2); }
  .jumbotron-slogan strong {
    font-weight: 600; }

.jumbotron-telephone a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-telephone a:hover {
    color: #fff; }

.jumbotron-adresse a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-adresse a:hover {
    color: #fff; }

.jumbotron-bouton-1 {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-bouton-1 a {
    color: rgba(255, 255, 255, 0.85);
    filter: drop-shadow(0px 3px 4px rgba(0, 0, 0, 0.2)); }
    .jumbotron-bouton-1 a:hover {
      color: #fff; }

.jumbotron-bouton-2 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-bouton-2 a {
    color: rgba(255, 255, 255, 0.85); }
    .jumbotron-bouton-2 a:hover {
      color: #fff; }

.not-front .region-jumbotron {
  min-height: 240px; }
  .not-front .region-jumbotron .jumbotron-bloc-principal .field {
    min-height: 240px; }

@media (min-width: 992px) {
  .region-jumbotron {
    min-height: calc(100vh - 60px - 0px); }
  .not-front .cw-jumbotron .jumbotron-bloc-principal .jumbotron-denomination {
    font-size: calc(2.8rem - 2rem); }
  .not-front .cw-jumbotron .jumbotron-bloc-principal .jumbotron-slogan {
    font-size: calc(2rem - 0.5rem); }
  .jumbotron-denomination {
    font-size: 2.8rem; }
  .jumbotron-slogan {
    font-size: 2rem; } }

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

.jumbotron-slogan {
  margin-top: 2.5rem; }

.jumbotron-adresse {
  margin-top: 5px; }

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

.jumbotron-bouton-1 {
  margin-top: 5px; }

.jumbotron-bouton-2 {
  margin-top: 5px; }

.jumbotron-bloc-principal-child-2 {
  margin-top: 0; }

@media (min-width: 992px) {
  .jumbotron-denomination {
    margin-top: 0; }
  .jumbotron-slogan {
    margin-top: 0; }
  .jumbotron-adresse {
    margin-top: 0; }
  .jumbotron-telephone {
    margin-top: 0; }
  .jumbotron-bouton-1 {
    margin-top: 0; }
  .jumbotron-bouton-2 {
    margin-top: 0; }
  .jumbotron-bloc-principal-child-2 {
    margin-top: 0; }
  .not-front .jumbotron-denomination {
    margin-top: 0; }
  .not-front .jumbotron-slogan {
    margin-top: 0; }
  .not-front .jumbotron-adresse {
    margin-top: 0; }
  .not-front .jumbotron-telephone {
    margin-top: 0; }
  .not-front .jumbotron-bouton-1 {
    margin-top: 0; }
  .not-front .jumbotron-bouton-2 {
    margin-top: 0; }
  .not-front .jumbotron-bloc-principal-child-2 {
    margin-top: 0; } }

/************** ******************* **************/
/************** JUMBOTRON ANDROMEDE **************/
/************** ******************* **************/
.region-jumbotron {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 60px - 0px - 118px); }

.jumbotron-bloc-principal {
  text-align: center; }
  .jumbotron-bloc-principal .field {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    padding: 15px 0;
    min-height: calc(100vh - 60px - 0px - 118px); }
  .jumbotron-bloc-principal .content {
    margin: auto; }

.region-jumbotron, .jumbotron-bloc-principal {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

[class*="jumbotron-bloc-principal-child-"] {
  padding: 0.5rem; }

.not-front .region-jumbotron {
  background-image: url("../images/carousel/c1-slim-mob.jpg"); }

.not-front .jumbotron-bloc-principal .field {
  min-height: calc(240px); }

.not-front .jumbotron-logo img {
  max-height: 190px; }

@media (max-width: 575.98px) {
  .not-front .jumbotron-logo img {
    max-height: 200px; } }

@media (min-width: 992px) {
  .region-jumbotron {
    min-height: calc(100vh - 60px - 0px); }
  .jumbotron-bloc-principal .field {
    min-height: calc(100vh - 60px - 0px - 52px); }
  .not-front .region-jumbotron {
    background-image: url("../images/carousel/c1-slim.jpg"); }
    .not-front .region-jumbotron .jumbotron-bloc-principal.contextual-region {
      position: initial; }
  .not-front .jumbotron-bloc-principal .field {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
    .not-front .jumbotron-bloc-principal .field .jumbotron-bloc-principal-child-1 {
      flex: 1 !important; }
    .not-front .jumbotron-bloc-principal .field .jumbotron-bloc-principal-child-2 {
      flex: 2 !important; }
    .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"] {
      flex: 1; }
      .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"]:first-child {
        text-align: center; }
      .not-front .jumbotron-bloc-principal .field [class*="jumbotron-bloc-principal-child-"]:last-child {
        text-align: center; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.jumbotron-bloc-principal {
  text-align: center; }

.jumbotron-carousel .carousel-caption {
  text-align: center; }

.jumbotron-bloc-principal:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: linear-gradient(0, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.2) 90%); }

.jumbotron-bloc-principal.contextual-region {
  position: initial; }

.not-front .jumbotron-bloc-principal:after {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0, rgba(0, 0, 0, 0.4) 100%); }

@media (min-width: 992px) {
  .jumbotron-bloc-principal:after {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0, rgba(0, 0, 0, 0) 90%); } }

/************** ****************************** **************/
/************** JUMBOTRON ANDROMEDE BLOC INFOS **************/
/************** ****************************** **************/
/************** **************** **************/
/************** NAVBAR PRINCIPAL **************/
/************** **************** **************/
/************** ********** **************/
/************** NAVBAR TOP  **************/
/************** ********** **************/
/************** ****************************** **************/
/************** JUMBOTRON ANDROMEDE BLOC INFOS **************/
/************** ****************************** **************/
.jumbotron-bloc-infos {
  display: flex;
  min-height: 118px;
  width: 100%;
  bottom: 0;
  background-color: rgba(234, 183, 171, 0.85); }
  .jumbotron-bloc-infos .content {
    padding: 15px 0.5rem;
    margin: auto;
    width: 75%;
    color: rgba(255, 255, 255, 0.85); }
    .jumbotron-bloc-infos .content a {
      color: rgba(255, 255, 255, 0.85); }
      .jumbotron-bloc-infos .content a:hover {
        color: #fff; }

@media (min-width: 992px) {
  .jumbotron-bloc-infos {
    min-height: 52px; }
    .jumbotron-bloc-infos .field {
      display: flex;
      justify-content: center;
      align-items: center; } }

/************** **************************** **************/
/************** JUMBOTRON ANDROMEDE CAROUSEL **************/
/************** **************************** **************/
.jumbotron-carousel .carousel-caption {
  bottom: calc(118px + 3vh);
  font-weight: 300;
  padding: 0;
  text-align: center; }
  .jumbotron-carousel .carousel-caption p {
    font-size: 0.8rem;
    line-height: 1.1; }

.jumbotron-carousel [class*="carousel-control-"] {
  min-height: calc(100% - 118px); }

.not-front .jumbotron-carousel .carousel-caption {
  display: none; }

@media (min-width: 992px) {
  .jumbotron-carousel .carousel-indicators {
    bottom: 12%; }
  .jumbotron-carousel .carousel-caption {
    bottom: calc(52px + 5vh); }
    .jumbotron-carousel .carousel-caption p {
      display: block; }
  .jumbotron-carousel [class*="carousel-control-"] {
    min-height: calc(100% - 52px); }
  .not-front .jumbotron-carousel .carousel-item {
    min-height: 240px; }
  .not-front .jumbotron-carousel .carousel-caption {
    display: block;
    bottom: calc(60px + 0.75rem);
    text-align: center; }
    .not-front .jumbotron-carousel .carousel-caption p {
      display: none; } }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
.jumbotron-carousel {
  display: none; }

.region-jumbotron {
  background-image: url("../images/carousel/c1-mob.jpg"); }
  .region-jumbotron .jumbotron-bloc-principal {
    width: 80%; }

@media (min-width: 576px) {
  .region-jumbotron {
    background-image: url("../images/carousel/c1.jpg"); }
    .region-jumbotron .jumbotron-bloc-principal {
      width: 55%; } }

@media (max-width: 991.98px) {
  .region-jumbotron:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.2) 90%); } }

.region-footer-second {
  background-color: #fbf7f1; }

.block-ft-coordonnees {
  background-color: transparent; }

.block-wf-contact {
  background-color: transparent; }

.ft-denomination {
  color: #5f5f5f; }

.ft-slogan {
  color: #9c7a6c; }

.ft-adresse {
  color: #5f5f5f; }

.ft-telephone a {
  color: #5f5f5f; }
  .ft-telephone a:hover {
    color: #eab7ab; }

.ft-horaire {
  color: #5f5f5f; }

.block-ft-coordonnees {
  padding: 3rem 30px;
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.block-wf-contact {
  padding: 3rem 30px; }
  .block-wf-contact .webform-submission-form {
    padding: 0; }

.ft-logo img {
  max-width: 300px !important; }

.ft-denomination {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0em; }

.ft-slogan strong {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-adresse {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-telephone {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.ft-horaire {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

@media (min-width: 992px) {
  .region-footer-second .section-wrapper {
    max-width: 1230px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    display: flex; }
  .block-ft-coordonnees {
    padding: 4rem 3rem; }
  .block-wf-contact {
    padding: 4rem 3rem; } }

.region-footer-fifth {
  padding-top: 1.95rem;
  padding-bottom: 1.95rem;
  background: #9c7a6c; }

.infos-bottom {
  font-family: "Poppins", sans-serif;
  font-size: 0.8rem;
  position: relative;
  z-index: 10;
  color: white;
  color: white; }
  .infos-bottom a, .infos-bottom a[type="button"] {
    color: white;
    color: white;
    width: 100%; }
  .infos-bottom a:hover, .infos-bottom a[type="button"]:hover {
    color: white;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none; }
  .infos-bottom .crea img {
    width: 60px;
    display: block;
    margin: 10px auto; }

@media (min-width: 992px) {
  .infos-bottom .crea img {
    float: right;
    margin: 4px 0 0 15px; } }

html {
  font-size: 14px; }

body {
  letter-spacing: 0em; }

.table th {
  border: none; }
  .table th h1, .table th h2, .table th h3, .table th h4, .table th h5, .table th h6, .table th .h1, .table th .h2, .table th .h3, .table th .h4, .table th .h5, .table th .h6 {
    margin: 0; }

@media (min-width: 768px) {
  html {
    font-size: 15px; }
  .path-frontpage h1.title {
    font-size: 2.86rem; }
  .path-frontpage .title-h2, .path-frontpage .block-wf-contact .title-h2 {
    font-size: 2.21rem; } }

@media (min-width: 992px) {
  html {
    font-size: 16px; } }

.node__content {
  font-size: 1rem; }

b,
strong {
  font-weight: 500; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #564c3c; }

.h1, h1 {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #564c3c;
  text-align: center;
  margin: 0 0 60px; }
  .h1 span, h1 span {
    display: inline-block;
    font-weight: 500; }
    .h1 span:after, h1 span:after {
      display: block;
      content: "";
      position: absolute;
      height: calc(100% + 20px);
      width: 12%;
      max-width: 100%;
      top: 40px;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1;
      background-image: url(../images/puce-h1.png);
      background-color: transparent;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain; }

.h2, h2, .title-h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.7rem;
  line-height: 1.3;
  letter-spacing: 0em;
  margin: 30px 0 20px; }
  .h2 span, h2 span, .title-h2 span {
    display: inline-block; }

a {
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #eab7ab;
  text-decoration: none; }
  a:hover {
    color: #f4dad4;
    text-decoration: none; }

h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus {
  text-decoration: none; }

.wow {
  visibility: hidden; }

.service {
  margin-top: 70px; }

.btn-warning {
  color: white !important;
  text-decoration: none !important; }
  .btn-warning:hover, .btn-warning:focus, .btn-warning.active {
    color: white !important;
    text-decoration: none !important; }

.field--type-image img {
  border-radius: 0.25rem; }

p:last-child {
  margin-bottom: 0; }

ul {
  padding-left: 1.8rem; }

.form-actions.mb-3 {
  margin-bottom: 0 !important; }

small,
.small {
  font-size: 80%;
  font-weight: inherit; }

.rounded {
  border-radius: 0.25rem !important; }

#drupal-live-announce {
  height: 0; }

.contextual-region .contextual {
  z-index: 9999; }
  .contextual-region .contextual .contextual-links li {
    background-color: #fff;
    color: #373737; }

.cke_editable {
  background-color: #fff !important; }
  .cke_editable h1, .cke_editable h2, .cke_editable h3, .cke_editable h4, .cke_editable h5, .cke_editable h6, .cke_editable p {
    color: #000000 !important; }
  .cke_editable a, .cke_editable a:hover {
    color: red !important; }
  .cke_editable div {
    background-color: #fff !important; }
  .cke_editable .cw-ibox, .cke_editable .cw-ibox div {
    background-color: #e9e9e9 !important; }

.toast {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 1270;
  width: 350px;
  background-color: rgba(255, 255, 255, 0.98);
  font-size: 0.8rem;
  line-height: 1em; }

@media (min-width: 992px) {
  .gin--vertical-toolbar #block-widgetsobox, .gin--vertical-toolbar #block-widgetbiimbox {
    left: 65px; } }

@media (max-width: 1199.98px) {
  #admin-toolbar-mobile-search-tab {
    display: none; }
  body:not(.toolbar-horizontal).toolbar-fixed.affix-top #navbar-main {
    top: 0; }
  body:not(.toolbar-horizontal).toolbar-fixed.affix-scroll #navbar-main {
    top: 39px; } }

#main {
  padding-top: 3rem; }

.not-front #main {
  padding-bottom: 3rem; }

.block-page-title-block {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

form.user-login-form,
.node--type-webform .block-system-main-block {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.sf-articles-section, .sf-galerie-section, .cw-cards-section.galeries-section {
  max-width: 1920px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

body.path-sitemap .content .sitemap {
  max-width: 1140px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xs {
  max-width: 400px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-sm {
  max-width: 520px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-md {
  max-width: 850px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-lg {
  max-width: 1000px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xxl {
  max-width: 1400px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-xxxl {
  max-width: 1600px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.container-full {
  max-width: 1920px;
  padding-right: 15px;
  padding-left: 15px;
  margin-left: auto;
  margin-right: auto; }

.label-primary {
  display: inline-block;
  background-color: #eab7ab;
  color: #fff;
  padding: 10px 30px;
  font-size: 0.7rem;
  line-height: 1;
  border-radius: 4px; }

.boxshadow {
  filter: drop-shadow(2px 8px 9px rgba(0, 0, 0, 0.3)); }

@media (min-width: 992px) {
  #main {
    padding-top: 4rem; }
  .not-front #main {
    padding-bottom: 4rem; } }

@media (max-width: 575.98px) {
  .col-xs-12 {
    flex: 0 0 100%;
    max-width: 100%; } }

.block-addtoany {
  text-align: center; }
  .block-addtoany .title-h4 {
    color: #9c7a6c; }
  .block-addtoany .a2a_kit {
    display: flex;
    justify-content: center; }
    .block-addtoany .a2a_kit a {
      margin: 0 5px; }
      .block-addtoany .a2a_kit a span.a2a_svg {
        -moz-transition: all 0.15s ease-in-out;
        -o-transition: all 0.15s ease-in-out;
        -webkit-transition: all 0.15s ease-in-out;
        transition: all 0.15s ease-in-out;
        overflow: initial;
        background-color: initial !important; }
    .block-addtoany .a2a_kit a:hover {
      -moz-transition: all 0.1s ease-in-out;
      -o-transition: all 0.1s ease-in-out;
      -webkit-transition: all 0.1s ease-in-out;
      transition: all 0.1s ease-in-out; }
      .block-addtoany .a2a_kit a:hover span.a2a_svg {
        -webkit-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        -moz-filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        filter: drop-shadow(0px 6px 6px rgba(0, 0, 0, 0.1));
        opacity: 1 !important; }
  .block-addtoany span.a2a_svg {
    height: 63px;
    width: 63px; }
    .block-addtoany span.a2a_svg svg {
      max-width: 100%;
      max-height: 100%;
      padding: 13px;
      background-color: #9c7a6c;
      border-radius: 50%; }
      .block-addtoany span.a2a_svg svg path {
        fill: #fff; }

.title-h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: 0em;
  margin-bottom: 1.2rem; }

.block-call-to-action .title-h2 {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 2.04rem;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #564c3c;
  margin-bottom: 15px; }
  .block-call-to-action .title-h2 span:after {
    display: block;
    content: "";
    position: absolute;
    height: calc(100% + 0px);
    width: 12%;
    max-width: 100%;
    top: 28px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    background-image: url(../images/puce-h2.png);
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain; }

.block-call-to-action .cta-number {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: 0em;
  color: #545353; }
  .block-call-to-action .cta-number b {
    font-weight: 400; }
  .block-call-to-action .cta-number i {
    font-size: 0.85em; }
  .block-call-to-action .cta-number a {
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    color: #545353;
    text-decoration: none; }
    .block-call-to-action .cta-number a:hover {
      color: #6e6c6c;
      text-decoration: none; }

.block-call-to-action-adresse {
  line-height: 1.2em;
  padding: 0 15px;
  color: #545353; }

.parallax {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-position: 50% 50% \9  !important;
  height: auto;
  background-size: cover; }

[class*="block-parallax-"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  min-height: 45vh; }
  [class*="block-parallax-"] .content {
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    z-index: 1;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    text-transform: none;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0em;
    color: #fff; }
    [class*="block-parallax-"] .content .text-loud, [class*="block-parallax-"] .content .loud-text {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      text-transform: none;
      font-size: 1.7rem;
      line-height: 1.3;
      letter-spacing: 0em;
      color: #fff; }
  [class*="block-parallax-"]:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.54) 100%, rgba(0, 0, 0, 0.54) 100%); }

.block-parallax-front {
  background-image: url("../images/parallax-front-mob.jpg"); }

.block-parallax-not-front {
  background-image: url("../images/parallax-not-front-mob.jpg"); }

@media (min-width: 576px) {
  [class*="block-parallax-"] .content .text-loud, [class*="block-parallax-"] .content .loud-text {
    font-size: 2.55rem; } }

@media (min-width: 768px) {
  .block-parallax-front {
    background-image: url("../images/parallax-front.jpg"); }
  .block-parallax-not-front {
    background-image: url("../images/parallax-not-front.jpg"); } }

@media (min-width: 992px) {
  [class*="block-parallax-"] {
    min-height: 85vh; } }

.region-featured-bottom-first {
  background-color: #fbf7f1;
  background-image: url("../images/bg-body.jpg");
  position: relative; }

.region-featured-bottom-second {
  background-color: transparent; }

.block-forces {
  color: #545353;
  background: #fbf7f1; }
  .block-forces .title-h2 {
    position: relative;
    z-index: 1;
    color: #564c3c; }
    .block-forces .title-h2 span:after {
      display: block;
      content: "";
      position: absolute;
      height: calc(100% + 0px);
      width: 12%;
      max-width: 100%;
      top: 28px;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1;
      background-image: url(../images/puce-h2.png);
      background-color: transparent;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain; }
  .block-forces .fa {
    font-size: 85px; }
  .block-forces .srv-title {
    font-size: 20px; }

.block-references {
  position: relative;
  color: #545353;
  background: #fbf7f1; }
  .block-references .title-h2 {
    position: relative;
    z-index: 1;
    color: #564c3c; }
    .block-references .title-h2 span:after {
      display: block;
      content: "";
      position: absolute;
      height: calc(100% + 20px);
      width: 12%;
      max-width: 100%;
      top: 28px;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1;
      background-image: url(../images/puce-h2.png);
      background-color: transparent;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain; }

/************** ******************** **************/
/************** MAP : VOIR CATALOGUE **************/
/************** ******************** **************/
.region-footer-third {
  background-color: #fbf7f1; }

.block-map {
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .block-map .map a:not([class*="contextual-links"]) {
    display: block;
    width: 100%;
    height: 445px;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer; }
  .block-map .map a {
    background-image: url("../images/map-mob.jpg"); }

.block-map-intervention {
  background-image: url("../images/map-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  color: #545353; }
  .block-map-intervention .title-h2 {
    color: #564c3c; }
    .block-map-intervention .title-h2::before {
      display: block;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 2.5rem;
      margin-bottom: 20px;
      color: #eab7ab; }

@media (min-width: 768px) {
  .block-map .map a {
    background-image: url("../images/map.jpg"); }
  .block-map .map a {
    max-height: 445px; } }

@media (min-width: 992px) {
  .block-map-intervention {
    min-height: 500px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center; } }

.map-denomination {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0em; }

.map-slogan strong {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4; }

.map-adresse {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.map-telephone {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.4; }

.map-horaire {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  line-height: 1.4; }

.map-mail {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.4; }

.map-denomination {
  color: #545353; }

.map-slogan {
  color: #545353; }

.map-adresse {
  color: #545353; }

.map-telephone a {
  color: #545353; }
  .map-telephone a:hover {
    color: #eab7ab; }

.map-horaire {
  color: #545353; }

.map-mail a {
  color: #545353; }
  .map-mail a:hover {
    color: #eab7ab; }

.form-control:not([class*="button"]) {
  background-color: #fff;
  color: #333333; }
  .form-control:not([class*="button"])::placeholder {
    color: #aeaeae;
    text-transform: initial; }
  .form-control:not([class*="button"]):hover, .form-control:not([class*="button"]):focus {
    outline: solid 1px #f7f7f7; }
    .form-control:not([class*="button"]):hover::placeholder, .form-control:not([class*="button"]):focus::placeholder {
      color: #f1e3cd; }

.flb-block .form-control:not([class*="button"]) {
  background-color: #fbf7f1;
  color: #412f13; }
  .flb-block .form-control:not([class*="button"])::placeholder {
    color: #aeaeae; }
  .flb-block .form-control:not([class*="button"]):hover, .flb-block .form-control:not([class*="button"]):focus {
    outline: solid 1px #f8f0e5; }
    .flb-block .form-control:not([class*="button"]):hover::placeholder, .flb-block .form-control:not([class*="button"]):focus::placeholder {
      color: #f1e3cd; }

.block-wf-contact .form-control:not([class*="button"]) {
  background-color: #fff;
  color: #333333; }
  .block-wf-contact .form-control:not([class*="button"])::placeholder {
    color: #b3b3b3; }
  .block-wf-contact .form-control:not([class*="button"]):hover, .block-wf-contact .form-control:not([class*="button"]):focus {
    outline: solid 1px #f7f7f7; }
    .block-wf-contact .form-control:not([class*="button"]):hover::placeholder, .block-wf-contact .form-control:not([class*="button"]):focus::placeholder {
      color: #f1e3cd; }

.webform-flexbox {
  margin: 0 -0.3rem 0.6rem; }

.webform-flex--container {
  margin: 0 0.3rem; }

.block-wf-contact .title-h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 2rem;
  color: #564c3c;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  text-transform: none;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0em;
  text-align: center; }
  .block-wf-contact .title-h2 span:after {
    display: block;
    content: "";
    position: absolute;
    height: calc(100% + 20px);
    width: 12%;
    max-width: 100%;
    top: 28px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    background-image: url(../images/puce-h2.png);
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain; }

.block-wf-contact .text-muted {
  color: black !important; }
  .block-wf-contact .text-muted a {
    color: #383127; }
    .block-wf-contact .text-muted a:hover {
      color: #564c3c; }

.form-item-acceptation-rgpd {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  .form-item-acceptation-rgpd .webform-element-description {
    line-height: 1.3em;
    font-size: 0.69rem; }

@media (min-width: 992px) {
  .page-node-2 .node__content {
    display: flex; }
    .page-node-2 .node__content > div:first-child {
      flex: 0 0 41.66667%;
      max-width: 41.66667%;
      padding-right: 30px; }
    .page-node-2 .node__content > div:last-child {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; } }

.block-actualites {
  background-image: url("../images/bg-body.jpg");
  background-repeat: repeat; }
  .block-actualites .title-h2, .block-actualites .view-header {
    text-align: center;
    max-width: 1300px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto; }
  .block-actualites .view-header {
    position: relative;
    font-size: 1rem;
    font-weight: 400;
    line-height: 0.12em;
    color: #87b0cb;
    text-transform: uppercase;
    margin-bottom: 4rem;
    letter-spacing: 0.02em; }
    .block-actualites .view-header::before, .block-actualites .view-header::after {
      content: '';
      position: absolute;
      top: 0;
      width: 17vw;
      height: 1px;
      background-color: #87b0cb; }
    .block-actualites .view-header::before {
      left: 0; }
    .block-actualites .view-header::after {
      right: 0; }
  .block-actualites .cw-cards-hz .cw-card {
    margin: 0; }
  .block-actualites .carousel {
    width: 100%; }

.node--type-actualite > .node__content {
  display: flex;
  flex-direction: column;
  align-items: center; }
  .node--type-actualite > .node__content .actu-content {
    width: 100%; }

.node--type-actualite .actu-date {
  display: flex;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1em;
  letter-spacing: 0.08em;
  color: #eab7ab;
  margin-top: 3rem;
  margin-bottom: 1.5rem; }

@media (min-width: 768px) {
  .block-actualites .view-header::before, .block-actualites .view-header::after {
    width: 35%; } }

@media (min-width: 992px) {
  .node--type-actualite #main-wrapper .field--type-image img, .node--type-reference #main-wrapper .field--type-image img {
    display: block;
    margin: auto; } }

.galeries-section {
  margin-top: 60px; }

.field[class*="-galerie-photos"], .field[class*="-galerie-videos"] {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 3rem 0 0; }
  .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
    width: 100%;
    margin: 0.5%; }

[class*="cw-galerie-mini-"] .field-item {
  background-size: 350px !important;
  background-position: center !important;
  margin: 5px !important;
  background-color: white; }

.cw-galerie-mini-1 .field-item {
  width: calc(50% - 4 * 5px) !important; }

.cw-galerie-mini-2 .field-item {
  width: calc(100% - 2 * 5px) !important;
  max-width: 100% !important; }

@media (min-width: 768px) {
  .field[class*="-galerie-photos"], .field[class*="-galerie-videos"] {
    flex-direction: row; }
    .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
      width: 48%; } }

@media (min-width: 1200px) {
  .field[class*="-galerie-photos"] .field__item, .field[class*="-galerie-videos"] .field__item {
    width: 32%; } }

/**********************************************************************************************************/
/*****    NOTE: Le nombre de colonnes en "lg" est défini directement via la galerie dans drupal
          pour laisser le choix à l'utilisateur. Seul le nb de colonnes en mobile est défini ici.    *****/
/*** on détermine ici le nombre de colonnes par resolution ***/
/*** détermine espacement entre les img. Mettre 0 pour qu'elles soient collées ensemble.

/* ---- grid ---- */
.galerie-mansonary {
  margin-top: 60px;
  /* clear fix */
  /* ---- .grid-item ---- */ }
  .galerie-mansonary .grid {
    background: transparent;
    margin: 0 20px;
    padding: 3rem 0 0; }
  .galerie-mansonary .grid:after {
    content: '';
    display: block;
    clear: both; }
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 100%; }
  .galerie-mansonary .grid-item {
    padding: 5px;
    box-shadow: none; }
    .galerie-mansonary .grid-item .grid-item-link {
      background-image: url("../images/bg-zoom.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      overflow: hidden; }
      .galerie-mansonary .grid-item .grid-item-link img {
        display: block;
        width: 100%;
        -moz-transition: opacity 1s ease, transform 1.2s ease;
        -o-transition: opacity 1s ease, transform 1.2s ease;
        -webkit-transition: opacity 1s ease, transform 1.2s ease;
        transition: opacity 1s ease, transform 1.2s ease; }
      .galerie-mansonary .grid-item .grid-item-link img:hover {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 0.3;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
        filter: alpha(opacity=30); }
      .galerie-mansonary .grid-item .grid-item-link:hover {
        background-color: #eab7ab; }

@media (min-width: 576px) {
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 50%; } }

@media (min-width: 768px) {
  .galerie-mansonary .grid-sizer,
  .galerie-mansonary .grid-item {
    width: 33.33333%; } }

@media (min-width: 992px) {
  .galerie-mansonary .grid {
    margin: 0 auto; }
  .galerie-mansonary .nb_col_3 {
    width: 33.33333%; }
  .galerie-mansonary .nb_col_4 {
    width: 25%; }
  .galerie-mansonary .nb_col_5 {
    width: 20%; }
  .galerie-mansonary .nb_col_6 {
    width: 16.66667%; } }

.page-multi-bloc-margin .multibloc:nth-last-child(1n+2) {
  margin-bottom: 6rem; }

.node--type-multi-bloc .cw-bg-gray, .node--type-multi-bloc .cw-bg-gray-content {
  background-color: transparent !important; }
  .node--type-multi-bloc .cw-bg-gray .multibloc, .node--type-multi-bloc .cw-bg-gray-content .multibloc {
    padding: 30px; }
  .node--type-multi-bloc .cw-bg-gray .multibloc-content, .node--type-multi-bloc .cw-bg-gray-content .multibloc-content {
    padding: 0.5%; }
  .node--type-multi-bloc .cw-bg-gray .multibloc-img, .node--type-multi-bloc .cw-bg-gray-content .multibloc-img {
    padding: 0.5%; }
  .node--type-multi-bloc .cw-bg-gray .multibloc-text, .node--type-multi-bloc .cw-bg-gray-content .multibloc-text {
    padding: 0; }

.node--type-multi-bloc .cw-bg-gray .multibloc {
  border-radius: 0.075rem;
  background: #faf5ed; }

.node--type-multi-bloc .cw-bg-gray-content .multibloc-content {
  border-radius: 0.075rem;
  background: #faf5ed;
  padding: 30px; }

.page-multi-bloc-template-1 .multibloc:nth-last-child(1n+2) {
  margin-bottom: 6rem; }

.page-multi-bloc-template-1 .multibloc-title {
  margin-top: 0;
  text-align: center; }

.page-multi-bloc-template-1 .multibloc-img {
  margin-bottom: 2rem;
  text-align: center; }
  .page-multi-bloc-template-1 .multibloc-img img {
    border-radius: 0.25rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.page-multi-bloc-template-1 .multibloc-text {
  padding-left: 15px;
  padding-right: 15px; }

.page-multi-bloc-template-1 .field[class*="-galerie-photos"], .page-multi-bloc-template-1 .field[class*="-galerie-videos"] {
  padding: 2rem 0 0; }

.page-multi-bloc-template-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .page-multi-bloc-template-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"] {
  padding: 0; }

[class*="cw-grid-col-"] {
  display: grid;
  grid-gap: 30px; }

@media (min-width: 768px) {
  .cw-grid-col-md-33-66 {
    grid-template-columns: 1fr 2fr; }
  .cw-grid-col-md-44-55 {
    grid-template-columns: 4fr 5fr; }
  .cw-grid-col-md-50-50 {
    grid-template-columns: 1fr 1fr; }
  .cw-grid-col-md-55-44 {
    grid-template-columns: 5fr 4fr; }
  .cw-grid-col-md-66-33 {
    grid-template-columns: 2fr 1fr; } }

#sf-secteurs .intro {
  margin-bottom: 20px; }

.node--type-soref-article > .node__content {
  display: flex;
  flex-direction: column;
  align-items: center; }
  .node--type-soref-article > .node__content .field--name-body {
    width: 100%; }

.node--type-soref-article .field--name-field-article-image {
  margin: 0 auto 55px;
  max-width: fit-content; }

.node--type-soref-article .field--name-field-soref-article-image {
  margin-bottom: 2.5rem;
  text-align: center; }

.block-soref-queries, .soref-section-activities-xxl {
  margin-top: 5rem;
  font-size: 0.8rem;
  line-height: 1.3; }
  .block-soref-queries .title-h2, .soref-section-activities-xxl .title-h2 {
    font-size: 1.1rem;
    line-height: 1.1;
    color: #cecece;
    font-weight: 300;
    text-align: center; }
  .block-soref-queries .cw-inline-ul, .soref-section-activities-xxl .cw-inline-ul {
    text-align: center; }
  .block-soref-queries .cw-list-ul, .soref-section-activities-xxl .cw-list-ul {
    text-align: left;
    list-style: none; }
    .block-soref-queries .cw-list-ul ul, .soref-section-activities-xxl .cw-list-ul ul {
      list-style: none; }
    .block-soref-queries .cw-list-ul li:before, .soref-section-activities-xxl .cw-list-ul li:before {
      content: "\f111";
      font-family: "Font Awesome 5 Free";
      font-style: normal;
      position: relative;
      left: 0;
      top: -1px;
      margin-right: 10px;
      font-size: 0.4rem;
      font-weight: 800; }

.soref-section .cw-list-ul {
  font-size: 0.8rem; }

#soref-footer-content-collapse {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
  width: 100%;
  border-radius: 3px;
  z-index: 10000; }
  #soref-footer-content-collapse.show {
    max-height: 100vh;
    transition: max-height 0.5s ease-in-out; }
  #soref-footer-content-collapse .soref-footer-content ul {
    list-style-type: none;
    padding: 0; }
    #soref-footer-content-collapse .soref-footer-content ul li {
      padding: 5px 10px 5px 15px;
      margin-bottom: 4px;
      display: flex;
      align-items: center; }
      #soref-footer-content-collapse .soref-footer-content ul li:before {
        content: "\f0c8";
        font-family: "Font Awesome 5 Free";
        font-style: normal;
        position: relative;
        left: 3px;
        top: 0;
        margin-right: 12px;
        font-size: 0.5rem;
        font-weight: 800; }
      #soref-footer-content-collapse .soref-footer-content ul li:nth-child(odd) {
        background-color: #fcfcfc;
        background-color: rgba(233, 233, 233, 0.4);
        background-color: rgba(233, 233, 233, 0.4); }
        #soref-footer-content-collapse .soref-footer-content ul li:nth-child(odd):before {
          color: rgba(129, 129, 129, 0.43);
          color: rgba(129, 129, 129, 0.43); }
      #soref-footer-content-collapse .soref-footer-content ul li:nth-child(even) {
        background-color: rgba(233, 233, 233, 0.4);
        background-color: rgba(233, 233, 233, 0.4); }
        #soref-footer-content-collapse .soref-footer-content ul li:nth-child(even):before {
          color: rgba(129, 129, 129, 0.43);
          color: rgba(129, 129, 129, 0.43); }
  #soref-footer-content-collapse .soref-footer-content .soref-footer-txt a {
    font-weight: bold; }
  #soref-footer-content-collapse .soref-footer-content .soref-footer-title {
    height: 25px;
    display: flex;
    vertical-align: top;
    align-items: end; }

.soref-bottom {
  font-family: "Poppins", sans-serif;
  font-size: 0.8rem;
  position: relative;
  z-index: 10;
  color: white;
  color: white; }
  .soref-bottom a:link, .soref-bottom a:hover, .soref-bottom a:visited {
    color: white;
    color: white;
    text-decoration: none; }
  .soref-bottom a {
    width: 100%; }

@media (min-width: 992px) {
  .activities-xxl-ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
    .activities-xxl-ul ul {
      width: 48%; }
  .node--type-soref-article .field--name-field-soref-article-image {
    box-shadow: 0px 0.5rem 1rem 0px rgba(0, 0, 0, 0.15); } }

/************** GLOBALE **************/
.flb-btn button {
  padding: 9px 15px;
  margin: 0 15px 0 0;
  font-size: 0.75rem; }

.user-logged-in .block-float > .contextual {
  position: fixed;
  top: 235px;
  right: 0;
  z-index: 1030; }

.user-logged-in .flb-block {
  top: calc(60px + 35px); }

.flb-block {
  display: flex;
  flex-direction: row;
  position: fixed;
  right: -1px;
  top: 120px;
  padding: 0;
  z-index: 100;
  -webkit-filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1));
  -moz-filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1));
  filter: drop-shadow(-5px 7px 25px rgba(0, 0, 0, 0.1)); }
  .flb-block .flb-label {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0em;
    text-transform: none;
    writing-mode: vertical-rl;
    text-orientation: mixed; }
  .flb-block .flb-icon i {
    font-size: 70%;
    margin-top: 15px; }
  .flb-block .flb-title {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-color: #eab7ab;
    background-color: #eab7ab;
    position: relative;
    width: 40px;
    height: fit-content;
    padding: 15px;
    border-radius: 0.25rem 0 0 0.25rem;
    margin: 0;
    color: #fff;
    cursor: pointer; }
  .flb-block .flb-content {
    display: flex;
    flex-direction: column;
    -moz-transition: all 1.5s ease-in-out;
    -o-transition: all 1.5s ease-in-out;
    -webkit-transition: all 1.5s ease-in-out;
    transition: all 1.5s ease-in-out;
    background-color: white;
    background-color: white;
    box-shadow: -5px 7px 25px 0px rgba(0, 0, 0, 0.1);
    box-sizing: content-box;
    width: 270px;
    overflow: hidden;
    border-radius: 0 0 0 0.25rem; }
    .flb-block .flb-content .flb-wrapper {
      color: #545353;
      padding: 15px;
      width: 270px;
      overflow: hidden; }
      .flb-block .flb-content .flb-wrapper form .webform-flexbox {
        display: block !important; }
    .flb-block .flb-content .block-float-denomination {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      text-transform: none;
      font-size: 1.25rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-metier {
      font-family: "Poppins", sans-serif;
      font-weight: 300;
      text-transform: none;
      font-size: 0.875rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-adresse {
      font-family: "Poppins", sans-serif;
      font-weight: 300;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .block-float-telephone {
      font-family: "Poppins", sans-serif;
      font-weight: 300;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: 0em; }
    .flb-block .flb-content .btn {
      padding: 18px; }
  .flb-block form .captcha {
    display: block; }
    .flb-block form .captcha img {
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      filter: grayscale(100%);
      margin: 0 auto; }
  .flb-block form label {
    font-size: 0.8rem;
    font-weight: 300;
    color: #adadad; }
  .flb-block form .js-form-item {
    margin: 0 0 10px;
    width: 100%; }
  .flb-block form .form-actions {
    padding: 0; }
  .flb-block form .form-select {
    font-size: 80%; }

.flb-block.mini {
  right: -42px; }
  .flb-block.mini .flb-content {
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    width: 0; }

.flb-block .webform-progressbar {
  display: none; }

.flb-block .webform-datepicker > * {
  margin: 0 !important; }

/************** ********************** ******************************/
/************** webform-component-radio-checkbox-rgpd **************/
/************** ********************** *****************************/
.flb-block .content form .webform-component--telephone {
  margin-bottom: 0; }

.flb-block .form-rgpd input.form-rgpd {
  margin-top: -3px; }

/************ **************************** **************/
/************ RAPPEL GRATUIT EN RESPONSIVE **************/
/************ **************************** **************/
.overlay-mobile:before {
  content: '';
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 80; }

@media (min-width: 992px) {
  .flb-block.mini {
    right: -1px; }
  .flb-btn {
    display: none; } }

.pagination {
  justify-content: center;
  padding-top: 8rem;
  font-size: 1.3rem;
  font-weight: 500; }
  .pagination .pager__item--next a[rel="next"] {
    margin-left: 45px; }
  .pagination .page-item a[rel="prev"] {
    margin-right: 45px; }
  .pagination .page-item a[title="Aller à la page précédente"] {
    position: relative; }
    .pagination .page-item a[title="Aller à la page précédente"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      left: 0; }
    .pagination .page-item a[title="Aller à la page précédente"] span {
      display: none; }
  .pagination .pager__item--next a[title="Aller à la page suivante"] {
    position: relative; }
    .pagination .pager__item--next a[title="Aller à la page suivante"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      right: 0; }
    .pagination .pager__item--next a[title="Aller à la page suivante"] span {
      display: none; }
  .pagination .page-item a[title="Aller à la première page"] {
    position: relative;
    margin-right: 15px; }
    .pagination .page-item a[title="Aller à la première page"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      left: 0; }
    .pagination .page-item a[title="Aller à la première page"] span {
      display: none; }
  .pagination .page-item a[title="Aller à la dernière page"] {
    position: relative;
    margin-left: 15px; }
    .pagination .page-item a[title="Aller à la dernière page"]:after {
      content: "";
      position: absolute;
      top: 0.15rem;
      padding: 0.5rem 0.75rem;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 0.75rem;
      line-height: 1.5rem;
      right: 0; }
    .pagination .page-item a[title="Aller à la dernière page"] span {
      display: none; }

body #tarteaucitronRoot {
  font-family: "Poppins", sans-serif; }
  body #tarteaucitronRoot button {
    margin-top: 10px !important; }
    body #tarteaucitronRoot button span::before {
      font: normal normal normal 14px/1 FontAwesome; }
  body #tarteaucitronRoot button.tarteaucitronAllow span::before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #fff;
    content: '\f00c'; }
  body #tarteaucitronRoot button.tarteaucitronDeny span::before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    color: #9d9d9d;
    content: '\f00d'; }
  body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert {
    font-family: "Poppins", sans-serif;
    line-height: 1.5em; }
    body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert .cookie-big-txt {
      font-weight: 300;
      font-size: 20px; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow {
    color: #fff !important;
    background-color: #909090;
    margin-left: 10px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover {
      color: #54483c !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover {
      background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:focus span::before {
      color: #54483c; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny {
    color: #373737 !important;
    background-color: white;
    margin-left: 10px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover {
      color: #54483c !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover {
      background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:active, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:focus {
      box-shadow: initial; }
      body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:focus span::before {
        color: #54483c; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton {
    border-radius: 50px;
    padding: 15px 25px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
    font-size: 14px !important;
    line-height: 1.2;
    text-decoration: none;
    font-weight: 300;
    min-width: 130px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:hover span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:active span::before, body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton:focus span::before {
      -moz-transition: 0.2s;
      -o-transition: 0.2s;
      -webkit-transition: 0.2s;
      transition: 0.2s; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert,
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl {
    background-color: transparent;
    color: #9d9d9d;
    border: unset;
    text-transform: uppercase;
    font-size: 13px;
    font-family: "Poppins", sans-serif; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert span::before,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl span::before {
      padding-right: 3px; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl::after {
      content: '';
      display: block;
      height: 1px;
      width: 100%;
      margin: 0 auto;
      margin-top: 6px;
      opacity: 0; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:hover::after, body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:focus::after, body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:active::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:focus::after,
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:active::after {
      background-color: #9d9d9d;
      opacity: 1;
      -moz-transition: opacity 0.3s ease-in-out;
      -o-transition: opacity 0.3s ease-in-out;
      -webkit-transition: opacity 0.3s ease-in-out;
      transition: opacity 0.3s ease-in-out; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert {
    margin-top: 25px !important; }
    body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert span::before {
      font-family: "Font Awesome 5 free";
      color: #9d9d9d;
      font-weight: 900;
      content: '\f013'; }
  body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl span::before {
    font-family: "Font Awesome 5 free";
    color: #9d9d9d;
    font-weight: 900;
    content: '\f023'; }
  body #tarteaucitronRoot #tarteaucitronServices {
    border-radius: 5px;
    font-family: "Poppins", sans-serif;
    background-color: #fff;
    margin-top: 5px;
    padding-bottom: 15px;
    /**** STYLES DES BOUTONS DE LA POP UP COOKIE *****/ }
    body #tarteaucitronRoot #tarteaucitronServices button::before {
      font: normal normal normal 14px/1 FontAwesome; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails {
      background: #ededed;
      color: #000000;
      box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
      margin-left: 13px; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine {
      background-color: #fff;
      border-color: transparent !important;
      padding-bottom: 15px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine:active {
        background-color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
        font-weight: 300; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 {
        color: #373737; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
        color: #9d9d9d;
        margin-left: 33px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo {
        background-color: #fff;
        color: #373737;
        border: none;
        line-height: 1.6em; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
          background-color: transparent;
          font-size: 16px;
          color: #9d9d9d;
          text-transform: uppercase; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog::before {
            font-family: "Font Awesome 5 free";
            color: #9d9d9d;
            font-weight: 900;
            content: '\f023';
            padding-right: 3px; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog::after {
            content: '';
            display: block;
            height: 1px;
            width: 100%;
            margin: 0 auto;
            margin-top: 6px;
            opacity: 0; }
          body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover::after, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:focus::after, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:active::after {
            background-color: #9d9d9d;
            opacity: 1;
            -moz-transition: opacity 0.3s ease-in-out;
            -o-transition: opacity 0.3s ease-in-out;
            -webkit-transition: opacity 0.3s ease-in-out;
            transition: opacity 0.3s ease-in-out; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder {
      border-color: transparent !important;
      border-top: 2px solid #dfdfdf !important;
      margin: 20px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine {
        background-color: #fff; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle:active,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:hover,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:focus,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronLine:active {
          background-color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronTitle > button {
        color: #000000;
        padding: 5px 15px;
        font-size: 16px;
        font-weight: 300; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronH3, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies {
        font-size: 14px;
        line-height: 1.6em;
        display: inline; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies {
        color: #b9b9b9;
        position: relative;
        padding-left: 15px; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronName .tarteaucitronListCookies:before {
          content: '-';
          position: absolute;
          left: 4px;
          top: -1px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder .tarteaucitronAsk {
        margin-right: 4px;
        padding-bottom: 15px;
        padding-top: 10px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder #tarteaucitronServicesTitle_mandatory {
        margin-top: 15px; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder #tarteaucitronServicesTitle_mandatory .tarteaucitronListCookies::before {
          content: ''; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      border-radius: 50px;
      padding: 15px 25px;
      box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
      font-size: 14px !important;
      line-height: 1.2;
      text-decoration: none;
      font-weight: 300;
      min-width: 125px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:focus,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active,
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus {
        -moz-transition: 0.2s;
        -o-transition: 0.2s;
        -webkit-transition: 0.2s;
        transition: 0.2s; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:focus span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active span::before,
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus span::before {
          -moz-transition: 0.2s;
          -o-transition: 0.2s;
          -webkit-transition: 0.2s;
          transition: 0.2s; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow {
      color: #fff !important;
      background-color: #909090; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover {
        background-color: #c3c3c3; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled {
        color: #fff !important;
        background-color: #909090; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover {
          color: #fff !important; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover {
          background-color: #909090; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:disabled:focus span::before {
          color: #fff; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:focus span::before {
        color: #54483c; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed {
      border: 2px solid #9d9d9d;
      color: #fff !important;
      background-color: #9d9d9d; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        border: 2px solid rgba(195, 195, 195, 0); }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed:hover {
        background-color: #c3c3c3; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      border: 2px solid #9d9d9d;
      box-shadow: none; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        border: 2px solid rgba(0, 0, 0, 0); }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
      color: #373737 !important;
      background-color: white;
      margin-left: 10px;
      margin-right: 10px; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        color: #54483c !important; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover {
        background-color: #c3c3c3; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:disabled, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:disabled {
        background-color: rgba(234, 183, 171, 0.2);
        box-shadow: none; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active {
        box-shadow: none; }
        body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:active span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:hover span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:focus span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied:active span::before {
          -moz-transition: 0.2s;
          -o-transition: 0.2s;
          -webkit-transition: 0.2s;
          transition: 0.2s;
          color: #54483c; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed #tarteaucitronAllAllowed {
      background-color: #909090;
      color: #fff; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed #tarteaucitronAllAllowed {
      border-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied #tarteaucitronAllDenied {
      background-color: #909090;
      color: #fff !important;
      box-shadow: none;
      border-color: transparent; }
      body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny span::before, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied #tarteaucitronAllDenied span::before {
        color: #fff; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAllow {
      background-color: #9d9d9d; }
    body #tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
      background-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected {
      background-color: #909090; }
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:hover, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:focus, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAllow:active,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:hover,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:focus,
    body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronDeny:active {
      opacity: 1 !important; }
  body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    background: #fff;
    color: #9d9d9d;
    font-size: 14px;
    text-transform: uppercase;
    padding: 15px;
    right: 5px;
    top: 28px;
    z-index: 100;
    width: 100px; }
    body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel .close-cookie-x {
      color: #9d9d9d;
      padding: 5px;
      width: 9px;
      background-image: url("../images/close.png");
      background-repeat: no-repeat;
      background-position: center center;
      display: inline-block; }

#tarteaucitronManager {
  -webkit-appearance: initial; }

/*** Tableau cookie ***/
.cw-table-container .cw-tab-cookie thead tr td {
  text-align: left; }

.cw-table-container .cw-tab-cookie tbody tr td p {
  text-align: left; }

@media (max-width: 1199.98px) {
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronDeny {
    display: none !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    position: relative; }
  html body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder {
    padding-bottom: 40px; }
  /*** Tableau cookie ***/
  .cw-table-container .cw-tab-cookie tbody tr td:before {
    font-weight: 600;
    font-size: 18px; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(1):before {
    content: "- Nom du cookie -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(2):before {
    content: "- Editeur du cookie -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(3):before {
    content: "- Finalite / Fonction -"; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(4):before {
    content: "- Conservation -"; } }

@media (min-width: 768px) {
  body #tarteaucitronRoot button {
    margin-top: 0px !important; }
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
    padding: 15px 7px; }
  body #tarteaucitronRoot span#tarteaucitronDisclaimerAlert .cookie-big-txt {
    font-size: 24px; } }

@media (min-width: 768px) {
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllAllowed,
  body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny, body #tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk #tarteaucitronAllDenied {
    padding: 15px 25px; }
  /*** Tableau cookie ***/
  .cw-table-container .cw-tab-cookie tbody tr td {
    white-space: unset !important;
    text-align: left !important;
    width: 25% !important; }
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(0n+1),
  .cw-table-container .cw-tab-cookie tbody tr td:nth-child(0n+2),
  .cw-table-container .cw-tab-cookie tbody tr td:last-child {
    max-width: 15%; } }

.form-rgpd input.form-rgpd {
  margin-top: 1px; }

.form-rgpd label {
  font-size: 12px;
  line-height: 1.3em;
  color: #949393; }

.rappel-gratuit .content form .webform-component--telephone,
.flottant-rappel-gratuit .content form .webform-component--telephone,
.flottant-reservation .content form .webform-component--telephone {
  margin-bottom: 5px; }

.rappel-gratuit .form-rgpd input.form-rgpd,
.flottant-rappel-gratuit .form-rgpd input.form-rgpd,
.flottant-reservation .form-rgpd input.form-rgpd {
  margin-top: -3px; }

.avant-apres-galerie-photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 3rem 0 0; }

.beer-slider {
  display: inline-block;
  position: relative;
  overflow: hidden;
  margin: 0 15px 30px;
  border-radius: 0.25rem;
  max-width: 540px;
  box-shadow: 0px 0.5rem 1rem 0px rgba(0, 0, 0, 0.15); }
  .beer-slider *, .beer-slider:before, .beer-slider:after,
  .beer-slider *:before,
  .beer-slider *:after {
    box-sizing: border-box; }
  .beer-slider img, .beer-slider svg {
    vertical-align: bottom; }
  .beer-slider > * {
    height: 100%; }
  .beer-slider > img {
    max-width: 100%;
    height: auto; }

.beer-reveal {
  position: absolute;
  left: 0;
  top: 0;
  right: 50%;
  overflow: hidden;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.35s; }
  .beer-reveal > :first-child {
    width: 200%;
    max-width: none;
    height: 100%; }
  .beer-reveal > img:first-child {
    height: auto; }

.beer-range {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  height: 100%;
  margin: 0;
  left: -1px;
  width: calc(100% + 2px);
  cursor: pointer;
  -webkit-appearance: slider-horizontal !important;
  -moz-appearance: none;
  opacity: 0;
  -ms-touch-action: auto;
  touch-action: auto; }
  .beer-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  .beer-range::-moz-range-thumb {
    -webkit-appearance: none;
    height: 300vh; }
  .beer-range::-ms-tooltip {
    display: none; }

.beer-handle {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  color: #000;
  background: rgba(255, 255, 255, 0.5);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0);
  transition: background 0.3s, box-shadow 0.3s, opacity 0.5s 0.25s; }
  .beer-handle:before, .beer-handle:after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    top: 50%;
    border-top: solid 2px;
    border-left: solid 2px;
    transform-origin: 0 0; }
  .beer-handle:before {
    left: 10px;
    transform: rotate(-45deg); }
  .beer-handle:after {
    right: 0;
    transform: rotate(135deg); }

.beer-range:focus ~ .beer-handle {
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.4); }

.beer-slider[data-beer-label]:after,
.beer-reveal[data-beer-label]:after {
  content: attr(data-beer-label);
  position: absolute;
  top: 1.5rem;
  line-height: 1;
  padding: 0.5rem;
  border-radius: 0.125rem;
  background: rgba(255, 255, 255, 0.75); }

.beer-slider[data-beer-label]:after {
  right: 1.5rem; }

.beer-reveal[data-beer-label]:after {
  left: 1.5rem; }

.beer-slider[data-beer-label=""]:after,
.beer-reveal[data-beer-label=""]:after {
  content: none; }

.beer-ready .beer-reveal, .beer-ready .beer-handle {
  opacity: 1; }

.avisgo {
  color: #545353; }

.avisgo-background {
  background-color: white;
  box-shadow: 3px 17px 20px 7px #1a468f12; }

.avisgo-border {
  border: 1px solid #fff; }

.avisgo-avis-note b {
  color: #545353; }

.avisgo-avis .avisgo-avis-title a {
  color: #545353; }

@media (max-width: 992px) {
  .jumbotron-bloc-principal .field {
    flex-direction: column; } }

.bulle-1 {
  background-image: url("/sites/5845cw1223/files/bulle-1.png"); }

.bulle-2 {
  background-image: url("/sites/5845cw1223/files/bulle-2.png"); }

.bulle-3 {
  background-image: url("/sites/5845cw1223/files/bulle-3.png"); }

@media (max-width: 700px) {
  .h1 span:after, h1 span:after {
    display: none; } }

.bulles .cw-pictos > div > div {
  max-width: 290px; }

.bulles .cw-pictos .picto-legende {
  color: #fff;
  margin-top: 0;
  font-weight: 500;
  font-size: 1rem; }

.bulles .cw-pictos .picto {
  height: 290px;
  width: 290px;
  padding: 0; }

.separateur {
  width: 100px;
  margin: auto; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvX2NvbXBhc3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fZ3JhZGllbnRfc3VwcG9ydC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2NvbnN0YW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9jb2xvci9fY29udHJhc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19yZXNldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9yZXNldC9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3N1cHBvcnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL190YWctY2xvdWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX21pbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX3Nwcml0ZS1pbWcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX2hvdmVyLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fdW5zdHlsZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L19saXN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9fYnVsbGV0cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19lbGxpcHNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX25vd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fZm9yY2Utd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvbGF5b3V0L19ncmlkLWJhY2tncm91bmQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fY3NzMy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19iYWNrZ3JvdW5kLW9yaWdpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2h5cGhlbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZpbHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19waWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdXNlci1pbnRlcmZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmxleGJveC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19vcHRpb25zLnNjc3MiLCJ2YXJpYWJsZXMvX29wdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbG9yLXN5c3RlbS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3NwYWNpbmcuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2dyaWQuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbXBvbmVudHMuc2NzcyIsInZhcmlhYmxlcy9fc2l6ZXMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fdGFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLWZvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLnNjc3MiLCJ2YXJpYWJsZXMvX2J1dHRvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2Zvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19uYXYtbmF2YmFyLnNjc3MiLCJ2YXJpYWJsZXMvX25hdmJhci5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fZHJvcGRvd25zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19wYWdpbmF0aW9uLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19qdW1ib3Ryb24uc2NzcyIsInZhcmlhYmxlcy9fanVtYm90cm9uLnNjc3MiLCJ2YXJpYWJsZXMvX2p1bWJvdHJvbi1hbmRyb21lZGUuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NhcmRzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L190b2FzdHMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2JyZWFkY3J1bWJzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19jYXJvdXNlbC5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9pbXBvcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsInRvb2xzL19taXhpbi5zY3NzIiwidG9vbHMvX21peGluLWJ1dHRvbnMuc2NzcyIsInRvb2xzL19idXR0b25zLXdpZHRoLnNjc3MiLCJ0b29scy9fb3BhY2l0eS5zY3NzIiwidG9vbHMvX2J1dHRvbnMuc2NzcyIsInRvb2xzL19jdy1hbGlnbi5zY3NzIiwidG9vbHMvX2N3LWJveC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctYm94LnNjc3MiLCJ0b29scy9fY3ctbW9kZWwuc2NzcyIsInRvb2xzL3F1ZXJpZXMvX2N3LW1vZGVsLnNjc3MiLCJ0b29scy9fY3ctc2hhcGUtZGl2aWRlci5zY3NzIiwidG9vbHMvX2N3LXNwYWNpbmcuc2NzcyIsInRvb2xzL19jdy10b29scy5zY3NzIiwidG9vbHMvX2N3LXR4dC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctdHh0LnNjc3MiLCJ0b29scy9fY3ctY2hpbGRyZW4uc2NzcyIsInRvb2xzL19jdy1jbGlwLXBhdGguc2NzcyIsInRvb2xzL19jb2xvcmJveC5zY3NzIiwidG9vbHMvX2FuaW1fZm9ybS5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL19hbmltYXRlLnNjc3MiLCJ0b29scy9hbmltYXRpb24vX2NvcmUuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9fc2hhcmVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fYXR0ZW50aW9uLXNlZWtlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19ib3VuY2luZy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvYm91bmNpbmcvX2JvdW5jaW5nLWV4aXRzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9ib3VuY2luZy9fYm91bmNpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmFkaW5nLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9mYWRpbmcvX2ZhZGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvZmFkaW5nL19mYWRpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmxpcHBlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19saWdodHNwZWVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fcm90YXRpbmcuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL3JvdGF0aW5nL19yb3RhdGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvcm90YXRpbmcvX3JvdGF0aW5nLWVudHJhbmNlcy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvX3NwZWNpYWxzLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1ib2R5LWRlZmF1bHQuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctYm9keS1kZWZhdWx0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1icmVhZGNydW1iLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWFuZHJvbWVkZS5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctY2FyZC1ib2RlLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWZpbGUuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWNvbmZpZy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jb250ZXh0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXIuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctZGFtaWVyLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXItbnVtYmVycy5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctZ3JpZC5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctdGltZWxpbmUuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWFjY29yZGlvbi5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9fbmF2YmFyLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL3F1ZXJpZXMvX25hdmJhci5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9fbmF2YmFyLW9wdGlvbnMuc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvX2Nhcm91c2VsLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL19qdW1ib3Ryb24uc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvanVtYm90cm9uLWFuZHJvbWVkZS9fanVtYm90cm9uLWFuZHJvbWVkZS5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLW5hdmJhci5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLWJsb2MtaW5mb3Muc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvanVtYm90cm9uLWFuZHJvbWVkZS9fanVtYm90cm9uLWFuZHJvbWVkZS1jYXJvdXNlbC5zY3NzIiwiZ2FiYXJpdHMvZm9vdGVycy9fZm9vdGVyLnNjc3MiLCJnYWJhcml0cy9mb290ZXJzL19mb290ZXItYW5kcm9tZWRlLnNjc3MiLCJnYWJhcml0cy9ib3R0b21zL19ib3R0b20tZGVmYXVsdC5zY3NzIiwibW9kdWxlcy9fcmVib290LnNjc3MiLCJtb2R1bGVzL19hZG1pbi5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fYWRkdG9hbnkuc2NzcyIsIm1vZHVsZXMvX2NhbGwtdG9hY3Rpb24uc2NzcyIsIm1vZHVsZXMvX3BhcmFsbGF4LnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX3BhcmFsbGF4LnNjc3MiLCJtb2R1bGVzL19mZWF0dXJlZC5zY3NzIiwibW9kdWxlcy9fbWFwLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX21hcC5zY3NzIiwibW9kdWxlcy9fbWFwLXdpdGgtY29udGVudC5zY3NzIiwibW9kdWxlcy9fZm9ybS5zY3NzIiwibW9kdWxlcy9fYWN0dWFsaXRlcy5zY3NzIiwibW9kdWxlcy9xdWVyaWVzL19hY3R1YWxpdGVzLnNjc3MiLCJtb2R1bGVzL19nYWxlcmllLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2dhbGVyaWUuc2NzcyIsIm1vZHVsZXMvX21hc29ucnkuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fbWFzb25yeS5zY3NzIiwibW9kdWxlcy9fbXVsdGktYmxvYy5zY3NzIiwibW9kdWxlcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2R1bGVzL19jb29raWUtcmdwZC5zY3NzIiwibW9kdWxlcy9fYXZhbnQtYXByZXMuc2NzcyIsIm1vZHVsZXMvX2F2aXNnb19jb25maWcuc2NzcyIsIl9zdXJjaGFyZ2UtZGV2LnNjc3MiLCJfc3VyY2hhcmdlLXByb2Quc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb21wYXNzIG1peGluc1xuQGltcG9ydCBcImNvbXBhc3NcIjtcblxuLy9AaW1wb3J0IHVybChmb250LWF3ZXNvbWUubWluLmNzcyk7XG5cbi8vIHZhcmlhYmxlcy5cbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7IC8vYm9vdHN0cmFwXG5AaW1wb3J0IFwidmFyaWFibGVzL3ZhcmlhYmxlc1wiOyAvL2N3XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9pbXBvcnRcIjsgLy9ib290c3RyYXBcbi8vQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9tZGJvb3RzdHJhcC9zY3NzL21kYi1mcmVlLnNjc3NcIjsgLy9tYXRlcmlhbCBkZXNpZ24gYm9vdHN0cmFwXG5cbi8vIENXIE1peGluXG5AaW1wb3J0IFwidG9vbHMvbWl4aW5cIjtcbkBpbXBvcnQgXCJ0b29scy9taXhpbi1idXR0b25zXCI7XG5AaW1wb3J0IFwidG9vbHMvYnV0dG9ucy13aWR0aFwiO1xuQGltcG9ydCBcInRvb2xzL29wYWNpdHlcIjtcblxuLy8gQ1cgVG9vbHMuXG5AaW1wb3J0IFwidG9vbHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcInRvb2xzL2N3LWFsaWduXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctYm94XCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctbW9kZWxcIjtcbkBpbXBvcnQgXCJ0b29scy9jdy1zaGFwZS1kaXZpZGVyXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctc3BhY2luZ1wiO1xuQGltcG9ydCBcInRvb2xzL2N3LXRvb2xzXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctdHh0XCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctY2hpbGRyZW5cIjtcbkBpbXBvcnQgXCJ0b29scy9jdy1jbGlwLXBhdGhcIjtcbkBpbXBvcnQgXCJ0b29scy9jb2xvcmJveFwiO1xuQGltcG9ydCBcInRvb2xzL2FuaW1fZm9ybVwiO1xuQGltcG9ydCBcInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlXCI7XG5cbi8vIEdhYmFyaXRzXG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1ib2R5LWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmQtYW5kcm9tZWRlXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jYXJkLWJvZGVcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmQtZmlsZVwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctY29uZmlnLWNhcmRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNvbnRleHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWRhbWllclwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctZGFtaWVyLW51bWJlcnNcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWdyaWRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LXRpbWVsaW5lXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1hY2NvcmRpb25cIjtcblxuLy8gQ2F0YWxvZ3VlIEhlYWRlcnNcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL25hdmJhclwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2hlYWRlcnMvbmF2YmFyLW9wdGlvbnNcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL2Nhcm91c2VsXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvanVtYm90cm9uLWFuZHJvbWVkZVwiO1xuLy9AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYm9kZS9qdW1ib3Ryb24tYm9kZVwiOyAvKihkw6ljb21tZW50ZXIgQGltcG9ydCBcImp1bWJvdHJvbi1ib2RlXCI7IGRhbnMgX3ZhcmlhYmxlcy5zY3NzKSovXG5cbi8vIENhdGFsb2d1ZSBGb290ZXJzXG5AaW1wb3J0IFwiZ2FiYXJpdHMvZm9vdGVycy9mb290ZXJcIjtcbi8vQGltcG9ydCBcImdhYmFyaXRzL2Zvb3RlcnMvZm9vdGVyLWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9mb290ZXJzL2Zvb3Rlci1hbmRyb21lZGVcIjtcblxuLy8gQ2F0YWxvZ3VlIEJvdHRvbVxuQGltcG9ydCBcImdhYmFyaXRzL2JvdHRvbXMvYm90dG9tLWRlZmF1bHRcIjtcblxuLy8gQ1cgVGhlbWluZ1xuQGltcG9ydCBcIm1vZHVsZXMvcmVib290XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hZG1pblwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hZGR0b2FueVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2FsbC10b2FjdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFyYWxsYXhcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2ZlYXR1cmVkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYXBcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21hcC13aXRoLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvcm1cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2FjdHVhbGl0ZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2dhbGVyaWVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21hc29ucnlcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL211bHRpLWJsb2NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NvcmVmXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mbG9hdC1ibG9ja1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29va2llLXJncGRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2F2YW50LWFwcmVzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hdmlzZ29fY29uZmlnXCI7XG5cbi8vIFN1cmNoYXJnZVxuQGltcG9ydCAnc3VyY2hhcmdlLWRldic7XG5AaW1wb3J0ICdzdXJjaGFyZ2UtcHJvZCc7XG4iLCJAaW1wb3J0IFwiY29tcGFzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wYXNzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImNvbXBhc3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBhc3MvY3NzM1wiO1xuIiwiQGltcG9ydCBcImZ1bmN0aW9ucy9saXN0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb25zdGFudHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZGlzcGxheVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvcnNcIjtcbiIsIi8vXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgbGlzdCBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2xpc3RzLnJiXG4vL1xuXG5cbi8vIGNvbXBhY3QgaXMgcGFydCBvZiBsaWJzYXNzXG5cbkBmdW5jdGlvbiAtY29tcGFzcy1udGgoJGxpc3QsICRwbGFjZSkge1xuICAvLyBZZXAsIFNhc3MtbGlzdHMgYXJlIDEtaW5kZXhlZC5cbiAgQGlmICRwbGFjZSA9PSBcImZpcnN0XCIge1xuICAgICRwbGFjZTogMTtcbiAgfVxuICBAaWYgJHBsYWNlID09IFwibGFzdFwiIHtcbiAgICAkcGxhY2U6IGxlbmd0aCgkbGlzdCk7XG4gIH1cbiAgQHJldHVybiBudGgoJGxpc3QsICRwbGFjZSk7XG59XG5cbi8vIGNvbXBhc3NfbGlzdCBjYW4ndCBiZSBpbXBsZW1lbnRlZCBpbiBzYXNzIHNjcmlwdFxuXG5AZnVuY3Rpb24gLWNvbXBhc3Mtc3BhY2UtbGlzdCgkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAkaXRlbXM6ICgpO1xuICAvLyBTdXBwb3J0IGZvciBwb2x5bW9ycGhpc20uXG4gIEBpZiB0eXBlLW9mKCRpdGVtMSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJGl0ZW1zOiAkaXRlbTE7XG4gIH0gQGVsc2Uge1xuICAgICRpdGVtczogJGl0ZW0xICRpdGVtMiAkaXRlbTMgJGl0ZW00ICRpdGVtNSAkaXRlbTYgJGl0ZW03ICRpdGVtOCAkaXRlbTk7XG4gIH1cblxuICAkZnVsbDogZmlyc3QtdmFsdWUtb2YoJGl0ZW1zKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkaXRlbXMpIHtcbiAgICAkaXRlbTogbnRoKCRpdGVtcywgJGkpO1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCAkaXRlbTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gLWNvbXBhc3MtbGlzdC1zaXplKCRsaXN0KSB7XG4gIEByZXR1cm4gbGVuZ3RoKCRsaXN0KTtcbn1cblxuQGZ1bmN0aW9uIC1jb21wYXNzLXNsaWNlKCRsaXN0LCAkc3RhcnQsICRlbmQ6IGZhbHNlKSB7XG4gIEBpZiAkZW5kID09IGZhbHNlIHtcbiAgICAkZW5kOiBsZW5ndGgoJGxpc3QpO1xuICB9XG4gICRmdWxsOiBudGgoJGxpc3QsICRzdGFydCk7XG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgKyAxIHRocm91Z2ggJGVuZCB7XG4gICAgJGZ1bGw6ICRmdWxsLCBudGgoJGxpc3QsICRpKTtcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufVxuXG5AZnVuY3Rpb24gcmVqZWN0KCRsaXN0LCAkcmVqZWN0MSwgJHJlamVjdDI6bnVsbCwgJHJlamVjdDM6bnVsbCwgJHJlamVjdDQ6bnVsbCwgJHJlamVjdDU6bnVsbCwgJHJlamVjdDY6bnVsbCwgJHJlamVjdDc6bnVsbCwgJHJlamVjdDg6bnVsbCwgJHJlamVjdDk6bnVsbCkge1xuICAkcmVqZWN0czogJHJlamVjdDEsICRyZWplY3QyLCAkcmVqZWN0MywgJHJlamVjdDQsICRyZWplY3Q1LCAkcmVqZWN0NiwgJHJlamVjdDcsICRyZWplY3Q4LCAkcmVqZWN0OTtcblxuICAkZnVsbDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgaW5kZXgoJHJlamVjdHMsICRpdGVtKSB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkZnVsbCB7XG4gICAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmdWxsOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIGZpcnN0LXZhbHVlLW9mKCRsaXN0KSB7XG4gIEByZXR1cm4gbnRoKCRsaXN0LCAxKTtcbn1cblxuQGZ1bmN0aW9uIGNvbXBhY3QoJHZhcnMuLi4pIHtcbiAgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhcnMpO1xuICAkbGlzdDogKCk7XG4gIEBlYWNoICR2YXIgaW4gJHZhcnMge1xuICAgICAgQGlmICR2YXIge1xuICAgICAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICR2YXIsICRzZXBhcmF0b3IpO1xuICAgICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjcm9zcyBicm93c2VyIHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jcm9zc19icm93c2VyX3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gcHJlZml4ZWQoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTk7XG4gICRwcmVmaXhlZDogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgdHlwZS1vZigkaXRlbSkgPT0gJ3N0cmluZycge1xuICAgICAgJHByZWZpeGVkOiAkcHJlZml4ZWQgb3Igc3RyLWluZGV4KCRpdGVtLCAndXJsJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAncmdiJykgIT0gMSBhbmQgc3RyLWluZGV4KCRpdGVtLCAnIycpICE9IDE7XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJGl0ZW0pID09ICdjb2xvcicge1xuICAgIH0gQGVsc2VpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRwcmVmaXhlZDogdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJlZml4ZWQ7XG59XG5cbkBmdW5jdGlvbiBwcmVmaXgoJHByZWZpeCwgJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgJHByb3BlcnRpZXM6IFwiXCI7XG5cbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkcHJvcGVydHkxKSA9PSAnbGlzdCcge1xuICAgIC8vIFBhc3NpbmcgYSBzaW5nbGUgYXJyYXkgb2YgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gUGFzc2luZyBtdWx0aXBsZSBwcm9wZXJ0aWVzLlxuICAgICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICB9XG5cbiAgJHByb3BzOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiAkaXRlbSA9PSBudWxsIHt9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHByZWZpeGVkKCRwcmVmaXgsICRpdGVtKSB7XG4gICAgICAgICRpdGVtOiAjeyRwcmVmaXh9LSN7JGl0ZW19O1xuICAgICAgfVxuICAgICAgQGlmICRwcm9wcyB7XG4gICAgICAgICRwcm9wczogJHByb3BzLCAkaXRlbTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHByb3BzOiAkaXRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcHJvcHM7XG59XG5cbkBmdW5jdGlvbiAtc3ZnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctc3ZnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtb3dnKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctb3dnJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtd2Via2l0KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctd2Via2l0JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbW96KCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctbW96JywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtbygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW8nLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cblxuQGZ1bmN0aW9uIC1waWUoJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1waWUnLCAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5KTtcbn1cbiIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGdyYWRpZW50IHN1cHBvcnQgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi92MC4xMi4yL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvZ3JhZGllbnRfc3VwcG9ydC5yYlxuLy8gXG5cbkBmdW5jdGlvbiBjb2xvci1zdG9wcygkaXRlbTEsICRpdGVtMjpudWxsLCAkaXRlbTM6bnVsbCwgJGl0ZW00Om51bGwsICRpdGVtNTpudWxsLCAkaXRlbTY6bnVsbCwgJGl0ZW03Om51bGwsICRpdGVtODpudWxsLCAkaXRlbTk6bnVsbCkge1xuICAkaXRlbXM6ICRpdGVtMiwgJGl0ZW0zLCAkaXRlbTQsICRpdGVtNSwgJGl0ZW02LCAkaXRlbTcsICRpdGVtOCwgJGl0ZW05O1xuICAkZnVsbDogJGl0ZW0xO1xuICBAZWFjaCAkaXRlbSBpbiAkaXRlbXMge1xuICAgIEBpZiAkaXRlbSAhPSBudWxsIHtcbiAgICAgICRmdWxsOiAkZnVsbCwgJGl0ZW07XG4gICAgfSAgICBcbiAgfVxuICBAcmV0dXJuICRmdWxsO1xufSIsIi8vIFxuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGNvbnN0YW50cyBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbnN0YW50cy5yYlxuLy8gXG5cbkBmdW5jdGlvbiBvcHBvc2l0ZS1wb3NpdGlvbigkZnJvbSkge1xuICAgIEBpZiAoJGZyb20gPT0gdG9wKSB7XG4gICAgICAgIEByZXR1cm4gYm90dG9tO1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGJvdHRvbSkge1xuICAgICAgICBAcmV0dXJuIHRvcDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBsZWZ0KSB7XG4gICAgICAgIEByZXR1cm4gcmlnaHQ7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gcmlnaHQpIHtcbiAgICAgICAgQHJldHVybiBsZWZ0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IGNlbnRlcikge1xuICAgICAgICBAcmV0dXJuIGNlbnRlcjtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBkaXNwbGF5IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2NvcmUvbGliL2NvbXBhc3MvY29yZS9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2Rpc3BsYXkucmJcbi8vIFxuXG5AZnVuY3Rpb24gZWxlbWVudHMtb2YtdHlwZSgkdHlwZSl7XG4gICAgQGlmICgkdHlwZSA9PSBibG9jayl7XG4gICAgICAgIEByZXR1cm4gYWRkcmVzcywgYXJ0aWNsZSwgYXNpZGUsIGJsb2NrcXVvdGUsIGNlbnRlciwgZGlyLCBkaXYsIGRkLCBkZXRhaWxzLCBkbCwgZHQsIGZpZWxkc2V0LCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvcm0sIGZvb3RlciwgZnJhbWVzZXQsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhyLCBoZWFkZXIsIGhncm91cCwgaXNpbmRleCwgbWFpbiwgbWVudSwgbmF2LCBub2ZyYW1lcywgbm9zY3JpcHQsIG9sLCBwLCBwcmUsIHNlY3Rpb24sIHN1bW1hcnksIHVsO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGlubGluZSl7XG4gICAgICAgIEByZXR1cm4gYSwgYWJiciwgYWNyb255bSwgYXVkaW8sIGIsIGJhc2Vmb250LCBiZG8sIGJpZywgYnIsIGNhbnZhcywgY2l0ZSwgY29kZSwgY29tbWFuZCwgZGF0YWxpc3QsIGRmbiwgZW0sIGVtYmVkLCBmb250LCBpLCBpbWcsIGlucHV0LCBrZXlnZW4sIGtiZCwgbGFiZWwsIG1hcmssIG1ldGVyLCBvdXRwdXQsIHByb2dyZXNzLCBxLCBycCwgcnQsIHJ1YnksIHMsIHNhbXAsIHNlbGVjdCwgc21hbGwsIHNwYW4sIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdGV4dGFyZWEsIHRpbWUsIHR0LCB1LCB2YXIsIHZpZGVvLCB3YnI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaW5saW5lLWJsb2NrKXtcbiAgICAgICAgQHJldHVybiBpbWc7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUpe1xuICAgICAgICBAcmV0dXJuIHRhYmxlO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGxpc3QtaXRlbSl7XG4gICAgICAgIEByZXR1cm4gbGk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93LWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0Ym9keTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1oZWFkZXItZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRoZWFkO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLWZvb3Rlci1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGZvb3Q7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtcm93KXtcbiAgICAgICAgQHJldHVybiB0cjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1jZWxsKXtcbiAgICAgICAgQHJldHVybiB0aCwgdGQ7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUtYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNS1pbmxpbmUpe1xuICAgICAgICBAcmV0dXJuIGF1ZGlvLCBjYW52YXMsIGNvbW1hbmQsIGRhdGFsaXN0LCBlbWJlZCwga2V5Z2VuLCBtYXJrLCBtZXRlciwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1KXtcbiAgICAgICAgQHJldHVybiBhcnRpY2xlLCBhc2lkZSwgYXVkaW8sIGNhbnZhcywgY29tbWFuZCwgZGF0YWxpc3QsIGRldGFpbHMsIGVtYmVkLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIGtleWdlbiwgbWFpbiwgbWFyaywgbWVudSwgbWV0ZXIsIG5hdiwgb3V0cHV0LCBwcm9ncmVzcywgcnAsIHJ0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRleHQtaW5wdXQpe1xuICAgICAgICBAcmV0dXJuIGlucHV0LCB0ZXh0YXJlYTtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb2xvcnMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29sb3JzLnJiXG4vL1xuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2YgbGlnaHRlbi9kYXJrZW4gc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIGxpZ2h0bmVzcyBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgc2NhbGVkIGRhcmtlciwgaWYgcG9zaXRpdmUsIGl0IGlzIHNjYWxlZCBsaWdodGVyLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgbGlnaHQgb3IgZGFyayBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBzYXR1cmF0ZS9kZXNhdHVyYXRlIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIHNhdHVyYXRpb24gYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIGRlc2F0dXJhdGVkLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2F0dXJhdGVkLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgc2F0dXJhdGVkIG9yIGRlc2F0dXJhdGVkIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoI2ZmZmZmZiwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvY29sb3JcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZ2VuZXJhbFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcHJpdGVzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RhYmxlc1wiO1xuXG4vLyBkZXByZWNhdGVkXG5AaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbiIsIkBpbXBvcnQgXCJjb2xvci9jb250cmFzdFwiOyIsIiRjb250cmFzdGVkLWRhcmstZGVmYXVsdDogICAjMDAwICFkZWZhdWx0O1xuJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdDogICNmZmYgIWRlZmF1bHQ7XG4kY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkOiAzMCUgIWRlZmF1bHQ7XG5cbi8vIFJldHVybnMgdGhlIGAkbGlnaHRgIGNvbG9yIHdoZW4gdGhlIGAkY29sb3JgIGlzIGRhcmtcbi8vIGFuZCB0aGUgYCRkYXJrYCBjb2xvciB3aGVuIHRoZSBgJGNvbG9yYCBpcyBsaWdodC5cbi8vIFRoZSBgJHRocmVzaG9sZGAgaXMgYSBwZXJjZW50IGJldHdlZW4gYDAlYCBhbmQgYDEwMCVgIGFuZCBpdCBkZXRlcm1pbmVzXG4vLyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi5cbkBmdW5jdGlvbiBjb250cmFzdC1jb2xvcihcbiAgJGNvbG9yLFxuICAkZGFyazogJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0LFxuICAkbGlnaHQ6ICRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQsXG4gICR0aHJlc2hvbGQ6ICRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGRcbikge1xuICBAcmV0dXJuIGlmKGxpZ2h0bmVzcygkY29sb3IpIDwgJHRocmVzaG9sZCwgJGxpZ2h0LCAkZGFyaylcbn1cblxuLy8gU2V0cyB0aGUgc3BlY2lmaWVkIGJhY2tncm91bmQgY29sb3IgYW5kIGNhbGN1bGF0ZXMgYSBkYXJrIG9yIGxpZ2h0IGNvbnRyYXN0ZWQgdGV4dCBjb2xvci5cbi8vIFRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBbY29udHJhc3QtY29sb3IgZnVuY3Rpb25dKCNmdW5jdGlvbi1jb250cmFzdC1jb2xvcikuXG5AbWl4aW4gY29udHJhc3RlZChcbiAgJGJhY2tncm91bmQtY29sb3IsXG4gICRkYXJrOiAkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQsXG4gICRsaWdodDogJGNvbnRyYXN0ZWQtbGlnaHQtZGVmYXVsdCxcbiAgJHRocmVzaG9sZDogJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZFxuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBjb2xvcjogY29udHJhc3QtY29sb3IoJGJhY2tncm91bmQtY29sb3IsICRkYXJrLCAkbGlnaHQsICR0aHJlc2hvbGQpO1xufSIsIkBpbXBvcnQgXCJnZW5lcmFsL3Jlc2V0XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImdlbmVyYWwvZmxvYXRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL3RhZy1jbG91ZFwiO1xuQGltcG9ydCBcImdlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL21pblwiO1xuIiwiLy8gVGhpcyBtb2R1bGUgaGFzIG1vdmVkLlxuQGltcG9ydCBcIi4uLy4uL3Jlc2V0L3V0aWxpdGllc1wiO1xuIiwiLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldCAyLjBdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvaW5kZXguaHRtbClcbi8vIEdsb2JhbCByZXNldCBydWxlcy5cbi8vIEZvciBtb3JlIHNwZWNpZmljIHJlc2V0cywgdXNlIHRoZSByZXNldCBtaXhpbnMgcHJvdmlkZWQgYmVsb3dcbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGIsIHUsIGksIGNlbnRlcixcbiAgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbiAgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG4gIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG4gIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG4gIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxuICB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgICBAaW5jbHVkZSByZXNldC1mb250OyB9XG4gIC8vIFVubGlrZSBFcmljJ3Mgb3JpZ2luYWwgcmVzZXQsIHdlIHJlc2V0IHRoZSBodG1sIGVsZW1lbnQgdG8gYmUgY29tcGF0aWJsZVxuICAvLyB3aXRoIHRoZSB2ZXJ0aWNhbCByaHl0aG0gbWl4aW5zLlxuICBodG1sIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib2R5OyB9XG4gIG9sLCB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZTsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfVxuICBAaW5jbHVkZSByZXNldC1odG1sNTsgfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG5AbWl4aW4gbmVzdGVkLXJlc2V0IHtcbiAgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGU7IH1cbiAgY2FwdGlvbiwgdGgsIHRkIHtcbiAgICBAaW5jbHVkZSByZXNldC10YWJsZS1jZWxsOyB9XG4gIHEsIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXF1b3RhdGlvbjsgfVxuICBhIGltZyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlcjsgfSB9XG5cbi8vIFJlc2V0IHRoZSBib3ggbW9kZWwgbWVhc3VyZW1lbnRzLlxuQG1peGluIHJlc2V0LWJveC1tb2RlbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8vIFJlc2V0IHRoZSBmb250IGFuZCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gcmVzZXQtZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8vIFJlc2V0cyB0aGUgb3V0bGluZSB3aGVuIGZvY3VzLlxuLy8gRm9yIGFjY2Vzc2liaWxpdHkgeW91IG5lZWQgdG8gYXBwbHkgc29tZSBzdHlsaW5nIGluIGl0cyBwbGFjZS5cbkBtaXhpbiByZXNldC1mb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLy8gUmVzZXQgYSBib2R5IGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8vIFJlc2V0IHRoZSBsaXN0IHN0eWxlIG9mIGFuIGVsZW1lbnQuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLy8gUmVzZXQgYSB0YWJsZVxuQG1peGluIHJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLy8gUmVzZXQgYSB0YWJsZSBjZWxsIChgdGhgLCBgdGRgKVxuQG1peGluIHJlc2V0LXRhYmxlLWNlbGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8vIFJlc2V0IGEgcXVvdGF0aW9uIChgcWAsIGBibG9ja3F1b3RlYClcbkBtaXhpbiByZXNldC1xdW90YXRpb24ge1xuICBxdW90ZXM6IG5vbmU7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyBcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBib3JkZXIuXG5AbWl4aW4gcmVzZXQtaW1hZ2UtYW5jaG9yLWJvcmRlciB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4vLyBVbnJlY29nbml6ZWQgZWxlbWVudHMgYXJlIGRpc3BsYXllZCBpbmxpbmUuXG4vLyBUaGlzIHJlc2V0IHByb3ZpZGVzIGEgYmFzaWMgcmVzZXQgZm9yIGJsb2NrIGh0bWw1IGVsZW1lbnRzXG4vLyBzbyB0aGV5IGFyZSByZW5kZXJlZCBjb3JyZWN0bHkgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCByZWNvZ25pemUgdGhlbVxuLy8gYW5kIHJlc2V0IGluIGJyb3dzZXJzIHRoYXQgaGF2ZSBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlbS5cbkBtaXhpbiByZXNldC1odG1sNSB7XG4gICN7ZWxlbWVudHMtb2YtdHlwZShodG1sNS1ibG9jayl9IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgZGlzcGxheSBvZiBpbmxpbmUgYW5kIGJsb2NrIGVsZW1lbnRzIHRvIHRoZWlyIGRlZmF1bHQgZGlzcGxheVxuLy8gYWNjb3JkaW5nIHRvIHRoZWlyIHRhZyB0eXBlLiBFbGVtZW50cyB0aGF0IGhhdmUgYSBkZWZhdWx0IGRpc3BsYXkgdGhhdCB2YXJpZXMgYWNyb3NzXG4vLyB2ZXJzaW9ucyBvZiBodG1sIG9yIGJyb3dzZXIgYXJlIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB0aGlzIGNvdmVycyB0aGUgOTAlIHVzZSBjYXNlLlxuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgLy8gVHVybiBvZmYgdGhlIGRpc3BsYXkgZm9yIGJvdGggb2YgdGhlc2UgY2xhc3Nlc1xuLy8gICAgIC51bnJlZ2lzdGVyZWQtb25seSwgLnJlZ2lzdGVyZWQtb25seVxuLy8gICAgICAgZGlzcGxheTogbm9uZVxuLy8gICAgIC8vIE5vdyB0dXJuIG9ubHkgb25lIG9mIHRoZW0gYmFjayBvbiBkZXBlbmRpbmcgb24gc29tZSBvdGhlciBjb250ZXh0LlxuLy8gICAgIGJvZHkucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIucmVnaXN0ZXJlZC1vbmx5XCIpXG4vLyAgICAgYm9keS51bnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnVucmVnaXN0ZXJlZC1vbmx5XCIpXG5AbWl4aW4gcmVzZXQtZGlzcGxheSgkc2VsZWN0b3I6IFwiXCIsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJpbmxpbmVcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICN7YXBwZW5kLXNlbGVjdG9yKGVsZW1lbnRzLW9mLXR5cGUoXCJibG9ja1wiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBFeHRlbmRzIHRoZSBib3R0b20gb2YgdGhlIGVsZW1lbnQgdG8gZW5jbG9zZSBhbnkgZmxvYXRzIGl0IGNvbnRhaW5zLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwiaGFja3NcIjtcblxuLy8gVGhpcyBiYXNpYyBtZXRob2QgaXMgcHJlZmVycmVkIGZvciB0aGUgdXN1YWwgY2FzZSwgd2hlbiBwb3NpdGlvbmVkXG4vLyBjb250ZW50IHdpbGwgbm90IHNob3cgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb250YWluZXIuXG4vL1xuLy8gUmVjb21tZW5kYXRpb25zIGluY2x1ZGUgdXNpbmcgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgd2lkdGguXG4vLyBDcmVkaXQ6IFtxdWlya3Ntb2RlLm9yZ10oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMDUvMDMvY2xlYXJpbmdfZmxvYXRzLmh0bWwpXG5AbWl4aW4gY2xlYXJmaXgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIG9sZGVyIG1ldGhvZCBmcm9tIFBvc2l0aW9uIElzIEV2ZXJ5dGhpbmcgY2FsbGVkXG4vLyBbRWFzeSBDbGVhcmluZ10oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZWFzeWNsZWFyaW5nLmh0bWwpXG4vLyBoYXMgdGhlIGFkdmFudGFnZSBvZiBhbGxvd2luZyBwb3NpdGlvbmVkIGVsZW1lbnRzIHRvIGhhbmdcbi8vIG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyIGF0IHRoZSBleHBlbnNlIG9mIG1vcmUgdHJpY2t5IENTUy5cbkBtaXhpbiBsZWdhY3ktcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudCAgICA6IFwiXFwwMDIwXCI7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIGhlaWdodCAgICAgOiAwO1xuICAgIGNsZWFyICAgICAgOiBib3RoO1xuICAgIG92ZXJmbG93ICAgOiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuXG4vLyBUaGlzIGlzIGFuIHVwZGF0ZWQgdmVyc2lvbiBvZiB0aGUgUElFIGNsZWFyZml4IG1ldGhvZCB0aGF0IHJlZHVjZXMgdGhlIGFtb3VudCBvZiBDU1Mgb3V0cHV0LlxuLy8gSWYgeW91IG5lZWQgdG8gc3VwcG9ydCBGaXJlZm94IGJlZm9yZSAzLjUgeW91IG5lZWQgdG8gdXNlIGBsZWdhY3ktcGllLWNsZWFyZml4YCBpbnN0ZWFkLlxuLy9cbi8vIEFkYXB0ZWQgZnJvbTogW0EgbmV3IG1pY3JvIGNsZWFyZml4IGhhY2tdKGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLylcbkBtaXhpbiBwaWUtY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIi8vIFVzdWFsbHkgY29tcGFzcyBoYWNrcyBhcHBseSB0byBib3RoIGllNiAmIDcgLS0gc2V0IHRoaXMgdG8gZmFsc2UgdG8gZGlzYWJsZSBzdXBwb3J0IGZvciBib3RoLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU2IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNjogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU3IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNzogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgbGVnYWN5IGllOCBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIEBwcml2YXRlXG4vLyBUaGUgdXNlciBjYW4gc2ltcGx5IHNldCAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIGFuZCA2LCA3LCBhbmQgOCB3aWxsIGJlIHNldCBhY2NvcmRpbmdseSxcbi8vIEJ1dCBpbiBjYXNlIHRoZSB1c2VyIHNldCBlYWNoIG9mIHRob3NlIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8gc3luYyB0aGUgdmFsdWUgb2Zcbi8vIHRoaXMgY29tYmluZWQgdmFyaWFibGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllODtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgbGVnYWN5IHN1cHBvcnQgZm9yIG1vemlsbGEuXG4vLyBVc3VhbGx5IHRoaXMgbWVhbnMgaGFja3MgdG8gc3VwcG9ydCBGaXJlZm94IDMuNiBvciBlYXJsaWVyLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuXG4vLyBTdXBwb3J0IGZvciBtb3ppbGxhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tb3opLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC13ZWJraXQpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0J3Mgb3JpZ2luYWwgKG5vbi1zdGFuZGFyZCkgZ3JhZGllbnQgc3ludGF4LlxuJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igb3BlcmEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW8pLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgbWljcm9zb2Z0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tcykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBraHRtbCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgta2h0bWwpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHN2ZyBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzLlxuLy8gU2V0dGluZyB0aGlzIHRvIHRydWUgbWlnaHQgYWRkIHNpZ25pZmljYW50IHNpemUgdG8geW91clxuLy8gZ2VuZXJhdGVkIHN0eWxlc2hlZXRzLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIENTUyBQSUUgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXBpZSkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gSW1wbGVtZW50YXRpb24gb2YgZmxvYXQ6bGVmdCB3aXRoIGZpeCBmb3IgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIEBpbmNsdWRlIGZsb2F0KGxlZnQpOyB9XG5cbi8vIEltcGxlbWVudGF0aW9uIG9mIGZsb2F0OnJpZ2h0IHdpdGggZml4IGZvciB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIEBpbmNsdWRlIGZsb2F0KHJpZ2h0KTsgfVxuXG4vLyBEaXJlY3Rpb24gaW5kZXBlbmRlbnQgZmxvYXQgbWl4aW4gdGhhdCBmaXhlcyB0aGVcbi8vIFtkb3VibGUtbWFyZ2luIGJ1ZyBpbiBJRTUvNl0oaHR0cDovL3d3dy5wb3NpdGlvbmlzZXZlcnl0aGluZy5uZXQvZXhwbG9yZXIvZG91YmxlZC1tYXJnaW4uaHRtbClcbkBtaXhpbiBmbG9hdCgkc2lkZTogbGVmdCkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiB1bnF1b3RlKCRzaWRlKTsgfVxuXG4vLyBSZXNldHMgZmxvYXRlZCBlbGVtZW50cyBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgb2YgYGZsb2F0OiBub25lYCBhbmQgZGVmYXVsdHNcbi8vIHRvIGBkaXNwbGF5OiBibG9ja2AgdW5sZXNzIHlvdSBwYXNzIGBpbmxpbmVgIGFzIGFuIGFyZ3VtZW50XG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyAgICAgYm9keS5ob21lcGFnZVxuLy8gICAgICAgI2Zvb3RlciBsaVxuLy8gICAgICAgICArZmxvYXQtbGVmdFxuLy8gICAgIGJvZHkuc2lnbnVwXG4vLyAgICAgICAjZm9vdGVyIGxpXG4vLyAgICAgICAgICtyZXNldC1mbG9hdFxuQG1peGluIHJlc2V0LWZsb2F0KCRkaXNwbGF5OiBibG9jaykge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogJGRpc3BsYXk7IH0iLCIvLyBFbWl0cyBzdHlsZXMgZm9yIGEgdGFnIGNsb3VkXG5AbWl4aW4gdGFnLWNsb3VkKCRiYXNlLXNpemU6IDFlbSkge1xuICBmb250LXNpemU6ICRiYXNlLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgKiAkYmFzZS1zaXplO1xuICAueHhzLCAueHMsIC5zLCAubCwgLnhsLCAueHhsIHtcbiAgICBsaW5lLWhlaWdodDogMS4yICogJGJhc2Utc2l6ZTsgfVxuICAueHhzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLXNpemUgLyAyOyB9XG4gIC54cyB7XG4gICAgZm9udC1zaXplOiAyICogJGJhc2Utc2l6ZSAvIDM7IH1cbiAgLnMge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyA0OyB9XG4gIC5sIHtcbiAgICBmb250LXNpemU6IDQgKiAkYmFzZS1zaXplIC8gMzsgfVxuICAueGwge1xuICAgIGZvbnQtc2l6ZTogMyAqICRiYXNlLXNpemUgLyAyOyB9XG4gIC54eGwge1xuICAgIGZvbnQtc2l6ZTogMiAqICRiYXNlLXNpemU7IH0gfVxuIiwiQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vKipcbi8vIENyb3NzIGJyb3dzZXIgbWluLWhlaWdodCBtaXhpbi5cbkBtaXhpbiBtaW4taGVpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bShoZWlnaHQsICR2YWx1ZSk7IH1cblxuLy8qKlxuLy8gQ3Jvc3MgYnJvd3NlciBtaW4td2lkdGggbWl4aW4uXG5AbWl4aW4gbWluLXdpZHRoKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBoYWNrZWQtbWluaW11bSh3aWR0aCwgJHZhbHVlKTsgfVxuXG4vLyBAcHJpdmF0ZSBUaGlzIG1peGluIGlzIG5vdCBtZWFudCB0byBiZSB1c2VkIGRpcmVjdGx5LlxuQG1peGluIGhhY2tlZC1taW5pbXVtKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIG1pbi0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgQGluY2x1ZGUgYmFuZy1oYWNrKCRwcm9wZXJ0eSwgYXV0bywgJHZhbHVlKTsgfVxuIiwiQGltcG9ydCBcInNwcml0ZXMvYmFzZVwiO1xuQGltcG9ydCBcInNwcml0ZXMvc3ByaXRlLWltZ1wiO1xuIiwiLy8gRGV0ZXJtaW5lcyB0aG9zZSBzdGF0ZXMgZm9yIHdoaWNoIHlvdSB3YW50IHRvIGVuYWJsZSBtYWdpYyBzcHJpdGUgc2VsZWN0b3JzXG4kc3ByaXRlLXNlbGVjdG9yczogaG92ZXIsIHRhcmdldCwgYWN0aXZlICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYW4gZWxlbWVudCB0byB0aGUgb3JpZ2luYWxcbi8vIGRpbWVuc2lvbnMgb2YgYW4gaW1hZ2UgYmVmb3JlIGl0IHdhcyBpbmNsdWRlZCBpbiB0aGUgc3ByaXRlLlxuQG1peGluIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoc3ByaXRlLWZpbGUoJG1hcCwgJHNwcml0ZSkpO1xufVxuXG4vLyBTZXQgdGhlIGJhY2tncm91bmQgcG9zaXRpb24gb2YgdGhlIGdpdmVuIHNwcml0ZSBgJG1hcGAgdG8gZGlzcGxheSB0aGVcbi8vIHNwcml0ZSBvZiB0aGUgZ2l2ZW4gYCRzcHJpdGVgIG5hbWUuIFlvdSBjYW4gbW92ZSB0aGUgaW1hZ2UgcmVsYXRpdmUgdG8gaXRzXG4vLyBuYXR1cmFsIHBvc2l0aW9uIGJ5IHBhc3NpbmcgYCRvZmZzZXQteGAgYW5kIGAkb2Zmc2V0LXlgLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHNwcml0ZS1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7ICBcbn1cblxuXG4vLyBEZXRlcm1pbmVzIGlmIHlvdSB3YW50IHRvIGluY2x1ZGUgbWFnaWMgc2VsZWN0b3JzIGluIHlvdXIgc3ByaXRlc1xuJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9yczpmYWxzZSAhZGVmYXVsdDtcblxuLy8gSW5jbHVkZSB0aGUgcG9zaXRpb24gYW5kIChvcHRpb25hbGx5KSBkaW1lbnNpb25zIG9mIHRoaXMgYCRzcHJpdGVgXG4vLyBpbiB0aGUgZ2l2ZW4gc3ByaXRlIGAkbWFwYC4gVGhlIHNwcml0ZSB1cmwgc2hvdWxkIGNvbWUgZnJvbSBlaXRoZXIgYSBiYXNlXG4vLyBjbGFzcyBvciB5b3UgY2FuIHNwZWNpZnkgdGhlIGBzcHJpdGUtdXJsYCBleHBsaWNpdGx5IGxpa2UgdGhpczpcbi8vXG4vLyAgICAgYmFja2dyb3VuZDogJG1hcCBuby1yZXBlYXQ7XG5AbWl4aW4gc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICBAaWYgJGRpbWVuc2lvbnMge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1kaW1lbnNpb25zKCRtYXAsICRzcHJpdGUpO1xuICB9XG4gIEBpZiBub3QoJGRpc2FibGUtbWFnaWMtc3ByaXRlLXNlbGVjdG9ycykge1xuICAgIEBpbmNsdWRlIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZSwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICB9XG59XG5cbi8vIEluY2x1ZGUgdGhlIHNlbGVjdG9ycyBmb3IgdGhlIGAkc3ByaXRlYCBnaXZlbiB0aGUgYCRtYXBgIGFuZCB0aGUgXG4vLyBgJGZ1bGwtc3ByaXRlLW5hbWVgXG4vLyBAcHJpdmF0ZVxuQG1peGluIHNwcml0ZS1zZWxlY3RvcnMoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZnVsbC1zcHJpdGUtbmFtZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzcHJpdGUtc2VsZWN0b3JzIHtcbiAgICBAaWYgc3ByaXRlX2hhc19zZWxlY3RvcigkbWFwLCAkc3ByaXRlLW5hbWUsICRzZWxlY3Rvcikge1xuICAgICAgJjojeyRzZWxlY3Rvcn0sICYuI3skZnVsbC1zcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9LCAmLiN7JGZ1bGwtc3ByaXRlLW5hbWV9LSN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcG9zaXRpb24oJG1hcCwgXCIjeyRzcHJpdGUtbmFtZX1fI3skc2VsZWN0b3J9XCIsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGVzIGEgY2xhc3MgZm9yIGVhY2ggc3BhY2Ugc2VwYXJhdGVkIG5hbWUgaW4gYCRzcHJpdGUtbmFtZXNgLlxuLy8gVGhlIGNsYXNzIHdpbGwgYmUgb2YgdGhlIGZvcm0gLjxtYXAtbmFtZT4tPHNwcml0ZS1uYW1lPi5cbi8vXG4vLyBJZiBhIGJhc2UgY2xhc3MgaXMgcHJvdmlkZWQsIHRoZW4gZWFjaCBjbGFzcyB3aWxsIGV4dGVuZCBpdC5cbi8vXG4vLyBJZiBgJGRpbWVuc2lvbnNgIGlzIGB0cnVlYCwgdGhlIHNwcml0ZSBkaW1lbnNpb25zIHdpbGwgc3BlY2lmaWVkLlxuQG1peGluIHNwcml0ZXMoJG1hcCwgJHNwcml0ZS1uYW1lcywgJGJhc2UtY2xhc3M6IGZhbHNlLCAkZGltZW5zaW9uczogZmFsc2UsICRwcmVmaXg6IHNwcml0ZS1tYXAtbmFtZSgkbWFwKSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHtcbiAgQGVhY2ggJHNwcml0ZS1uYW1lIGluICRzcHJpdGUtbmFtZXMge1xuICAgIEBpZiBzcHJpdGVfZG9lc19ub3RfaGF2ZV9wYXJlbnQoJG1hcCwgJHNwcml0ZS1uYW1lKSB7XG4gICAgICAkZnVsbC1zcHJpdGUtbmFtZTogXCIjeyRwcmVmaXh9LSN7JHNwcml0ZS1uYW1lfVwiO1xuICAgICAgLiN7JGZ1bGwtc3ByaXRlLW5hbWV9IHtcbiAgICAgICAgQGlmICRiYXNlLWNsYXNzIHsgQGV4dGVuZCAjeyRiYXNlLWNsYXNzfTsgfVxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJG1hcCwgJHNwcml0ZS1uYW1lLCAkZGltZW5zaW9ucywgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIEBkb2Mgb2ZmXG4vLyBFeGFtcGxlIDE6XG4vL1xuLy8gICAgIGEudHdpdHRlclxuLy8gICAgICAgK3Nwcml0ZS1pbWcoXCJpY29ucy0zMi5wbmdcIiwgMSlcbi8vICAgICBhLmZhY2Vib29rXG4vLyAgICAgICArc3ByaXRlLWltZyhcImljb25zLTMycG5nXCIsIDIpXG4vL1xuLy8gRXhhbXBsZSAyOlxuLy9cbi8vICAgICBhXG4vLyAgICAgICArc3ByaXRlLWJhY2tncm91bmQoXCJpY29ucy0zMi5wbmdcIilcbi8vICAgICAgIGEudHdpdHRlclxuLy8gICAgICAgICArc3ByaXRlLWNvbHVtbigxKVxuLy8gICAgICAgYS5mYWNlYm9va1xuLy8gICAgICAgICArc3ByaXRlLXJvdygyKVxuLy8gQGRvYyBvblxuXG4kc3ByaXRlLWRlZmF1bHQtc2l6ZTogMzJweCAhZGVmYXVsdDtcblxuJHNwcml0ZS1kZWZhdWx0LW1hcmdpbjogMHB4ICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGg6ICRzcHJpdGUtZGVmYXVsdC1zaXplICFkZWZhdWx0O1xuXG4kc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0OiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gU2V0cyBhbGwgdGhlIHJ1bGVzIGZvciBhIHNwcml0ZSBmcm9tIGEgZ2l2ZW4gc3ByaXRlIGltYWdlIHRvIHNob3cganVzdCBvbmUgb2YgdGhlIHNwcml0ZXMuXG4vLyBUbyByZWR1Y2UgZHVwbGljYXRpb24gdXNlIGEgc3ByaXRlLWJnIG1peGluIGZvciBjb21tb24gcHJvcGVydGllcyBhbmQgYSBzcHJpdGUtc2VsZWN0IG1peGluIGZvciBwb3NpdGlvbmluZy5cbkBtaXhpbiBzcHJpdGUtaW1nKCRpbWcsICRjb2wsICRyb3c6IDEsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aCwgJGhlaWdodCk7XG4gIEBpbmNsdWRlIHNwcml0ZS1wb3NpdGlvbigkY29sLCAkcm93LCAkd2lkdGgsICRoZWlnaHQsICRtYXJnaW4pOyBcbn1cblxuLy8gU2V0cyBydWxlcyBjb21tb24gZm9yIGFsbCBzcHJpdGVzLCBhc3N1bWVzIHlvdSB3YW50IGEgc3F1YXJlLCBidXQgYWxsb3dzIGEgcmVjdGFuZ3VsYXIgcmVnaW9uLlxuQG1peGluIHNwcml0ZS1iYWNrZ3JvdW5kKCRpbWcsICR3aWR0aDogJHNwcml0ZS1kZWZhdWx0LXNpemUsICRoZWlnaHQ6ICR3aWR0aCkge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoLCAkaGVpZ2h0KTsgXG59XG5cbi8vIFNldHMgcnVsZXMgY29tbW9uIGZvciBhbGwgc3ByaXRlcywgYXNzdW1lcyBhIHJlY3Rhbmd1bGFyIHJlZ2lvbi5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZC1yZWN0YW5nbGUoJGltZywgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQpIHtcbiAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRpbWcpIG5vLXJlcGVhdDtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyBcbn1cblxuLy8gQWxsb3dzIGhvcml6b250YWwgc3ByaXRlIHBvc2l0aW9uaW5nIG9wdGltaXplZCBmb3IgYSBzaW5nbGUgcm93IG9mIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLWNvbHVtbigkY29sLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJGNvbCwgMSwgJHdpZHRoLCAwcHgsICRtYXJnaW4pOyBcbn1cblxuLy8gQWxsb3dzIHZlcnRpY2FsIHNwcml0ZSBwb3NpdGlvbmluZyBvcHRpbWl6ZWQgZm9yIGEgc2luZ2xlIGNvbHVtbiBvZiBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1yb3coJHJvdywgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oMSwgJHJvdywgMHB4LCAkaGVpZ2h0LCAkbWFyZ2luKTsgXG59XG5cbi8vIEFsbG93cyB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBzcHJpdGUgcG9zaXRpb25pbmcgZnJvbSBhIGdyaWQgb2YgZXF1YWwgZGltZW5zaW9uZWQgc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJGNvbCwgJHJvdzogMSwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgJHg6ICgkY29sIC0gMSkgKiAtJHdpZHRoIC0gKCRjb2wgLSAxKSAqICRtYXJnaW47XG4gICR5OiAoJHJvdyAtIDEpICogLSRoZWlnaHQgLSAoJHJvdyAtIDEpICogJG1hcmdpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHggJHk7IFxufVxuXG5cblxuLy8gU2ltaWxhciB0byAnc3ByaXRlLXJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCBkb2VzIG5vdCBhdXRtYXRpY2x5IHNldCB0aGUgZGVtZW5zaW9uc1xuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQgKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zOiBmYWxzZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApIHsgICAgXG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbiAgQGluY2x1ZGUgc3ByaXRlKCRtYXAsICRzcHJpdGUsICRkaW1lbnNpb25zLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRtYXA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi8vIFNpbWlsYXIgdG8gJ3JlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMnIGJ1dCB3aXRoIHNwcml0ZXNcbi8vIFRvIHVzZSwgY3JlYXRlIHlvdXIgc3ByaXRlIGFuZCB0aGVuIHBhc3MgaXQgaW4gdGhlIGAkbWFwYCBwYXJhbVxuLy8gVGhlIG5hbWUgb2YgdGhlIGltYWdlIGluIHRoZSBzcHJpdGUgZm9sZGVyIHNob3VsZCBiZSBgJGltZy1uYW1lYFxuQG1peGluIHNwcml0ZS1yZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zICgkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCl7ICAgIFxuICBAaW5jbHVkZSBzcHJpdGUtcmVwbGFjZS10ZXh0ICgkbWFwLCAkc3ByaXRlLCB0cnVlLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG59IiwiQGltcG9ydCBcInRhYmxlcy9hbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zXCI7XG5AaW1wb3J0IFwidGFibGVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ0YWJsZXMvc2NhZmZvbGRpbmdcIjtcbiIsIkBtaXhpbiBhbHRlcm5hdGluZy1yb3dzLWFuZC1jb2x1bW5zKCRldmVuLXJvdy1jb2xvciwgJG9kZC1yb3ctY29sb3IsICRkYXJrLWludGVyc2VjdGlvbiwgJGhlYWRlci1jb2xvcjogd2hpdGUsICRmb290ZXItY29sb3I6IHdoaXRlKSB7XG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfVxuICB0ciB7XG4gICAgJi5vZGQsICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIHRkIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvcjtcbiAgICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2RkLXJvdy1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH1cbiAgICB9XG4gIHRyLmV2ZW4ge1xuICAgIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVuLXJvdy1jb2xvcjtcbiAgICAgICYuZXZlbiwgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW4tcm93LWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3I7XG4gICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9IH1cbiIsIkBtaXhpbiBvdXRlci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIGJvcmRlcjogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0Zm9vdCB7XG4gICAgdGgsIHRkIHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfVxuICB0aCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7IH0gfSB9XG5cbkBtaXhpbiBpbm5lci10YWJsZS1ib3JkZXJzKCR3aWR0aDogMnB4LCAkY29sb3I6IGJsYWNrKSB7XG4gIHRoLCB0ZCB7XG4gICAgYm9yZGVyOiB7XG4gICAgICByaWdodDogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGJvdHRvbTogJHdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGxlZnQtd2lkdGg6IDBweDtcbiAgICAgIHRvcC13aWR0aDogMHB4OyB9O1xuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHg7IH0gfVxuXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuICB0Ym9keSwgdGZvb3Qge1xuICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgdGgsIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OyB9IH1cbiAgICB0ci5sYXN0IHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsgfSB9IH0gfVxuIiwiQG1peGluIHRhYmxlLXNjYWZmb2xkaW5nIHtcbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICAmLm51bWVyaWMge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfSB9XG4iLCJAaW1wb3J0IFwibGlua3MvaG92ZXItbGlua1wiO1xuQGltcG9ydCBcImxpbmtzL2xpbmstY29sb3JzXCI7XG5AaW1wb3J0IFwibGlua3MvdW5zdHlsZWQtbGlua1wiO1xuIiwiLy8gYSBsaW5rIHRoYXQgb25seSBoYXMgYW4gdW5kZXJsaW5lIHdoZW4geW91IGhvdmVyIG92ZXIgaXRcbkBtaXhpbiBob3Zlci1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4iLCIvLyBTZXQgYWxsIHRoZSBjb2xvcnMgZm9yIGEgbGluayB3aXRoIG9uZSBtaXhpbiBjYWxsLlxuLy8gT3JkZXIgb2YgYXJndW1lbnRzIGlzOlxuLy9cbi8vIDEuIG5vcm1hbFxuLy8gMi4gaG92ZXJcbi8vIDMuIGFjdGl2ZVxuLy8gNC4gdmlzaXRlZFxuLy8gNS4gZm9jdXNcbi8vXG4vLyBUaG9zZSBzdGF0ZXMgbm90IHNwZWNpZmllZCB3aWxsIGluaGVyaXQuXG4vLyBNaXhpbiB0byBhbiBhbmNob3IgbGluayBsaWtlIHNvOlxuLy8gICAgIGFcbi8vICAgICAgICtsaW5rLWNvbG9ycygjMDBjLCAjMGNjLCAjYzBjLCAjY2NjLCAjY2MwKVxuXG5AbWl4aW4gbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyOiBmYWxzZSwgJGFjdGl2ZTogZmFsc2UsICR2aXNpdGVkOiBmYWxzZSwgJGZvY3VzOiBmYWxzZSkge1xuICBjb2xvcjogJG5vcm1hbDtcbiAgQGlmICR2aXNpdGVkIHtcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICR2aXNpdGVkOyB9IH1cbiAgQGlmICRmb2N1cyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvY3VzOyB9IH1cbiAgQGlmICRob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhvdmVyOyB9IH1cbiAgQGlmICRhY3RpdmUge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYWN0aXZlOyB9IH0gfVxuIiwiLy8gQSBsaW5rIHRoYXQgbG9va3MgYW5kIGFjdHMgbGlrZSB0aGUgdGV4dCBpdCBpcyBjb250YWluZWQgd2l0aGluXG5AbWl4aW4gdW5zdHlsZWQtbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCBcImxpc3RzL2hvcml6b250YWwtbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2lubGluZS1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvaW5saW5lLWJsb2NrLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9idWxsZXRzXCI7XG4iLCIvLyBIb3Jpem9udGFsIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgdWwubmF2XG4vLyAgICAgK2hvcml6b250YWwtbGlzdFxuLy9cbi8vIEFkdmFuY2VkIG1vZGU6XG4vLyBJZiB5b3UgbmVlZCB0byB0YXJnZXQgdGhlIGxpc3QgaXRlbXMgdXNpbmcgYSBkaWZmZXJlbnQgc2VsZWN0b3IgdGhlbiB1c2Vcbi8vICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIG9uIHlvdXIgdWwvb2wgYW5kICtob3Jpem9udGFsLWxpc3QtaXRlbSBvbiB5b3VyIGxpLlxuLy8gVGhpcyBtYXkgaGVscCB3aGVuIHdvcmtpbmcgb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgIHVsLm5hdlxuLy8gICAgICtob3Jpem9udGFsLWxpc3QtY29udGFpbmVyXG4vLyAgICAgPiBsaVxuLy8gICAgICAgK2hvcml6b250YWwtbGlzdC1pdGVtXG5cbkBpbXBvcnQgXCJidWxsZXRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9yZXNldFwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2Zsb2F0XCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYSBob3Jpem9udGFsIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgbGkgc2VsZWN0b3IgdGhhdCBpcyBtZWFudCB0byBwYXJ0aWNpcGF0ZSBpbiBhIGhvcml6b250YWwgbGF5b3V0LlxuLy8gVXNlZCB0byBpbXBsZW1lbnQgK2hvcml6b250YWwtbGlzdC5cbi8vXG4vLyA6bGFzdC1jaGlsZCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkXG4vLyBzZWUgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MjkgZm9yIHRoZSBzdXBwb3J0IG1hdHJpeFxuLy9cbi8vIElFOCBpZ25vcmVzIHJ1bGVzIHRoYXQgYXJlIGluY2x1ZGVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgOmxhc3QtY2hpbGRcbi8vIHNlZSBodHRwOi8vd3d3LnJpY2hhcmRzY2Fycm90dC5jby51ay9wb3N0cy92aWV3L2llOC1sYXN0LWNoaWxkLWJ1ZyBmb3IgZGV0YWlsc1xuLy9cbi8vIFNldHRpbmcgYCRwYWRkaW5nYCB0byBgZmFsc2VgIGRpc2FibGVzIHRoZSBwYWRkaW5nIGJldHdlZW4gbGlzdCBlbGVtZW50c1xuQG1peGluIGhvcml6b250YWwtbGlzdC1pdGVtKCRwYWRkaW5nOiA0cHgsICRkaXJlY3Rpb246IGxlZnQpIHtcbiAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBmbG9hdCgkZGlyZWN0aW9uKTtcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgIHJpZ2h0OiAkcGFkZGluZztcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCwgJi5maXJzdCB7IHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmctI3tvcHBvc2l0ZS1wb3NpdGlvbigkZGlyZWN0aW9uKX06IDA7IH1cbiAgICAmLmxhc3QgeyBwYWRkaW5nLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAwOyB9XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBmbG9hdGVkIGxlZnQgYW5kIHdvbid0IHdyYXAuXG4vLyBUaGlzIGlzIG5vdCBhbiBpbmxpbmUgbGlzdC5cbi8vXG4vLyBTZXR0aW5nIGAkcGFkZGluZ2AgdG8gYGZhbHNlYCBkaXNhYmxlcyB0aGUgcGFkZGluZyBiZXR3ZWVuIGxpc3QgZWxlbWVudHNcbkBtaXhpbiBob3Jpem9udGFsLWxpc3QoJHBhZGRpbmc6IDRweCwgJGRpcmVjdGlvbjogbGVmdCkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWl0ZW0oJHBhZGRpbmcsICRkaXJlY3Rpb24pOyB9IH1cbiIsIi8vIFR1cm4gb2ZmIHRoZSBidWxsZXQgZm9yIGFuIGVsZW1lbnQgb2YgYSBsaXN0XG5AbWl4aW4gbm8tYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS1pbWFnZSA6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZSAgOiBub25lO1xuICBtYXJnaW4tbGVmdCAgICAgIDogMDtcbn1cblxuLy8gdHVybnMgb2ZmIHRoZSBidWxsZXRzIGZvciBhbiBlbnRpcmUgbGlzdFxuQG1peGluIG5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7IEBpbmNsdWRlIG5vLWJ1bGxldDsgfVxufVxuXG4vLyBNYWtlIGEgbGlzdCh1bC9vbCkgaGF2ZSBhbiBpbWFnZSBidWxsZXQuXG4vL1xuLy8gVGhlIG1peGluIHNob3VsZCBiZSB1c2VkIGxpa2UgdGhpcyBmb3IgYW4gaWNvbiB0aGF0IGlzIDV4Nzpcbi8vXG4vLyAgICAgdWwucHJldHR5XG4vLyAgICAgICArcHJldHR5LWJ1bGxldHMoXCJteS1pY29uLnBuZ1wiLCA1cHgsIDdweClcbi8vXG4vLyBBZGRpdGlvbmFsbHksIGlmIHRoZSBpbWFnZSBkaW1lbnNpb25zIGFyZSBub3QgcHJvdmlkZWQsXG4vLyBUaGUgaW1hZ2UgZGltZW5zaW9ucyB3aWxsIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBpbWFnZSBpdHNlbGYuXG4vL1xuLy8gICAgIHVsLnByZXR0eVxuLy8gICAgICAgK3ByZXR0eS1idWxsZXRzKFwibXktaWNvbi5wbmdcIilcbi8vXG5AbWl4aW4gcHJldHR5LWJ1bGxldHMoJGJ1bGxldC1pY29uLCAkd2lkdGg6IGltYWdlLXdpZHRoKCRidWxsZXQtaWNvbiksICRoZWlnaHQ6IGltYWdlLWhlaWdodCgkYnVsbGV0LWljb24pLCAkbGluZS1oZWlnaHQ6IDE4cHgsICRwYWRkaW5nOiAxNHB4KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGJ1bGxldC1pY29uKSBuby1yZXBlYXQgKCRwYWRkaW5nIC0gJHdpZHRoKSAvIDIgKCRsaW5lLWhlaWdodCAtICRoZWlnaHQpIC8gMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIG1ha2VzIGEgbGlzdCBpbmxpbmUuXG5cbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJiwgJiBsaSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4vLyBtYWtlcyBhbiBpbmxpbmUgbGlzdCBkZWxpbWl0ZWQgd2l0aCB0aGUgcGFzc2VkIHN0cmluZy5cbi8vIERlZmF1bHRzIHRvIG1ha2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LlxuLy9cbi8vIFBsZWFzZSBtYWtlIG5vdGUgb2YgdGhlIGJyb3dzZXIgc3VwcG9ydCBpc3N1ZXMgYmVmb3JlIHVzaW5nIHRoaXMgbWl4aW46XG4vL1xuLy8gdXNlIG9mIGBjb250ZW50YCBhbmQgYDphZnRlcmAgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZCBpbiBhbGwgYnJvd3NlcnMuXG4vLyBTZWUgcXVpcmtzbW9kZSBmb3IgdGhlIFtzdXBwb3J0IG1hdHJpeF0oaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9jc3MvY29udGVudHMuaHRtbCN0MTUpXG4vL1xuLy8gYDpsYXN0LWNoaWxkYCBpcyBub3QgZnVsbHkgc3VwcG9ydGVkLlxuLy8gc2VlIHF1aXJrc21vZGUgZm9yIHRoZSBbc3VwcG9ydCBtYXRyaXhdKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDI5KS5cbi8vXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcblxuQG1peGluIGRlbGltaXRlZC1saXN0KCRzZXBhcmF0b3I6IFwiLCBcIikge1xuICBAaW5jbHVkZSBpbmxpbmUtbGlzdDtcbiAgbGkge1xuICAgICY6YWZ0ZXIgeyBjb250ZW50OiAkc2VwYXJhdG9yOyB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyB9XG4gICAgfVxuICAgICYubGFzdCB7XG4gICAgICAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTZWUgW2RlbGltaXRlZC1saXN0XSgjbWl4aW4tZGVsaW1pdGVkLWxpc3QpXG4vLyBAZGVwcmVjYXRlZFxuQG1peGluIGNvbW1hLWRlbGltaXRlZC1saXN0IHtcbiAgQHdhcm4gXCJjb21tYS1kZWxpbWl0ZWQtbGlzdCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGRlbGltaXRlZC1saXN0IGluc3RlYWQuXCI7XG4gIEBpbmNsdWRlIGRlbGltaXRlZC1saXN0O1xufVxuIiwiLy8gSW5saW5lLUJsb2NrIGxpc3QgbGF5b3V0IG1vZHVsZS5cbi8vXG4vLyBFYXN5IG1vZGUgdXNpbmcgc2ltcGxlIGRlc2NlbmRhbnQgbGkgc2VsZWN0b3JzOlxuLy9cbi8vICAgICB1bC5uYXYge1xuLy8gICAgICAgQGltcG9ydCBpbmxpbmUtYmxvY2stbGlzdDtcbi8vICAgICB9XG4vL1xuLy8gQWR2YW5jZWQgbW9kZTpcbi8vIElmIHlvdSBuZWVkIHRvIHRhcmdldCB0aGUgbGlzdCBpdGVtcyB1c2luZyBhIGRpZmZlcmVudCBzZWxlY3RvciB0aGVuIHVzZVxuLy8gYEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcmAgb24geW91ciB1bC9vbCBhbmRcbi8vIGBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtYCBvbiB5b3VyIGxpLiBUaGlzIG1heSBoZWxwIHdoZW4gd29ya2luZ1xuLy8gb24gbGF5b3V0cyBpbnZvbHZpbmcgbmVzdGVkIGxpc3RzLiBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgdWwubmF2IHtcbi8vICAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbi8vICAgICAgID4gbGkge1xuLy8gICAgICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtO1xuLy8gICAgICAgfVxuLy8gICAgIH1cblxuQGltcG9ydCBcImJ1bGxldHNcIjtcbkBpbXBvcnQgXCJob3Jpem9udGFsLWxpc3RcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9mbG9hdFwiO1xuQGltcG9ydCBcIi4uLy4uL2NzczMvaW5saW5lLWJsb2NrXCI7XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBzZWxlY3RvciB0aGF0IHRhcmdldCBhIHVsIG9yIG9sIHRoYXQgaXMgbWVhbnRcbi8vIHRvIGhhdmUgYW4gaW5saW5lLWJsb2NrIGxheW91dC4gVXNlZCB0byBpbXBsZW1lbnQgYGlubGluZS1ibG9jay1saXN0YC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXIge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QtY29udGFpbmVyOyB9XG5cbi8vIENhbiBiZSBtaXhlZCBpbnRvIGFueSBsaSBzZWxlY3RvciB0aGF0IGlzIG1lYW50IHRvIHBhcnRpY2lwYXRlIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQuXG4vLyBVc2VkIHRvIGltcGxlbWVudCBgaW5saW5lLWJsb2NrLWxpc3RgLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldDtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgcmlnaHQ6ICRwYWRkaW5nO1xuICAgIH07XG4gIH1cbn1cblxuLy8gQSBsaXN0KG9sLHVsKSB0aGF0IGlzIGxheWVkIG91dCBzdWNoIHRoYXQgdGhlIGVsZW1lbnRzIGFyZSBpbmxpbmUtYmxvY2sgYW5kIHdvbid0IHdyYXAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QoJHBhZGRpbmc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1saXN0LWl0ZW0oJHBhZGRpbmcpOyB9IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCJAaW1wb3J0IFwidGV4dC9lbGxpcHNpc1wiO1xuQGltcG9ydCBcInRleHQvbm93cmFwXCI7XG5AaW1wb3J0IFwidGV4dC9yZXBsYWNlbWVudFwiO1xuQGltcG9ydCBcInRleHQvZm9yY2Utd3JhcFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL2NzczMvc2hhcmVkXCI7XG5cbi8vIFRvIGdldCBmdWxsIGZpcmVmb3ggc3VwcG9ydCwgeW91IG11c3QgaW5zdGFsbCB0aGUgZWxsaXBzaXMgcGF0dGVybjpcbi8vXG4vLyAgICAgY29tcGFzcyBpbnN0YWxsIGNvbXBhc3MvZWxsaXBzaXNcbiR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhpcyB0ZWNobmlxdWUsIGJ5IFtKdXN0aW4gTWF4d2VsbF0oaHR0cDovL2NvZGU0MDQuY29tLyksIHdhcyBvcmlnaW5hbGx5XG4vLyBwdWJsaXNoZWQgW2hlcmVdKGh0dHA6Ly9tYXR0c25pZGVyLmNvbS9jc3MvY3NzLXN0cmluZy10cnVuY2F0aW9uLXdpdGgtZWxsaXBzaXMvKS5cbi8vIEZpcmVmb3ggaW1wbGVtZW50YXRpb24gYnkgW1Jpa2tlcnQgS29wcGVzXShodHRwOi8vd3d3LnJpa2tlcnRrb3BwZXMuY29tL3Rob3VnaHRzLzIwMDgvNi8pLlxuQG1peGluIGVsbGlwc2lzKCRuby13cmFwOiB0cnVlKSB7XG4gIEBpZiAkbm8td3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRleHQtb3ZlcmZsb3csIGVsbGlwc2lzLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgYW5kICR1c2UtbW96aWxsYS1lbGxpcHNpcy1iaW5kaW5nIHtcbiAgICAtbW96LWJpbmRpbmc6IHN0eWxlc2hlZXQtdXJsKHVucXVvdGUoXCJ4bWwvZWxsaXBzaXMueG1sI2VsbGlwc2lzXCIpKTtcbiAgfVxufVxuIiwiLy8gV2hlbiByZW1lbWJlcmluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSdzIGEgaHlwaGVuIGluIHdoaXRlLXNwYWNlIGlzIHRvbyBoYXJkXG5AbWl4aW4gbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuIiwiLy8gSW5kaWNhdGVzIHRoZSBkaXJlY3Rpb24geW91IHByZWZlciB0byBtb3ZlIHlvdXIgdGV4dFxuLy8gd2hlbiBoaWRpbmcgaXQuXG4vL1xuLy8gYGxlZnRgIGlzIG1vcmUgcm9idXN0LCBlc3BlY2lhbGx5IGluIG9sZGVyIGJyb3dzZXJzLlxuLy8gYHJpZ2h0YCBzZWVtcyBoYXZlIGJldHRlciBydW50aW1lIHBlcmZvcm1hbmNlLlxuJGhpZGUtdGV4dC1kaXJlY3Rpb246IGxlZnQgIWRlZmF1bHQ7XG5cbi8vIEhpZGVzIGh0bWwgdGV4dCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhbiBpbWFnZS5cbi8vIElmIHlvdSB1c2UgdGhpcyBvbiBhbiBpbmxpbmUgZWxlbWVudCwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGRpc3BsYXkgdG8gYmxvY2sgb3IgaW5saW5lLWJsb2NrLlxuLy8gQWxzbywgaWYgdGhlIHNpemUgb2YgdGhlIGltYWdlIGRpZmZlcnMgc2lnbmlmaWNhbnRseSBmcm9tIHRoZSBmb250IHNpemUsIHlvdSdsbCBuZWVkIHRvIHNldCB0aGUgd2lkdGggYW5kL29yIGhlaWdodC5cbi8vXG4vLyBQYXJhbWV0ZXJzOlxuLy9cbi8vICogYGltZ2AgLS0gdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgcHJvamVjdCBpbWFnZSBkaXJlY3RvcnkgdG8gdGhlIGltYWdlLCBvciBhIHVybCBsaXRlcmFsLlxuLy8gKiBgeGAgLS0gdGhlIHggcG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG4vLyAqIGB5YCAtLSB0aGUgeSBwb3NpdGlvbiBvZiB0aGUgYmFja2dyb3VuZCBpbWFnZS5cbkBtaXhpbiByZXBsYWNlLXRleHQoJGltZywgJHg6IDUwJSwgJHk6IDUwJSkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBAaWYgaXMtdXJsKCRpbWcpIHtcbiAgICAgIGltYWdlOiB1cmwoJGltZyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBpbWFnZTogaW1hZ2UtdXJsKCRpbWcpO1xuICAgIH1cbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogJHggJHk7XG4gIH07XG59XG5cbi8vIExpa2UgdGhlIGByZXBsYWNlLXRleHRgIG1peGluLCBidXQgYWxzbyBzZXRzIHRoZSB3aWR0aFxuLy8gYW5kIGhlaWdodCBvZiB0aGUgZWxlbWVudCBhY2NvcmRpbmcgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGltYWdlLlxuLy9cbi8vIElmIHlvdSBzZXQgYCRpbmxpbmVgIHRvIHRydWUsIHRoZW4gYW4gaW5saW5lIGltYWdlIChkYXRhIHVyaSkgd2lsbCBiZSB1c2VkLlxuQG1peGluIHJlcGxhY2UtdGV4dC13aXRoLWRpbWVuc2lvbnMoJGltZywgJHg6IDUwJSwgJHk6IDUwJSwgJGlubGluZTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmVwbGFjZS10ZXh0KGlmKCRpbmxpbmUsIGlubGluZS1pbWFnZSgkaW1nKSwgJGltZyksICR4LCAkeSk7XG4gIHdpZHRoOiBpbWFnZS13aWR0aCgkaW1nKTtcbiAgaGVpZ2h0OiBpbWFnZS1oZWlnaHQoJGltZyk7XG59XG5cbi8vIEhpZGVzIHRleHQgaW4gYW4gZWxlbWVudCBzbyB5b3UgY2FuIHNlZSB0aGUgYmFja2dyb3VuZC5cbi8vXG4vLyBUaGUgZGlyZWN0aW9uIGluZGljYXRlcyBob3cgdGhlIHRleHQgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB2aWV3LlxuLy9cbi8vIFNlZSBgJGhpZGUtdGV4dC1kaXJlY3Rpb25gIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0byBzZXQgdGhpcyBnbG9iYWxseVxuLy8gZm9yIHlvdXIgYXBwbGljYXRpb24uXG5AbWl4aW4gaGlkZS10ZXh0KCRkaXJlY3Rpb246ICRoaWRlLXRleHQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICRhcHByb3hpbWF0ZS1lbS12YWx1ZTogMTJweDtcbiAgICAkd2lkZXItdGhhbi1hbnktc2NyZWVuOiAtOTk5OTtcbiAgICB0ZXh0LWluZGVudDogJHdpZGVyLXRoYW4tYW55LXNjcmVlbiAqICRhcHByb3hpbWF0ZS1lbS12YWx1ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gQGVsc2Uge1xuICAgIC8vIHNsaWdodGx5IHdpZGVyIHRoYW4gdGhlIGJveCBwcmV2ZW50cyBpc3N1ZXMgd2l0aCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAgICB0ZXh0LWluZGVudDogMTEwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gSGlkZXMgdGV4dCBpbiBhbiBlbGVtZW50IGJ5IHNxdWlzaGluZyB0aGUgdGV4dCBpbnRvIG9ibGl2aW9uLlxuLy8gVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gaGlkZSB0ZXh0IGNvbnRhaW5lZCBpbiBhbiBpbmxpbmUgZWxlbWVudFxuLy8gYnV0IHN0aWxsIGhhdmUgaXQgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXG5AbWl4aW4gc3F1aXNoLXRleHQge1xuICBmb250OiAwLzAgc2VyaWY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvLyBQcmV2ZW50IGxvbmcgdXJscyBhbmQgdGV4dCBmcm9tIGJyZWFraW5nIGxheW91dHNcbi8vIFtvcmlnaW5hbGx5IGZyb20gcGVyaXNoYWJsZXByZXNzLmNvbV0oaHR0cDovL3BlcmlzaGFibGVwcmVzcy5jb20vcHJlc3MvMjAxMC8wNi8wMS93cmFwcGluZy1jb250ZW50LylcbkBtaXhpbiBmb3JjZS13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IHByZTsgICAgICAgICAgIC8vIENTUyAyLjBcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgIC8vIENTUyAyLjFcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyAgICAgIC8vIENTUyAzLjBcbiAgd2hpdGUtc3BhY2U6IC1wcmUtd3JhcDsgICAgIC8vIE9wZXJhIDQtNlxuICB3aGl0ZS1zcGFjZTogLW8tcHJlLXdyYXA7ICAgLy8gT3BlcmEgN1xuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDsgLy8gTW96aWxsYVxuICB3aGl0ZS1zcGFjZTogLWhwLXByZS13cmFwOyAgLy8gSFAgUHJpbnRlcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyAgICAgIC8vIElFIDUrXG59XG4iLCJAaW1wb3J0IFwidHlwb2dyYXBoeS9saW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlzdHNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3RleHRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3ZlcnRpY2FsX3JoeXRobVwiO1xuIiwiQGltcG9ydCBcIi4uL2xheW91dC9ncmlkLWJhY2tncm91bmRcIjtcblxuLy8gVGhlIGJhc2UgZm9udCBzaXplLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGRlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciByaHl0aG0gYm9yZGVycy5cbiRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6IDE2cHg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byB1c2UgYWJzb2x1dGUgcGl4ZWxzIGluIHNpemluZyB5b3VyIHR5cG9ncmFwaHkuXG4kcmVsYXRpdmUtZm9udC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyB0aGUgYGFkanVzdC1mb250LXNpemUtdG9gIG1peGluIGFuZCB0aGUgYGxpbmVzLWZvci1mb250LXNpemVgIGZ1bmN0aW9uXG4vLyB0byByb3VuZCB0aGUgbGluZSBoZWlnaHQgdG8gdGhlIG5lYXJlc3QgaGFsZiBsaW5lIGhlaWdodCBpbnN0ZWFkIG9mIHRoZVxuLy8gbmVhcmVzdCBpbnRlZ3JhbCBsaW5lIGhlaWdodCB0byBhdm9pZCBsYXJnZSBzcGFjaW5nIGJldHdlZW4gbGluZXMuXG4kcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBFbnN1cmUgdGhlcmUgaXMgYXQgbGVhc3QgdGhpcyBtYW55IHBpeGVsc1xuLy8gb2YgdmVydGljYWwgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIHRleHQuXG4kbWluLWxpbmUtcGFkZGluZzogMnB4ICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1mb250LXNpemUgYnV0IGluIHlvdXIgb3V0cHV0IHVuaXQgb2YgY2hvaWNlLlxuLy8gRGVmYXVsdHMgdG8gMWVtIHdoZW4gYCRyZWxhdGl2ZS1mb250LXNpemluZ2AgaXMgdHJ1ZS5cbiRmb250LXVuaXQ6IGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgMWVtLCAkYmFzZS1mb250LXNpemUpICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzaWMgdW5pdCBvZiBmb250IHJoeXRobS5cbiRiYXNlLXJoeXRobS11bml0OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQ7XG5cbi8vIFRoZSBsZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGluIGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWxlYWRlcjogKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemU7XG5cbi8vIFRoZSBoYWxmLWxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgYWJvdmUgYW5kIGJlbG93IGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWhhbGYtbGVhZGVyOiAkYmFzZS1sZWFkZXIgLyAyO1xuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhIHJlbGF0aXZlIHVuaXQuXG5AZnVuY3Rpb24gcmVsYXRpdmUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gdW5pdCgkbnVtYmVyKSA9PSBcIiVcIiBvciB1bml0KCRudW1iZXIpID09IFwiZW1cIiBvciB1bml0KCRudW1iZXIpID09IFwicmVtXCJcbn1cblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYW4gYWJzb2x1dGUgdW5pdC5cbkBmdW5jdGlvbiBhYnNvbHV0ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiBub3QocmVsYXRpdmUtdW5pdCgkbnVtYmVyKSBvciB1bml0bGVzcygkbnVtYmVyKSk7XG59XG5cbkBpZiAkcmVsYXRpdmUtZm9udC1zaXppbmcgYW5kIG5vdChyZWxhdGl2ZS11bml0KCRmb250LXVuaXQpKSB7XG4gIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIHRydWUgYnV0ICRmb250LXVuaXQgaXMgc2V0IHRvICN7JGZvbnQtdW5pdH0gd2hpY2ggaXMgbm90IGEgcmVsYXRpdmUgdW5pdC5cIjtcbn1cblxuLy8gRXN0YWJsaXNoZXMgYSBmb250IGJhc2VsaW5lIGZvciB0aGUgZ2l2ZW4gZm9udC1zaXplLlxuQG1peGluIGVzdGFibGlzaC1iYXNlbGluZSgkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgLy8gSUUgNiByZWZ1c2VzIHRvIHJlc2l6ZSBmb250cyBzZXQgaW4gcGl4ZWxzIGFuZCBpdCB3ZWlyZGx5IHJlc2l6ZXMgZm9udHNcbiAgLy8gd2hvc2Ugcm9vdCBpcyBzZXQgaW4gZW1zLiBTbyB3ZSBzZXQgdGhlIHJvb3QgZm9udCBzaXplIGluIHBlcmNlbnRhZ2VzIG9mXG4gIC8vIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbiAgKiBodG1sIHtcbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGZvbnQtc2l6ZSAvICRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplKTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbiAgfVxufVxuXG4vLyBSZXNldHMgdGhlIGxpbmUtaGVpZ2h0IHRvIDEgdmVydGljYWwgcmh5dGhtIHVuaXQuXG4vLyBEb2VzIG5vdCB3b3JrIG9uIGVsZW1lbnRzIHdob3NlIGZvbnQtc2l6ZSBpcyBkaWZmZXJlbnQgZnJvbSAkYmFzZS1mb250LXNpemUuXG4vL1xuLy8gQGRlcHJlY2F0ZWQgVGhpcyBtaXhpbiB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cbi8vIFBsZWFzZSB1c2UgdGhlIGBhZGp1c3QtbGVhZGluZy10b2AgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiByZXNldC1iYXNlbGluZSB7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGJhc2UtZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gU2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWJ1ZyB5b3VyIGFsaWdubWVudHMuXG4vLyBJbmNsdWRlIHRoZSAkaW1nIGFyZ3VtZW50IGlmIHlvdSB3b3VsZCByYXRoZXIgdXNlIHlvdXIgb3duIGltYWdlIHRoYW4gdGhlXG4vLyBDb21wYXNzIGRlZmF1bHQgZ3JhZGllbnQgaW1hZ2UuXG5AbWl4aW4gZGVidWctdmVydGljYWwtYWxpZ25tZW50KCRpbWc6IGZhbHNlKSB7XG4gIEBpZiAkaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZS1yaHl0aG0tdW5pdCk7XG4gIH1cbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZVxuLy8gcmh5dGhtLiAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZVxuLy8gb2YgdGhpcyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0XG4vLyBkZWZhdWx0cyB0byB0aGUgc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG4vLyBVc2UgJGZyb20tc2l6ZSB0byBhZGp1c3QgZnJvbSBhIGZvbnQtc2l6ZSBvdGhlciB0aGFuIHRoZSBiYXNlIGZvbnQtc2l6ZS5cbkBtaXhpbiBhZGp1c3QtZm9udC1zaXplLXRvKCR0by1zaXplLCAkbGluZXM6IGxpbmVzLWZvci1mb250LXNpemUoJHRvLXNpemUpLCAkZnJvbS1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZnJvbS1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYWRqdXN0LWZvbnQtc2l6ZS10b1wiO1xuICB9XG4gIGZvbnQtc2l6ZTogJGZvbnQtdW5pdCAqICR0by1zaXplIC8gJGZyb20tc2l6ZTtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICR0by1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBkaWZmZXJlbnQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlIHJoeXRobS5cbi8vICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lIG9mIHRoaXNcbi8vIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgZGVmYXVsdHMgdG8gdGhlXG4vLyBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbkBtaXhpbiBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBsaW5lLWhlaWdodDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSByaHl0aG0gdW5pdHMuXG5AZnVuY3Rpb24gcmh5dGhtKFxuICAkbGluZXM6IDEsXG4gICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgJG9mZnNldDogMFxuKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHRoZSByaHl0aG0gZnVuY3Rpb25cIjtcbiAgfVxuICAkcmh5dGhtOiAkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplO1xuICAvLyBSb3VuZCB0aGUgcGl4ZWxzIGRvd24gdG8gbmVhcmVzdCBpbnRlZ2VyLlxuICBAaWYgdW5pdCgkcmh5dGhtKSA9PSBweCB7XG4gICAgJHJoeXRobTogZmxvb3IoJHJoeXRobSk7XG4gIH1cbiAgQHJldHVybiAkcmh5dGhtO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gbXVsdGlwbGUgb2Ygcmh5dGhtIHVuaXRzIG5lZWRlZCB0byBjb250YWluIHRoZSBmb250LXNpemUuXG5AZnVuY3Rpb24gbGluZXMtZm9yLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICRsaW5lczogaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLFxuICAgICAgICAgICAgICBjZWlsKDIgKiAkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpIC8gMixcbiAgICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpKTtcbiAgQGlmICRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSA8ICRtaW4tbGluZS1wYWRkaW5nICogMiB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gIH1cbiAgQHJldHVybiAkbGluZXM7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIGFuZCBwYWRkaW5nLlxuQG1peGluIHJoeXRobSgkbGVhZGVyOiAwLCAkcGFkZGluZy1sZWFkZXI6IDAsICRwYWRkaW5nLXRyYWlsZXI6IDAsICR0cmFpbGVyOiAwLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWxlYWRlcigkcGFkZGluZy1sZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXRyYWlsZXIoJHBhZGRpbmctdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHRyYWlsZXIoJHRyYWlsZXIsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBhIGJvcmRlciBhbmQgd2hpdGVzcGFjZSB0byBhbnkgc2lkZSB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHZlcnRpY2FsXG4vLyByaHl0aG0uIFRoZSB3aGl0ZXNwYWNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLlxuQG1peGluIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcigkc2lkZSwgJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlclwiO1xuICB9XG4gIGJvcmRlci0jeyRzaWRlfS1zdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgcGFkZGluZy0jeyRzaWRlfTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYm9yZGVycyBhbmQgd2hpdGVzcGFjZSBlcXVhbGx5IHRvIGFsbCBzaWRlcy5cbkBtaXhpbiByaHl0aG0tYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gcmh5dGhtLWJvcmRlcnNcIjtcbiAgfVxuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIH07XG4gIHBhZGRpbmc6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGEgbGVhZGluZyBib3JkZXIuXG5AbWl4aW4gbGVhZGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcih0b3AsICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYSB0cmFpbGluZyBib3JkZXIuXG5AbWl4aW4gdHJhaWxpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoYm90dG9tLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgYm9yZGVycy5cbkBtaXhpbiBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGxlYWRpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbiAgQGluY2x1ZGUgdHJhaWxpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQWxpYXMgZm9yIGBob3Jpem9udGFsLWJvcmRlcnNgIG1peGluLlxuQG1peGluIGgtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9jc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcIi4uL2NzczMvYmFja2dyb3VuZC1zaXplXCI7XG5cbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBjb2x1bW5zXG4kZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvciAgICAgOiByZ2JhKDEwMCwgMTAwLCAyMjUsIDAuMjUpICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgZ3V0dGVyc1xuJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IgICAgIDogcmdiYSgwLCAwLCAwLCAwKSAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHlvdXIgZ3JpZFxuJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zICAgIDogMjQgICAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSB3aWR0aCBvZiB5b3VyIGNvbHVtbnNcbiRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoICAgICA6IDMwcHggICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgd2lkdGggb2YgeW91ciBndXR0ZXJzXG4kZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCAgICAgOiAxMHB4ICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIG9mZnNldCwgaWYgeW91ciBjb2x1bW5zIGFyZSBwYWRkZWQgaW4gZnJvbSB0aGUgY29udGFpbmVyIGVkZ2VcbiRncmlkLWJhY2tncm91bmQtb2Zmc2V0ICAgICAgICAgICA6IDBweCAgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGJhc2VsaW5lXG4kZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yICAgOiByZ2JhKDAsIDAsIDAsIDAuNSkgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIGhlaWdodCBvZiB5b3VyIGJhc2VsaW5lIGdyaWRcbiRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0ICA6IDEuNWVtICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gdG9nZ2xlIHlvdXIgY29sdW1ucyBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyAgICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgeW91ciB2ZXJ0aWNhbCBncmlkcyBvbiBhbmQgb2ZmXG4kc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzICAgOiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyB0b2dnbGUgYWxsIHlvdXIgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyAgICAgICAgICAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG4vLyBvcHRpb25hbGx5IGZvcmNlIHlvdXIgZ3JpZC1pbWFnZSB0byByZW1haW4gZmx1aWRcbi8vIG5vIG1hdHRlciB3aGF0IHVuaXRzIHlvdSB1c2VkIHRvIGRlY2xhcmVkIHlvdXIgZ3JpZC5cbiRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWQgICAgICA6IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBDcmVhdGUgdGhlIGdyYWRpZW50IG5lZWRlZCBmb3IgYmFzZWxpbmUgZ3JpZHNcbkBmdW5jdGlvbiBnZXQtYmFzZWxpbmUtZ3JhZGllbnQoXG4gICRjb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChib3R0b20sICRjb2xvciA1JSwgcmdiYSgkY29sb3IsMCkgNSUpO1xuICBAcmV0dXJuICRncmFkaWVudDtcbn1cblxuLy8gQ3JlYXRlIHRoZSBjb2xvci1zdG9wcyBuZWVkZWQgZm9yIGhvcml6b250YWwgZ3JpZHNcbkBmdW5jdGlvbiBidWlsZC1ncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGdyaWQ6IGNvbXBhY3QoKTtcbiAgJGdyaWQ6IGFwcGVuZCgkZ3JpZCwgJGd1dHRlci1jb2xvciAkb2Zmc2V0LCBjb21tYSk7XG4gIEBmb3IgJGkgZnJvbSAwIHRvICR0b3RhbCB7XG5cbiAgICAvLyAkYSByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGlzIGNvbHVtbiwgaW5pdGlhbGx5IGVxdWFsIHRvIHRoZSBvZmZzZXRcbiAgICAkYTogJG9mZnNldDtcbiAgICBAaWYgJGkgPiAwIHsgJGE6ICRhICsgKCgkY29sdW1uICsgJGd1dHRlcikgKiAkaSk7IH1cblxuICAgIC8vICRnIHJlcHJlc2VudHMgdGhlIHN0YXJ0IG9mIHRoaXMgZ3V0dGVyLCBlcXVhbCB0byAkYSBwbHVzIG9uZSBjb2x1bW4td2lkdGhcbiAgICAkZzogJGEgKyAkY29sdW1uO1xuXG4gICAgLy8gJHogcmVwcmVzZW50cyB0aGUgZW5kIG9mIGEgZ3V0dGVyLCBlcXVhbCB0byAkZyBwbHVzIG9uZSBndXR0ZXItd2lkdGhcbiAgICAkejogJGcgKyAkZ3V0dGVyO1xuXG4gICAgQGlmICh1bml0KCRhKSA9PSBcIiVcIikgYW5kICgkaSA9PSAoJHRvdGFsIC0gMSkpIHtcbiAgICAgICR6OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIGFuZCB3ZSBhZGQgdGhpcyBjb2x1bW4vZ3V0dGVyIHBhaXIgdG8gb3VyIGdyaWRcbiAgICAkZ3JpZDogam9pbigkZ3JpZCwgKCRjb2x1bW4tY29sb3IgJGEsICRjb2x1bW4tY29sb3IgJGcsICRndXR0ZXItY29sb3IgJGcsICRndXR0ZXItY29sb3IgJHopKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQ7XG59XG5cbi8vIFJldHVybiB0aGUgZ3JhZGllbnQgbmVlZGVkIGZvciBob3Jpem9udGFsIGdyaWRzXG5AZnVuY3Rpb24gZ2V0LWNvbHVtbi1ncmFkaWVudChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICAkZ3JpZDogdW5xdW90ZShcIlwiKTtcblxuICAvLyBkb24ndCBmb3JjZSBmbHVpZCBncmlkcyB3aGVuIHRoZXkgYXJlIGFscmVhZHkgZmx1aWQuXG4gIEBpZiB1bml0KCRjb2x1bW4pID09IFwiJVwiIHsgJGZvcmNlLWZsdWlkOiBmYWxzZTsgfVxuXG4gIEBpZiAkZm9yY2UtZmx1aWQge1xuICAgICRncmlkOiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgICRncmlkOiBidWlsZC1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIH1cblxuICAvLyByZXR1cm4gdGhlIGhvcml6b250YWwgZ3JpZCBhcyBhIGdyYWRpZW50XG4gICRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KGxlZnQsICRncmlkKTtcbiAgQHJldHVybiAkZ3JhZGllbnQ7XG59XG5cbi8vIENvbnZlcnQgYSBncmlkIGZyb20gZml4ZWQgdW5pdHMgaW50byBwZXJjZW50YWdlcy5cbkBmdW5jdGlvbiBnZXQtY29sdW1uLWZsdWlkLWdyaWQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yXG4pIHtcbiAgJGNvbnRleHQ6ICgkY29sdW1uICogJHRvdGFsKSArICgkZ3V0dGVyICogKCR0b3RhbCAtIDEpICsgKCRvZmZzZXQgKiAyKSk7XG4gICRvZmZzZXQ6ICRvZmZzZXQgLyAkY29udGV4dCAqIDEwMCU7XG4gICRjb2x1bW46ICRjb2x1bW4gLyAkY29udGV4dCAqIDEwMCU7XG4gICRndXR0ZXI6ICRndXR0ZXIgLyAkY29udGV4dCAqIDEwMCU7XG5cbiAgLy8gcmV0dXJuIHRoZSBob3Jpem9udGFsIGdyaWQgYXMgYSBzZXQgb2YgY29sb3Itc3RvcHNcbiAgJGdyaWQ6IGJ1aWxkLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yKTtcbiAgQHJldHVybiAkZ3JpZDtcbn1cblxuXG4vLyBBZGQganVzdCB0aGUgYmFzZWxpbmUgZ3JpZCB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZChcbiAgJGJhc2VsaW5lIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRjb2xvciAgICA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3Jcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShnZXQtYmFzZWxpbmUtZ3JhZGllbnQoJGNvbG9yKSk7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKDEwMCUgJGJhc2VsaW5lKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4vLyBBZGQganVzdCB0aGUgaG9yaXpvbnRhbCBncmlkIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gY29sdW1uLWdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyBhbmQgJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICB9XG59XG5cbi8vIEFkZCBib3RoIGhvcml6b250YWwgYW5kIGJhc2VsaW5lIGdyaWRzIHRvIGFuIGVsZW1lbnQncyBiYWNrZ3JvdW5kXG5AbWl4aW4gZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJGJhc2VsaW5lICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1oZWlnaHQsXG4gICRvZmZzZXQgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtb2Zmc2V0LFxuICAkY29sdW1uLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi1jb2xvcixcbiAgJGd1dHRlci1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItY29sb3IsXG4gICRiYXNlbGluZS1jb2xvciA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsXG4gICRmb3JjZS1mbHVpZCAgICA6ICRncmlkLWJhY2tncm91bmQtZm9yY2UtZmx1aWRcbikge1xuICBAaWYgJHNob3ctZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgQGlmICRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzIHtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoXG4gICAgICAgIGdldC1iYXNlbGluZS1ncmFkaWVudCgkYmFzZWxpbmUtY29sb3IpLFxuICAgICAgICBnZXQtY29sdW1uLWdyYWRpZW50KCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IsICRmb3JjZS1mbHVpZClcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXNpemUoMTAwJSAkYmFzZWxpbmUsIGF1dG8pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoJGJhc2VsaW5lLCAkYmFzZWxpbmUtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgY29sdW1uLWdyaWQtYmFja2dyb3VuZCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy9nZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQoXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkYmFja2dyb3VuZHMpIG9yICRtdWx0LWJncztcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtc3ZnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtb3dnKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAtbW96KCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkYmFja2dyb3VuZHMpIHsgICAgICBiYWNrZ3JvdW5kOiAgICAgIC1vKCRiYWNrZ3JvdW5kcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICAgICAgIHsgLXBpZS1iYWNrZ3JvdW5kOiAgICAtcGllKCRiYWNrZ3JvdW5kcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAgICAgICAgICRiYWNrZ3JvdW5kcyA7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLXdpdGgtY3NzMi1mYWxsYmFjayhcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRzaW1wbGUtYmFja2dyb3VuZDogaWYoJG11bHQtYmdzIG9yIHByZWZpeGVkKC1jc3MyLCAkYmFja2dyb3VuZHMpLCAtY3NzMigtY29tcGFzcy1udGgoJGJhY2tncm91bmRzLCBsYXN0KSksIGZhbHNlKTtcbiAgQGlmIG5vdChibGFuaygkc2ltcGxlLWJhY2tncm91bmQpKSB7IGJhY2tncm91bmQ6ICRzaW1wbGUtYmFja2dyb3VuZDsgfVxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xufVxuXG5cbi8vIEJhY2tncm91bmQgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoXG4gICRpbWFnZS0xLFxuICAkaW1hZ2UtMjogZmFsc2UsXG4gICRpbWFnZS0zOiBmYWxzZSxcbiAgJGltYWdlLTQ6IGZhbHNlLFxuICAkaW1hZ2UtNTogZmFsc2UsXG4gICRpbWFnZS02OiBmYWxzZSxcbiAgJGltYWdlLTc6IGZhbHNlLFxuICAkaW1hZ2UtODogZmFsc2UsXG4gICRpbWFnZS05OiBmYWxzZSxcbiAgJGltYWdlLTEwOiBmYWxzZVxuKSB7XG4gICRpbWFnZXM6IGNvbXBhY3QoJGltYWdlLTEsICRpbWFnZS0yLCAkaW1hZ2UtMywgJGltYWdlLTQsICRpbWFnZS01LCAkaW1hZ2UtNiwgJGltYWdlLTcsICRpbWFnZS04LCAkaW1hZ2UtOSwgJGltYWdlLTEwKTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGltYWdlcykgb3IgLWNvbXBhc3MtbGlzdC1zaXplKCRpbWFnZXMpID4gMTtcblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLXN2ZygkaW1hZ2VzKTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtb3dnKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96KCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vKCRpbWFnZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgeyBAd2FybiBcIlBJRSBkb2VzIG5vdCBzdXBwb3J0IGJhY2tncm91bmQtaW1hZ2UuIFVzZSBAaW5jbHVkZSBiYWNrZ3JvdW5kKCN7JGltYWdlc30pIGluc3RlYWQuXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAkaW1hZ2VzIDtcbn1cblxuLy8gRW1pdCBhIElFLVNwZWNpZmljIGZpbHRlcnMgdGhhdCByZW5kZXJzIGEgc2ltcGxlIGxpbmVhciBncmFkaWVudC5cbi8vIEZvciB1c2UgaW4gSUUgNiAtIDguIEJlc3QgcHJhY3RpY2Ugd291bGQgaGF2ZSB5b3UgYXBwbHkgdGhpcyB2aWEgYVxuLy8gY29uZGl0aW9uYWwgSUUgc3R5bGVzaGVldCwgYnV0IGlmIHlvdSBtdXN0LCB5b3Ugc2hvdWxkIHBsYWNlIHRoaXMgYmVmb3JlXG4vLyBhbnkgYmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0aWVzIHRoYXQgeW91IGhhdmUgc3BlY2lmaWVkLlxuLy9cbi8vIEZvciB0aGUgYCRvcmllbnRhdGlvbmAgcGFyYW1ldGVyLCB5b3UgY2FuIHBhc3MgYHZlcnRpY2FsYCBvciBgaG9yaXpvbnRhbGAuXG5AbWl4aW4gZmlsdGVyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiB2ZXJ0aWNhbCkge1xuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAkZ3JhZGllbnQtdHlwZTogaWYoJG9yaWVudGF0aW9uID09IHZlcnRpY2FsLCAwLCAxKTtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChncmFkaWVudFR5cGU9I3skZ3JhZGllbnQtdHlwZX0sIHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9Jyk7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMuXG5AbWl4aW4gYm9yZGVyLWltYWdlKCR2YWx1ZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgeyAgICAtbW96LWJvcmRlci1pbWFnZTogICAgLW1veihyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICAgIC1vd2cocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAtd2Via2l0KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgeyAgICAgIC1vLWJvcmRlci1pbWFnZTogICAgICAtbyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIHsgICAgICAgICBib3JkZXItaW1hZ2U6ICAgIC1zdmcocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZTtcbn1cblxuLy8gTGlzdCBzdHlsZSBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZS1pbWFnZSgkaW1hZ2UpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkaW1hZ2UpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJGltYWdlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICRpbWFnZSA7XG59XG5cbi8vIExpc3Qgc3R5bGUgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJHZhbHVlIDtcbn1cblxuLy8gY29udGVudCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gY29udGVudCgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgY29udGVudDogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogICAgICAgICAkdmFsdWUgO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyAgb3ZlcnJpZGUgdG8gY2hhbmdlIHRoZSBkZWZhdWx0XG4kZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0byAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBzaXplIG9mIGJhY2tncm91bmQgaW1hZ2VzIHVzaW5nIHB4LCB3aWR0aCBhbmQgaGVpZ2h0LCBvciBwZXJjZW50YWdlcy5cbi8vIEN1cnJlbnRseSBzdXBwb3J0ZWQgaW46IE9wZXJhLCBHZWNrbywgV2Via2l0LlxuLy9cbi8vICogcGVyY2VudGFnZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBiYWNrZ3JvdW5kLW9yaWdpbiAoZGVmYXVsdCA9IHBhZGRpbmctYm94KVxuLy8gKiBtaXhpbiBkZWZhdWx0cyB0bzogYCRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZWBcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplLTE6ICRkZWZhdWx0LWJhY2tncm91bmQtc2l6ZSxcbiAgJHNpemUtMjogZmFsc2UsXG4gICRzaXplLTM6IGZhbHNlLFxuICAkc2l6ZS00OiBmYWxzZSxcbiAgJHNpemUtNTogZmFsc2UsXG4gICRzaXplLTY6IGZhbHNlLFxuICAkc2l6ZS03OiBmYWxzZSxcbiAgJHNpemUtODogZmFsc2UsXG4gICRzaXplLTk6IGZhbHNlLFxuICAkc2l6ZS0xMDogZmFsc2Vcbikge1xuICAkc2l6ZS0xOiBpZih0eXBlLW9mKCRzaXplLTEpID09IHN0cmluZywgdW5xdW90ZSgkc2l6ZS0xKSwgJHNpemUtMSk7XG4gICRzaXplczogY29tcGFjdCgkc2l6ZS0xLCAkc2l6ZS0yLCAkc2l6ZS0zLCAkc2l6ZS00LCAkc2l6ZS01LCAkc2l6ZS02LCAkc2l6ZS03LCAkc2l6ZS04LCAkc2l6ZS05LCAkc2l6ZS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLXNpemUsICRzaXplcywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSk7XG59XG4iLCJAaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiY3NzMy9pbmxpbmUtYmxvY2tcIjtcbkBpbXBvcnQgXCJjc3MzL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlc1wiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1jbGlwXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLW9yaWdpblwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1zaXplXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvcmVnaW9uc1wiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvcGllXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLWludGVyZmFjZVwiO1xuQGltcG9ydCBcImNzczMvZmxleGJveFwiOyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuXG4vLyBSb3VuZCBhbGwgY29ybmVycyBieSBhIHNwZWNpZmljIGFtb3VudCwgZGVmYXVsdHMgdG8gdmFsdWUgb2YgYCRkZWZhdWx0LWJvcmRlci1yYWRpdXNgLlxuLy9cbi8vIFdoZW4gdHdvIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgZmlyc3QgaXMgdGhlIGhvcml6b250YWwgcmFkaXVzXG4vLyBhbmQgdGhlIHNlY29uZCBpcyB0aGUgdmVydGljYWwgcmFkaXVzLlxuLy9cbi8vIE5vdGU6IHdlYmtpdCBkb2VzIG5vdCBzdXBwb3J0IHNob3J0aGFuZCBzeW50YXggZm9yIHNldmVyYWwgY29ybmVycyBhdCBvbmNlLlxuLy8gU28gaW4gdGhlIGNhc2Ugd2hlcmUgeW91IHBhc3Mgc2V2ZXJhbCB2YWx1ZXMgb25seSB0aGUgZmlyc3Qgd2lsbCBiZSBwYXNzZWQgdG8gd2Via2l0LlxuLy9cbi8vIEV4YW1wbGVzOlxuLy9cbi8vICAgICAuc2ltcGxlICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCwgNHB4KTsgfVxuLy8gICAgIC5jb21wb3VuZCB7IEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4IDVweCwgM3B4IDZweCk7IH1cbi8vICAgICAuY3JhenkgICAgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDFweCAzcHggNXB4IDdweCwgMnB4IDRweCA2cHggOHB4KX1cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vL1xuLy8gICAgLnNpbXBsZSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4IDRweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAvIDRweDsgfVxuLy8gICAgXG4vLyAgICAuY29tcG91bmQge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweCAzcHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAycHggNXB4IC8gM3B4IDZweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7IH1cbi8vICAgIFxuLy8gICAgLmNyYXp5IHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHggMnB4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgLWtodG1sLWJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDtcbi8vICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDNweCA1cHggN3B4IC8gMnB4IDRweCA2cHggOHB4OyB9XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMsICR2ZXJ0aWNhbC1yYWRpdXM6IGZhbHNlKSB7XG5cbiAgQGlmICR2ZXJ0aWNhbC1yYWRpdXMge1xuICAgIC8vIFdlYmtpdCBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIG9mZmljaWFsIHNob3J0aGFuZCBzeW50YXggZm9yIHNwZWNpZnlpbmdcbiAgICAvLyBhIHZlcnRpY2FsIHJhZGl1cyB1bmxlc3Mgc28gaW4gY2FzZSB0aGVyZSdzIHNldmVyYWwgd2Ugb25seSB0YWtlIHRoZSBmaXJzdC5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgZmlyc3QtdmFsdWUtb2YoJHJhZGl1cykgZmlyc3QtdmFsdWUtb2YoJHZlcnRpY2FsLXJhZGl1cyksXG4gICAgICBub3QoLW1veiksXG4gICAgICAtd2Via2l0LFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgbm90KC1raHRtbCksXG4gICAgICBub3Qob2ZmaWNpYWwpXG4gICAgKTtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzXCIsICRyYWRpdXMgdW5xdW90ZShcIi9cIikgJHZlcnRpY2FsLXJhZGl1cyxcbiAgICAgIC1tb3osXG4gICAgICBub3QoLXdlYmtpdCksXG4gICAgICBub3QoLW8pLFxuICAgICAgbm90KC1tcyksXG4gICAgICAta2h0bWwsXG4gICAgICBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3JkZXItcmFkaXVzLCAkcmFkaXVzKTtcbiAgfVxufVxuXG4vLyBSb3VuZCByYWRpdXMgYXQgcG9zaXRpb24gYnkgYW1vdW50LlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJHZlcnRgOiBgdG9wYCwgYGJvdHRvbWBcbi8vICogbGVnYWwgdmFsdWVzIGZvciBgJGhvcnpgOiBgbGVmdGAsIGByaWdodGBcblxuQG1peGluIGJvcmRlci1jb3JuZXItcmFkaXVzKCR2ZXJ0LCAkaG9yeiwgJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICAvLyBTdXBwb3J0IGZvciBtb3ppbGxhJ3Mgc3ludGF4IGZvciBzcGVjaWZ5aW5nIGEgY29ybmVyXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImJvcmRlci1yYWRpdXMtI3skdmVydH0jeyRob3J6fVwiLCAkcmFkaXVzLFxuICAgIC1tb3osXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90KG9mZmljaWFsKVxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItI3skdmVydH0tI3skaG9yen0tcmFkaXVzXCIsICRyYWRpdXMsXG4gICAgbm90KC1tb3opLFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbiAgXG59XG5cbi8vIFJvdW5kIHRvcC1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCB0b3AtcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXModG9wLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90dG9tLWxlZnQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIGxlZnQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1yaWdodCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItY29ybmVyLXJhZGl1cyhib3R0b20sIHJpZ2h0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIHRvcCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCByaWdodCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCBib3R0b20gY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggbGVmdCBjb3JuZXJzIGJ5IGFtb3VudFxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cyk7IH1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBDU1Mgb3BhY2l0eS4gVGFrZXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxIGFzIHRoZSBhcmd1bWVudCwgZS5nLiAwLjUgZm9yIDUwJSBvcGFjaXR5LlxuLy9cbi8vICAgICBAcGFyYW0gJG9wYWNpdHlcbi8vICAgICAgICAgQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLCB3aGVyZSAwIGlzIHRyYW5zcGFyZW50IGFuZCAxIGlzIG9wYXF1ZS5cblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4IHtcbiAgICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0je3JvdW5kKCRvcGFjaXR5ICogMTAwKX0pXCIpO1xuICB9XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSB0cmFuc3BhcmVudC5cbkBtaXhpbiB0cmFuc3BhcmVudCB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgb3BhcXVlLlxuQG1peGluIG9wYXF1ZSB7IEBpbmNsdWRlIG9wYWNpdHkoMSk7IH1cbiIsIi8vIEBkb2Mgb2ZmXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGJlZm9yZSBpbXBvcnRpbmcuXG4vLyBAZG9jIG9uXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgYm94IHNoYWRvd3NcbiRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3I6ICMzMzMzMzMgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGhvcml6b250YWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyB0byB0aGUgcmlnaHQuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHZlcnRpY2FsIG9mZnNldC4gUG9zaXRpdmUgaXMgZG93bi5cbiRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYmx1ciBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LWJsdXI6IDVweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc3ByZWFkIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNoYWRvdyBpbnNldDogaW5zZXQgb3IgZmFsc2UgKGZvciBzdGFuZGFyZCBzaGFkb3cpLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMyBib3ggc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIGJveFxuLy8gc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gYm94LXNoYWRvdyBwcm9wZXJ0eS5cbkBtaXhpbiBib3gtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTEgOiAtY29tcGFzcy1zcGFjZS1saXN0KGNvbXBhY3QoaWYoJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldCwgaW5zZXQsIGZhbHNlKSwgJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCwgJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLCAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCwgJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcikpO1xuICB9XG4gICRzaGFkb3cgOiBjb21wYWN0KCRzaGFkb3ctMSwgJHNoYWRvdy0yLCAkc2hhZG93LTMsICRzaGFkb3ctNCwgJHNoYWRvdy01LCAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNoYWRvdywgJHNoYWRvdyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIGJveCBzaGFkb3cgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzLlxuLy8gSW5jbHVkZXMgZGVmYXVsdCBhcmd1bWVudHMgZm9yIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIgbGVuZ3RoLCBzcHJlYWQgbGVuZ3RoLCBjb2xvciBhbmQgaW5zZXQuXG5AbWl4aW4gc2luZ2xlLWJveC1zaGFkb3coXG4gICRob2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LFxuICAkdm9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldCxcbiAgJGJsdXIgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cixcbiAgJHNwcmVhZCA6ICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLFxuICAkY29sb3IgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcixcbiAgJGluc2V0ICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXRcbikge1xuICBAaWYgbm90ICgkaW5zZXQgPT0gdHJ1ZSBvciAkaW5zZXQgPT0gZmFsc2Ugb3IgJGluc2V0ID09IGluc2V0KSB7XG4gICAgQHdhcm4gXCIkaW5zZXQgZXhwZWN0ZWQgdG8gYmUgdHJ1ZSBvciB0aGUgaW5zZXQga2V5d29yZC4gR290ICN7JGluc2V0fSBpbnN0ZWFkLiBVc2luZzogaW5zZXRcIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgJGZ1bGwgICA6ICRob2ZmICR2b2ZmO1xuICAgIEBpZiAkYmx1ciAgIHsgJGZ1bGw6ICRmdWxsICRibHVyOyAgIH1cbiAgICBAaWYgJHNwcmVhZCB7ICRmdWxsOiAkZnVsbCAkc3ByZWFkOyB9XG4gICAgQGlmICRjb2xvciAgeyAkZnVsbDogJGZ1bGwgJGNvbG9yOyAgfVxuICAgIEBpZiAkaW5zZXQgIHsgJGZ1bGw6IGluc2V0ICRmdWxsOyAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmdWxsKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGluIHlvdXIgcHJvamVjdFxuXG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcjogICAgI2FhYSAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyOiAgICAgMXB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZDogICBmYWxzZSAgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgdGV4dCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gdGV4dC1zaGFkb3cgcHJvcGVydHkuXG4vL1xuLy8gTm90ZTogaWYgYW55IHNoYWRvdyBoYXMgYSBzcHJlYWQgcGFyYW1ldGVyLCB0aGlzIHdpbGwgY2F1c2UgdGhlIG1peGluXG4vLyB0byBlbWl0IHRoZSBzaGFkb3cgZGVjbGFyYXRpb24gdHdpY2UsIGZpcnN0IHdpdGhvdXQgdGhlIHNwcmVhZCxcbi8vIHRoZW4gd2l0aCB0aGUgc3ByZWFkIGluY2x1ZGVkLiBUaGlzIGFsbG93cyB5b3UgdG8gcHJvZ3Jlc3NpdmVseVxuLy8gZW5oYW5jZSB0aGUgYnJvd3NlcnMgdGhhdCBkbyBzdXBwb3J0IHRoZSBzcHJlYWQgcGFyYW1ldGVyLlxuQG1peGluIHRleHQtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTE6IGNvbXBhY3QoJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IpO1xuICB9XG4gICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJHNoYWRvd3M6IGpvaW4oKCksKCksY29tbWEpO1xuICAkaGFzLXNwcmVhZDogZmFsc2U7XG4gIEBlYWNoICRzaGFkb3cgaW4gY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCkge1xuICAgIEBpZiBsZW5ndGgoJHNoYWRvdykgPiA0IHtcbiAgICAgICRoYXMtc3ByZWFkOiB0cnVlO1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgbnRoKCRzaGFkb3csMSkgbnRoKCRzaGFkb3csMikgbnRoKCRzaGFkb3csMykgbnRoKCRzaGFkb3csNSkpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsICRzaGFkb3cpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIEBpZiAkaGFzLXNwcmVhZCB7XG4gICAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkO1xuICB9XG4gIHRleHQtc2hhZG93OiAkc2hhZG93cztcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgdGV4dCBzaGFkb3cuXG4vL1xuLy8gUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBjb2xvciwgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciwgYW5kIHNwcmVhZFxuLy8gYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uIGRlZmF1bHRzIGFib3ZlLlxuQG1peGluIHNpbmdsZS10ZXh0LXNoYWRvdyhcbiAgJGhvZmY6IGZhbHNlLFxuICAkdm9mZjogZmFsc2UsXG4gICRibHVyOiBmYWxzZSxcbiAgJHNwcmVhZDogZmFsc2UsXG4gICRjb2xvcjogZmFsc2Vcbikge1xuICAvLyBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhlIGNvbG9yIGNvbWVzIGZpcnN0LiBJdCBkb2Vzbid0LlxuICBAaWYgdHlwZS1vZigkaG9mZikgPT0gY29sb3Ige1xuICAgICR0ZW1wLWNvbG9yOiAkaG9mZjtcbiAgICAkaG9mZjogJHZvZmY7XG4gICAgJHZvZmY6ICRibHVyO1xuICAgICRibHVyOiAkc3ByZWFkO1xuICAgICRzcHJlYWQ6ICRjb2xvcjtcbiAgICAkY29sb3I6ICR0ZW1wLWNvbG9yO1xuICB9XG4gIC8vIENhbid0IHJlbHkgb24gZGVmYXVsdCBhc3NpZ25tZW50IHdpdGggbXVsdGlwbGUgc3VwcG9ydGVkIGFyZ3VtZW50IG9yZGVycy5cbiAgJGhvZmY6ICAgaWYoJGhvZmYsICAgJGhvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQpO1xuICAkdm9mZjogICBpZigkdm9mZiwgICAkdm9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCk7XG4gICRibHVyOiAgIGlmKCRibHVyLCAgICRibHVyLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgICAgKTtcbiAgJHNwcmVhZDogaWYoJHNwcmVhZCwgJHNwcmVhZCwgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICApO1xuICAkY29sb3I6ICBpZigkY29sb3IsICAkY29sb3IsICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvciAgICk7XG4gIC8vIFdlIGRvbid0IG5lZWQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoaXMgcHJvcGVydHkuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSBvciAkaG9mZiA9PSBub25lIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coY29tcGFjdCgkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkICRjb2xvcikpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFNwZWNpZnkgdGhlIHNob3J0aGFuZCBgY29sdW1uc2AgcHJvcGVydHkuXG4vL1xuLy8gRXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1ucygyMGVtIDIpXG5AbWl4aW4gY29sdW1ucygkd2lkdGgtYW5kLWNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW5zLCAkd2lkdGgtYW5kLWNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY29sdW1uc1xuQG1peGluIGNvbHVtbi1jb3VudCgkY291bnQpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1jb3VudCwgJGNvdW50LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBnYXAgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDIwcHhgXG5AbWl4aW4gY29sdW1uLWdhcCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1nYXAsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgY29sdW1ucyBlLmcuIGAxMDBweGBcbkBtaXhpbiBjb2x1bW4td2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4td2lkdGgsICR3aWR0aCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIHJ1bGUgYmV0d2VlbiBjb2x1bW5zIGUuZy4gYDFweGBcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCgkd2lkdGgpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHN0eWxlIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBkb3R0ZWRgLlxuLy8gVGhpcyB3b3JrcyBsaWtlIGJvcmRlci1zdHlsZS5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLXN0eWxlLCB1bnF1b3RlKCRzdHlsZSksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIGNvbG9yIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGBibHVlYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItY29sb3IuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBlbmNvbXBhc3NpbmcgYWxsIGNvbHVtbiBydWxlIHByb3BlcnRpZXNcbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICBAaW5jbHVkZSBjb2x1bW4tcnVsZSgxcHgsIHNvbGlkLCAjYzAwKVxuLy9cbi8vIE9yIHRoZSB2YWx1ZXMgY2FuIGJlIHNwYWNlIHNlcGFyYXRlZDpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4IHNvbGlkICNjMDApXG5AbWl4aW4gY29sdW1uLXJ1bGUoJHdpZHRoLCAkc3R5bGU6IGZhbHNlLCAkY29sb3I6IGZhbHNlKSB7XG4gICRmdWxsIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KCR3aWR0aCwgJHN0eWxlLCAkY29sb3IpKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1ydWxlLCAkZnVsbCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWJlZm9yZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vXG4vLyAgRXhhbXBsZTogXG4vLyAgICBoMi5iZWZvcmUge0BpbmNsdWRlIGNvbHVtbi1icmVhay1iZWZvcmUoYWx3YXlzKTt9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmJlZm9yZSB7ICAgIFxuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYmVmb3JlOiBhbHdheXM7fVxuQG1peGluIGNvbHVtbi1icmVhay1iZWZvcmUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYmVmb3JlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBNaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4tYnJlYWstYWZ0ZXJcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYWZ0ZXIge0BpbmNsdWRlIGNvbHVtbi1icmVhay1hZnRlcihhbHdheXMpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vL1xuLy8gIGgyLmFmdGVyIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7XG4vLyAgICBjb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5czsgfVxuQG1peGluIGNvbHVtbi1icmVhay1hZnRlcigkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGNvbHVtbi1icmVhay1hZnRlciwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWluc2lkZVxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuaW5zaWRlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstaW5zaWRlKCk7fVxuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuQG1peGluIGNvbHVtbi1icmVhay1pbnNpZGUoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstaW5zaWRlLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufVxuXG4vLyBBbGwtcHVycG9zZSBtaXhpbiBmb3Igc2V0dGluZyBjb2x1bW4gYnJlYWtzLlxuLy9cbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGJlZm9yZSwgYWZ0ZXIsIGluc2lkZSBcbi8vICogbGVnYWwgdmFsdWVzIGZvciAnJHZhbHVlJyBhcmUgZGVwZW5kZW50IG9uICR0eXBlXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBiZWZvcmUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBhZnRlciwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhbHdheXMsIGF2b2lkLCBsZWZ0LCByaWdodCwgcGFnZSwgY29sdW1uLCBhdm9pZC1wYWdlLCBhdm9pZC1jb2x1bW5cbi8vICAgICogd2hlbiAkdHlwZSA9IGluc2lkZSwgbGVnYWwgdmFsdWVzIGFyZSBhdXRvLCBhdm9pZCwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgXG4vLyAgRXhhbXBsZXM6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYmVmb3JlLCBhbHdheXMpO31cbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWsoYWZ0ZXIsIGFsd2F5cyk7IH1cbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGluc2lkZSk7IH1cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOiBcbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbi8vICBcbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbi8vXG4vLyAgaDIuaW5zaWRlIHtcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXV0bztcbi8vICAgIGNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87fVxuIFxuQG1peGluIGNvbHVtbi1icmVhaygkdHlwZTogYmVmb3JlLCAkdmFsdWU6IGF1dG8pe1xuICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiY29sdW1uLWJyZWFrLSN7JHR5cGV9XCIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGJveCBtb2RlbCBmb3IgTW96aWxsYSwgV2Via2l0LCBJRTggYW5kIHRoZSBmdXR1cmVcbi8vXG4vLyBAcGFyYW0gJGJzXG4vLyAgIFsgY29udGVudC1ib3ggfCBib3JkZXItYm94IF1cblxuQG1peGluIGJveC1zaXppbmcoJGJzKSB7XG4gICRiczogdW5xdW90ZSgkYnMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNpemluZywgJGJzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gZGlzcGxheTpib3g7IG11c3QgYmUgdXNlZCBmb3IgYW55IG9mIHRoZSBvdGhlciBmbGV4Ym94IG1peGlucyB0byB3b3JrIHByb3Blcmx5XG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgYm94LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgYm94IG9yaWVudGF0aW9uLCBhc3N1bWluZyB0aGF0IHRoZSB1c2VyIHdhbnRzIHNvbWV0aGluZyBsZXNzIGJsb2NrLWxpa2VcbiRkZWZhdWx0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWRlZmF1bHQ7XG5cbi8vIEJveCBvcmllbnRhdGlvbiBbIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcyB8IGluaGVyaXQgXVxuQG1peGluIGJveC1vcmllbnQoXG4gICRvcmllbnRhdGlvbjogJGRlZmF1bHQtYm94LW9yaWVudFxuKSB7XG4gICRvcmllbnRhdGlvbiA6IHVucXVvdGUoJG9yaWVudGF0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmllbnQsICRvcmllbnRhdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveC1hbGlnblxuJGRlZmF1bHQtYm94LWFsaWduOiBzdHJldGNoICFkZWZhdWx0O1xuXG4vLyBCb3ggYWxpZ24gWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaCBdXG5AbWl4aW4gYm94LWFsaWduKFxuICAkYWxpZ25tZW50OiAkZGVmYXVsdC1ib3gtYWxpZ25cbikge1xuICAkYWxpZ25tZW50IDogdW5xdW90ZSgkYWxpZ25tZW50KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1hbGlnbiwgJGFsaWdubWVudCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBmbGV4XG4kZGVmYXVsdC1ib3gtZmxleDogMCAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBib3ggZmxleC4gQXBwbHkgdGhpcyB0byB0aGUgY2hpbGRyZW4gaW5zaWRlIHRoZSBib3guXG4vL1xuLy8gRm9yIGV4YW1wbGU6IFwiZGl2LmRpc3BsYXktYm94ID4gZGl2LmNoaWxkLWJveFwiIHdvdWxkIGdldCB0aGUgYm94IGZsZXggbWl4aW4uXG5AbWl4aW4gYm94LWZsZXgoXG4gICRmbGV4OiAkZGVmYXVsdC1ib3gtZmxleFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleCwgJGZsZXgsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBmbGV4IGdyb3VwXG4kZGVmYXVsdC1ib3gtZmxleC1ncm91cDogMSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gd2hpY2ggdGFrZXMgYW4gaW50IGFyZ3VtZW50IGZvciBmbGV4aWJsZSBncm91cGluZ1xuQG1peGluIGJveC1mbGV4LWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LWJveC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1mbGV4LWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3Igb3JkaW5hbCBncm91cFxuJGRlZmF1bHQtYm94LW9yZGluYWwtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3Igb3JkaW5hbCBncm91cGluZyBhbmQgcmVhcnJhbmdpbmcgdGhlIG9yZGVyXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoXG4gICRncm91cDogJGRlZmF1bHQtb3JkaW5hbC1mbGV4LWdyb3VwXG4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1vcmRpbmFsLWdyb3VwLCAkZ3JvdXAsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gQm94IGRpcmVjdGlvbiBkZWZhdWx0IHZhbHVlXG4kZGVmYXVsdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3gtZGlyZWN0aW9uIFsgbm9ybWFsIHwgcmV2ZXJzZSB8IGluaGVyaXQgXVxuQG1peGluIGJveC1kaXJlY3Rpb24oXG4gICRkaXJlY3Rpb246ICRkZWZhdWx0LWJveC1kaXJlY3Rpb25cbikge1xuICAkZGlyZWN0aW9uOiB1bnF1b3RlKCRkaXJlY3Rpb24pO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggbGluZXNcbiRkZWZhdWx0LWJveC1saW5lczogc2luZ2xlICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IGxpbmVzIFsgc2luZ2xlIHwgbXVsdGlwbGUgXVxuQG1peGluIGJveC1saW5lcyhcbiAgJGxpbmVzOiAkZGVmYXVsdC1ib3gtbGluZXNcbikge1xuICAkbGluZXM6IHVucXVvdGUoJGxpbmVzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1saW5lcywgJGxpbmVzLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIGJveCBwYWNrXG4kZGVmYXVsdC1ib3gtcGFjazogc3RhcnQgIWRlZmF1bHQ7XG5cbi8vIG1peGluIGZvciBib3ggcGFjayBbIHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSBdXG5AbWl4aW4gYm94LXBhY2soXG4gICRwYWNrOiAkZGVmYXVsdC1ib3gtcGFja1xuKSB7XG4gICRwYWNrOiB1bnF1b3RlKCRwYWNrKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1wYWNrLCAkcGFjayxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYHBhZGRpbmctYm94YCAtLSB0aGUgYm94IG1vZGVsIHVzZWQgYnkgbW9kZXJuIGJyb3dzZXJzLlxuLy9cbi8vIElmIHlvdSB3aXNoIHRvIGRvIHNvLCB5b3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGNvbnN0YW50IHdpdGggYGJvcmRlci1ib3hgXG4vL1xuLy8gVG8gb3ZlcnJpZGUgdG8gdGhlIGRlZmF1bHQgYm9yZGVyLWJveCBtb2RlbCwgdXNlIHRoaXMgY29kZTpcbi8vICAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3hcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhZGVmYXVsdDtcblxuLy8gQ2xpcCB0aGUgYmFja2dyb3VuZCAoaW1hZ2UgYW5kIGNvbG9yKSBhdCB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZyBvciBib3JkZXIuXG4vL1xuLy8gTGVnYWwgVmFsdWVzOlxuLy9cbi8vICAgKiBwYWRkaW5nLWJveFxuLy8gICAqIGJvcmRlci1ib3hcbi8vICAgKiB0ZXh0XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWNsaXAoJGNsaXA6ICRkZWZhdWx0LWJhY2tncm91bmQtY2xpcCkge1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nXVxuICAkY2xpcDogdW5xdW90ZSgkY2xpcCk7XG4gICRkZXByZWNhdGVkOiAkY2xpcDtcbiAgQGlmICRjbGlwID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRjbGlwID09IGJvcmRlci1ib3ggeyAkZGVwcmVjYXRlZDogYm9yZGVyOyB9XG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLWNsaXAsICRkZXByZWNhdGVkLFxuICAgIC1tb3osXG4gICAgLXdlYmtpdCxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdCBvZmZpY2lhbFxuICApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkY2xpcCxcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG59XG4iLCIvLyBPdmVycmlkZSBgJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW5gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cblxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4kZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3ggIWRlZmF1bHQ7XG5cbi8vIFBvc2l0aW9uIHRoZSBiYWNrZ3JvdW5kIG9mZiB0aGUgZWRnZSBvZiB0aGUgcGFkZGluZywgYm9yZGVyIG9yIGNvbnRlbnRcbi8vXG4vLyAqIFBvc3NpYmxlIHZhbHVlczpcbi8vICAgKiBgcGFkZGluZy1ib3hgXG4vLyAgICogYGJvcmRlci1ib3hgXG4vLyAgICogYGNvbnRlbnQtYm94YFxuLy8gKiBicm93c2VyIGRlZmF1bHRzIHRvIGBwYWRkaW5nLWJveGBcbi8vICogbWl4aW4gZGVmYXVsdHMgdG8gYGNvbnRlbnQtYm94YFxuXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLW9yaWdpbikge1xuICAkb3JpZ2luOiB1bnF1b3RlKCRvcmlnaW4pO1xuICAvLyB3ZWJraXQgYW5kIG1vemlsbGEgdXNlIHRoZSBkZXByZWNhdGVkIHNob3J0IFtib3JkZXIgfCBwYWRkaW5nIHwgY29udGVudF1cbiAgJGRlcHJlY2F0ZWQ6ICRvcmlnaW47XG4gIEBpZiAkb3JpZ2luID09IHBhZGRpbmctYm94IHsgJGRlcHJlY2F0ZWQ6IHBhZGRpbmc7IH1cbiAgQGlmICRvcmlnaW4gPT0gYm9yZGVyLWJveCAgeyAkZGVwcmVjYXRlZDogYm9yZGVyOyAgfVxuICBAaWYgJG9yaWdpbiA9PSBjb250ZW50LWJveCB7ICRkZXByZWNhdGVkOiBjb250ZW50OyB9XG5cbiAgLy8gU3VwcG9ydCBmb3Igd2Via2l0IGFuZCBtb3ppbGxhJ3MgdXNlIG9mIHRoZSBkZXByZWNhdGVkIHNob3J0IGZvcm1cbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtb3JpZ2luLCAkb3JpZ2luLFxuICAgIG5vdCgtbW96KSxcbiAgICBub3QoLXdlYmtpdCksXG4gICAgLW8sXG4gICAgLW1zLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIEBmb250LWZhY2UuIFN1cHBvcnRzIElFLCBHZWNrbywgV2Via2l0LCBPcGVyYS5cbi8vXG4vLyAqICRuYW1lIGlzIHJlcXVpcmVkLCBhcmJpdHJhcnksIGFuZCB3aGF0IHlvdSB3aWxsIHVzZSBpbiBmb250IHN0YWNrcy5cbi8vICogJGZvbnQtZmlsZXMgaXMgcmVxdWlyZWQgdXNpbmcgZm9udC1maWxlcygncmVsYXRpdmUvbG9jYXRpb24nLCAnZm9ybWF0JykuXG4vLyAgIGZvciBiZXN0IHJlc3VsdHMgdXNlIHRoaXMgb3JkZXI6IHdvZmYsIG9wZW50eXBlL3RydWV0eXBlLCBzdmdcbi8vICogJGVvdCBpcyByZXF1aXJlZCBieSBJRSwgYW5kIGlzIGEgcmVsYXRpdmUgbG9jYXRpb24gb2YgdGhlIGVvdCBmaWxlLlxuLy8gKiAkd2VpZ2h0IHNob3dzIGlmIHRoZSBmb250IGlzIGJvbGQsIGRlZmF1bHRzIHRvIG5vcm1hbFxuLy8gKiAkc3R5bGUgZGVmYXVsdHMgdG8gbm9ybWFsLCBtaWdodCBiZSBhbHNvIGl0YWxpY1xuLy8gKiBGb3IgYW5kcm9pZCAyLjIgQ29tcGF0aWJsaXR5LCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciB3ZWIgcGFnZSBoYXNcbi8vICAgYSBtZXRhIHZpZXdwb3J0IHRhZy5cbi8vICogVG8gc3VwcG9ydCBpT1MgPCA0LjIsIGFuIFNWRyBmaWxlIG11c3QgYmUgcHJvdmlkZWRcbi8vXG4vLyBJZiB5b3UgbmVlZCB0byBnZW5lcmF0ZSBvdGhlciBmb3JtYXRzIGNoZWNrIG91dCB0aGUgRm9udCBTcXVpcnJlbFxuLy8gW2ZvbnQgZ2VuZXJhdG9yXShodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2UvZ2VuZXJhdG9yKVxuLy9cblxuLy8gSW4gb3JkZXIgdG8gcmVmZXIgdG8gYSBzcGVjaWZpYyBzdHlsZSBvZiB0aGUgZm9udCBpbiB5b3VyIHN0eWxlc2hlZXRzIGFzIFxuLy8gZS5nLiBcImZvbnQtc3R5bGU6IGl0YWxpYztcIiwgIHlvdSBtYXkgYWRkIGEgY291cGxlIG9mIEBmb250LWZhY2UgaW5jbHVkZXNcbi8vIGNvbnRhaW5pbmcgdGhlIHJlc3BlY3RpdmUgZm9udCBmaWxlcyBmb3IgZWFjaCBzdHlsZSBhbmQgc3BlY3lpbmdcbi8vIHJlc3BlY3RpdmUgdGhlICRzdHlsZSBwYXJhbWV0ZXIuXG5cbi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJG5hbWUsIFxuICAkZm9udC1maWxlcywgXG4gICRlb3Q6IGZhbHNlLFxuICAkd2VpZ2h0OiBmYWxzZSxcbiAgJHN0eWxlOiBmYWxzZVxuKSB7XG4gICRpZWZvbnQ6IHVucXVvdGUoXCIjeyRlb3R9PyNpZWZpeFwiKTtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBAaWYgJGVvdCB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCRlb3QpO1xuICAgICAgJGZvbnQtZmlsZXM6IGZvbnQtdXJsKCRpZWZvbnQpIHVucXVvdGUoXCJmb3JtYXQoJ2VvdCcpXCIpLCAkZm9udC1maWxlczsgXG4gICAgfVxuICAgIHNyYzogJGZvbnQtZmlsZXM7XG4gICAgQGlmICR3ZWlnaHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgfVxuICAgIEBpZiAkc3R5bGUge1xuICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBAZG9jIG9mZlxuLy8gTm90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYWZhcmksIENocm9tZSwgYW5kIEZpcmVmb3ggYWxsIHN1cHBvcnQgM0QgdHJhbnNmb3Jtcy4gSG93ZXZlcixcbi8vIG9ubHkgaW4gdGhlIG1vc3QgcmVjZW50IGJ1aWxkcy4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgZmFsbGJhY2sgMmQgc3VwcG9ydCBmb3Jcbi8vIE9wZXJhIGFuZCBJRS4gSUUxMCBpcyBzbGF0ZWQgdG8gaGF2ZSAzZCBlbmFibGVkLCBidXQgaXMgY3VycmVudGx5IHVucmVsZWFzZWQuXG4vLyBUbyBtYWtlIHRoYXQgZWFzeSwgYWxsIDJEIHRyYW5zZm9ybXMgaW5jbHVkZSBhbiBicm93c2VyLXRhcmdldGluZyB0b2dnbGUgKCRvbmx5M2QpXG4vLyB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgdHdvIHN1cHBvcnQgbGlzdHMuIFRoZSB0b2dnbGUgZGVmYXVsdHMgdG8gJ2ZhbHNlJyAoMkQpLFxuLy8gYW5kIGFsc28gYWNjZXB0cyAndHJ1ZScgKDNEKS4gQ3VycmVudGx5IHRoZSBsaXN0cyBhcmUgYXMgZm9sbG93czpcbi8vIDJEOiBNb3ppbGxhLCBXZWJraXQsIE9wZXJhLCBPZmZpY2lhbFxuLy8gM0Q6IFdlYmtpdCwgRmlyZWZveC5cblxuLy8gQXZhaWxhYmxlIFRyYW5zZm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFNjYWxlICgyZCBhbmQgM2QpXG4vLyAtIFJvdGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBUcmFuc2xhdGUgKDJkIGFuZCAzZClcbi8vIC0gU2tldyAoMmQgb25seSlcblxuLy8gVHJhbnNmb3JtIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFRyYW5zZm9ybSBPcmlnaW4gKDJkIGFuZCAzZClcbi8vIC0gUGVyc3BlY3RpdmUgKDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSBPcmlnaW4gKDNkKVxuLy8gLSBUcmFuc2Zvcm0gU3R5bGUgKDNkKVxuLy8gLSBCYWNrZmFjZSBWaXNpYmlsaXR5ICgzZClcblxuLy8gTWl4aW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0cmFuc2Zvcm0tb3JpZ2luXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0tb3JpZ2luMmQsIHRyYW5zZm9ybS1vcmlnaW4zZFxuLy8gIC0gaGVscGVyczogICAgYXBwbHktb3JpZ2luXG4vLyB0cmFuc2Zvcm1cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybTJkLCB0cmFuc2Zvcm0zZFxuLy8gIC0gaGVscGVyczogICAgc2ltcGxlLXRyYW5zZm9ybSwgY3JlYXRlLXRyYW5zZm9ybVxuLy8gcGVyc3BlY3RpdmVcbi8vICAtIGhlbHBlcnM6ICAgIHBlcnNwZWN0aXZlLW9yaWdpblxuLy8gdHJhbnNmb3JtLXN0eWxlXG4vLyBiYWNrZmFjZS12aXNpYmlsaXR5XG4vLyBzY2FsZVxuLy8gIC0gc2hvcnRjdXRzOiAgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgc2NhbGUzZFxuLy8gcm90YXRlXG4vLyAgLSBzaG9ydGN1dHM6ICByb3RhdGVYLCByb3RhdGVZLCByb3RhdGUzZFxuLy8gdHJhbnNsYXRlXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVaLCB0cmFuc2xhdGUzZFxuLy8gc2tld1xuLy8gIC0gc2hvcnRjdXRzOiAgc2tld1gsIHNrZXdZXG5cbi8vIERlZmF1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBUaGUgZGVmYXVsdCB4LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXggICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXkgICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXogICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS14ICAgICA6IDEuMjUgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteSAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXogICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IGFuZ2xlIGZvciByb3RhdGlvbnNcbiRkZWZhdWx0LXJvdGF0ZSAgICAgIDogNDVkZWcgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci14ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXkgICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteiAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteCA6IDFlbSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS15IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXogOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy14ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXkgICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyAqKlRyYW5zZm9ybS1vcmlnaW4qKlxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nXG4vL1xuLy8gICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbiggb3JpZ2luIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ29yaWdpbicgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBjb250YWluaW5nIDEtMyAoeC95L3opIGNvb3JkaW5hdGVzXG4vLyBpbiBwZXJjZW50YWdlcywgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSBvciByZWxhdGl2ZVxuLy8gKGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSwgY2VudGVyKSB1bml0c1xuLy9cbi8vIEBwYXJhbSBvbmx5M2QgU2V0IHRoaXMgdG8gdHJ1ZSB0byBvbmx5IGFwcGx5IHRoaXNcbi8vIG1peGluIHdoZXJlIGJyb3dzZXJzIGhhdmUgM0Qgc3VwcG9ydC5cbkBtaXhpbiBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCkge1xuICAkb25seTNkOiAkb25seTNkIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgtY29tcGFzcy1saXN0KCRvcmlnaW4pKSA+IDI7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgaW5kaXZpZHVhbCBhcmd1bWVudHM6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oIFsgb3JpZ2luLXgsIG9yaWdpbi15LCBvcmlnaW4teiwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgMyAnb3JpZ2luLScgYXJndW1lbnRzIHJlcHJlc2VudCB4L3kveiBjb29yZGluYXRlcy5cbi8vXG4vLyAqKk5PVEU6Kiogc2V0dGluZyB6IGNvb3JkaW5hdGVzIHRyaWdnZXJzIDNEIHN1cHBvcnQgbGlzdCwgbGVhdmUgZmFsc2UgZm9yIDJEIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKFxuICAkb3JpZ2luLXg6ICRkZWZhdWx0LW9yaWdpbi14LFxuICAkb3JpZ2luLXk6ICRkZWZhdWx0LW9yaWdpbi15LFxuICAkb3JpZ2luLXo6IGZhbHNlLFxuICAkb25seTNkOiAgIGlmKCRvcmlnaW4teiwgdHJ1ZSwgZmFsc2UpXG4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgnJyk7XG4gIEBpZiAkb3JpZ2luLXggb3IgJG9yaWdpbi15IG9yICRvcmlnaW4teiB7XG4gICAgQGlmICRvcmlnaW4teCB7ICRvcmlnaW46ICRvcmlnaW4teDsgfSBAZWxzZSB7ICRvcmlnaW46IDUwJTsgfVxuICAgIEBpZiAkb3JpZ2luLXkgeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4teTsgfSBAZWxzZSB7IEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luIDUwJTsgfX1cbiAgICBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXo7IH1cbiAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCk7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm0gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZzpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2Zvcm1zIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ3RyYW5zZm9ybXMnIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIHRoZSB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQuXG5AbWl4aW4gdHJhbnNmb3JtKFxuICAkdHJhbnNmb3JtLFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IGFsbCBicm93c2VycyB3aXRoIDJEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtMmQoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIGZhbHNlKTtcbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IG9ubHkgYnJvd3NlcnMgd2l0aCAzRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTNkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCB0cnVlKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIDNEIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTZXQgdGhlIHBlcnNwZWN0aXZlIG9mIDNEIHRyYW5zZm9ybXMgb24gdGhlIGNoaWxkcmVuIG9mIGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSggcGVyc3BlY3RpdmUgKVxuLy9cbi8vIHdoZXJlICdwZXJzcGVjdGl2ZScgaXMgYSB1bml0bGVzcyBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXB0aCBvZiB0aGVcbi8vIHotYXhpcy4gVGhlIGhpZ2hlciB0aGUgcGVyc3BlY3RpdmUsIHRoZSBtb3JlIGV4YWdnZXJhdGVkIHRoZSBmb3Jlc2hvcnRlbmluZy5cbi8vIHZhbHVlcyBmcm9tIDUwMCB0byAxMDAwIGFyZSBtb3JlLW9yLWxlc3MgXCJub3JtYWxcIiAtIGEgZ29vZCBzdGFydGluZy1wb2ludC5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUsICRwLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTZXQgdGhlIG9yaWdpbiBwb3NpdGlvbiBmb3IgdGhlIHBlcnNwZWN0aXZlXG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZS1vcmlnaW4ob3JpZ2luLXggW29yaWdpbi15XSlcbi8vXG4vLyB3aGVyZSB0aGUgdHdvIGFyZ3VtZW50cyByZXByZXNlbnQgeC95IGNvb3JkaW5hdGVzXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRvcmlnaW46IDUwJSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUtb3JpZ2luLCAkb3JpZ2luLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgd2hldGhlciBhIDNEIG9iamVjdHMgY2hpbGRyZW4gYWxzbyBsaXZlIGluIHRoZSBnaXZlbiAzRCBzcGFjZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCBbIHN0eWxlIF0gKVxuLy9cbi8vIHdoZXJlIGBzdHlsZWAgY2FuIGJlIGVpdGhlciBgZmxhdGAgb3IgYHByZXNlcnZlLTNkYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gYGZsYXRgLCBtaXhpbiBkZWZhdWx0cyB0byBgcHJlc2VydmUtM2RgLlxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGFuIGVsZW1lbnQgd2hlbiBpdCdzIGJhY2sgaXMgdHVybmVkXG4vL1xuLy8gICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoIFsgdmlzaWJpbGl0eSBdIClcbi8vXG4vLyB3aGVyZSBgdmlzaWJpbGl0eWAgY2FuIGJlIGVpdGhlciBgdmlzaWJsZWAgb3IgYGhpZGRlbmAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIHZpc2libGUsIG1peGluIGRlZmF1bHRzIHRvIGhpZGRlblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6IGhpZGRlbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2Zvcm0gUGFydGlhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXNlIHdvcmsgd2VsbCBvbiB0aGVpciBvd24sIGJ1dCB0aGV5IGRvbid0IGFkZCB0byBlYWNoIG90aGVyLCB0aGV5IG92ZXJyaWRlLlxuLy8gVXNlIGFsb25nIHdpdGggdHJhbnNmb3JtIHBhcmFtZXRlciBtaXhpbnMgdG8gYWRqdXN0IG9yaWdpbiwgcGVyc3BlY3RpdmUgYW5kIHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBTY2FsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGFuZCB5IGF4aXM6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBzY2FsZSggWyBzY2FsZS14LCBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NjYWxlLScgYXJndW1lbnRzIGFyZSB1bml0bGVzcyBtdWx0aXBsaWVycyBvZiB0aGUgeCBhbmQgeSBkaW1lbnNpb25zXG4vLyBhbmQgcGVyc3BlY3RpdmUsIHdoaWNoIHdvcmtzIHRoZSBzYW1lIGFzIHRoZSBzdGFuZC1hbG9uZSBwZXJzcGVjdGl2ZSBwcm9wZXJ0eS9taXhpblxuLy8gYnV0IGFwcGxpZXMgdG8gdGhlIGluZGl2aWR1YWwgZWxlbWVudCAobXVsdGlwbGllZCB3aXRoIGFueSBwYXJlbnQgcGVyc3BlY3RpdmUpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJHNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVYKCBbIHNjYWxlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVgoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVYKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVZKCBbIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVkoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVZKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVaKCBbIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVooXG4gICRzY2FsZTogJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVaKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFNjYWxlIGFuZCBvYmplY3QgYWxvbmcgYWxsIHRocmVlIGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlM2QoIFsgc2NhbGUteCwgc2NhbGUteSwgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlM2QoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkc2NhbGUtejogICAgICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBSb3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHogYXhpcyAgKDJEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlICdyb3RhdGlvbicgaXMgYW4gYW5nbGUgc2V0IGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZShcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIEEgbG9uZ2N1dCBmb3IgJ3JvdGF0ZScgaW4gY2FzZSB5b3UgZm9yZ2V0IHRoYXQgJ3onIGlzIGltcGxpZWRcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWihcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICBAaW5jbHVkZSByb3RhdGUoJHJvdGF0ZSwgJHBlcnNwZWN0aXZlLCAkb25seTNkKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHggYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGVYKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWChcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVYKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVkoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgYW4gYXJiaXRyYXJ5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHZlY3Rvci14LCB2ZWN0b3IteSwgdmVjdG9yLXosIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vIHdoZXJlIHRoZSAndmVjdG9yLScgYXJndW1lbnRzIGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLlxuLy8gVGhlc2UgbnVtYmVycyBhcmUgbm90IGltcG9ydGFudCBvbiB0aGVpciBvd24sIGJ1dCBpbiByZWxhdGlvbiB0byBvbmUgYW5vdGhlclxuLy8gY3JlYXRpbmcgYW4gYXhpcyBmcm9tIHlvdXIgdHJhbnNmb3JtLW9yaWdpbiwgYWxvbmcgdGhlIGF4aXMgb2YgWHggPSBZeSA9IFp6LlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUzZChcbiAgJHZlY3Rvci14OiAkZGVmYXVsdC12ZWN0b3IteCxcbiAgJHZlY3Rvci15OiAkZGVmYXVsdC12ZWN0b3IteSxcbiAgJHZlY3Rvci16OiAkZGVmYXVsdC12ZWN0b3IteixcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUzZCgkdmVjdG9yLXgsICR2ZWN0b3IteSwgJHZlY3Rvci16LCAkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBvciB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSB0aGUgJ3RyYW5zbGF0ZS0nIGFyZ3VtZW50cyBhY2NlcHQgYW55IGRpc3RhbmNlIGluIHBlcmNlbnRhZ2VzIG9yIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZShcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWChcbiAgJHRyYW5zLXg6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWCgkdHJhbnMteCk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVkoXG4gICR0cmFucy15OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVkoJHRyYW5zLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVaKFxuICAkdHJhbnMtejogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVaKCR0cmFucy16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHgsIHkgYW5kIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZTNkKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkdHJhbnNsYXRlLXo6ICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUzZCgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSwgJHRyYW5zbGF0ZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFNrZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTa2V3IGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdza2V3LScgYXJndW1lbnRzIGFjY2VwdCBjc3MgYW5nbGVzIGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3KFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXcoJHNrZXcteCwgJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHggYXhpelxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1goXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdYKCRza2V3LXgpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB5IGF4aXNcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdZKFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WSgkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cblxuLy8gRnVsbCB0cmFuc2Zvcm0gbWl4aW5zXG4vLyBGb3Igc2V0dGluZ3MgYW55IGNvbWJpbmF0aW9uIG9mIHRyYW5zZm9ybXMgYXMgYXJndW1lbnRzXG4vLyBUaGVzZSBhcmUgY29tcGxleCBhbmQgbm90IGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgZGFpbHkgdXNlLiBUaGV5IGFyZSBtYWlubHlcbi8vIGhlcmUgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4vL1xuLy8gKiB0aGV5IGluY2x1ZGUgb3JpZ2luIGFkanVzdG1lbnRzXG4vLyAqIHNjYWxlIHRha2VzIGEgbXVsdGlwbGllciAodW5pdGxlc3MpLCByb3RhdGUgYW5kIHNrZXcgdGFrZSBkZWdyZWVzIChkZWcpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRzY2FsZS14OiAgICAgZmFsc2UsXG4gICRzY2FsZS15OiAgICAgZmFsc2UsXG4gICRzY2FsZS16OiAgICAgZmFsc2UsXG4gICRyb3RhdGUteDogICAgZmFsc2UsXG4gICRyb3RhdGUteTogICAgZmFsc2UsXG4gICRyb3RhdGUtejogICAgZmFsc2UsXG4gICRyb3RhdGUzZDogICAgZmFsc2UsXG4gICR0cmFucy14OiAgICAgZmFsc2UsXG4gICR0cmFucy15OiAgICAgZmFsc2UsXG4gICR0cmFucy16OiAgICAgZmFsc2UsXG4gICRza2V3LXg6ICAgICAgZmFsc2UsXG4gICRza2V3LXk6ICAgICAgZmFsc2UsXG4gICRvcmlnaW4teDogICAgZmFsc2UsXG4gICRvcmlnaW4teTogICAgZmFsc2UsXG4gICRvcmlnaW4tejogICAgZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gcGVyc3BlY3RpdmVcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSA7IH1cblxuICAvLyBzY2FsZVxuICBAaWYgJHNjYWxlLXggYW5kICRzY2FsZS15IHtcbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc2NhbGUteCB7ICR0cmFuczogJHRyYW5zIHNjYWxlWCgkc2NhbGUteCk7IH1cbiAgICBAaWYgJHNjYWxlLXkgeyAkdHJhbnM6ICR0cmFucyBzY2FsZVkoJHNjYWxlLXkpOyB9XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVaKCRzY2FsZS16KTsgfVxuICB9XG5cbiAgLy8gcm90YXRlXG4gIEBpZiAkcm90YXRlLXggeyAkdHJhbnM6ICR0cmFucyByb3RhdGVYKCRyb3RhdGUteCk7IH1cbiAgQGlmICRyb3RhdGUteSB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVkoJHJvdGF0ZS15KTsgfVxuICBAaWYgJHJvdGF0ZS16IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWigkcm90YXRlLXopOyB9XG4gIEBpZiAkcm90YXRlM2QgeyAkdHJhbnM6ICR0cmFucyByb3RhdGUzZCgkcm90YXRlM2QpOyB9XG5cbiAgLy8gdHJhbnNsYXRlXG4gIEBpZiAkdHJhbnMteCBhbmQgJHRyYW5zLXkge1xuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZTNkKCR0cmFucy14LCAkdHJhbnMteSwgJHRyYW5zLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUoJHRyYW5zLXgsICR0cmFucy15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHRyYW5zLXggeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVYKCR0cmFucy14KTsgfVxuICAgIEBpZiAkdHJhbnMteSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVkoJHRyYW5zLXkpOyB9XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWigkdHJhbnMteik7IH1cbiAgfVxuXG4gIC8vIHNrZXdcbiAgQGlmICRza2V3LXggYW5kICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3KCRza2V3LXgsICRza2V3LXkpOyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHNrZXcteCB7ICR0cmFuczogJHRyYW5zIHNrZXdYKCRza2V3LXgpOyB9XG4gICAgQGlmICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3WSgkc2tldy15KTsgfVxuICB9XG5cbiAgLy8gYXBwbHkgaXQhXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpO1xufVxuXG5cbi8vIEEgc2ltcGxpZmllZCBzZXQgb2Ygb3B0aW9uc1xuLy8gYmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgJ3RyYW5zZm9ybScgbWl4aW5cbkBtaXhpbiBzaW1wbGUtdHJhbnNmb3JtKFxuICAkc2NhbGU6ICAgIGZhbHNlLFxuICAkcm90YXRlOiAgIGZhbHNlLFxuICAkdHJhbnMteDogIGZhbHNlLFxuICAkdHJhbnMteTogIGZhbHNlLFxuICAkc2tldy14OiAgIGZhbHNlLFxuICAkc2tldy15OiAgIGZhbHNlLFxuICAkb3JpZ2luLXg6IGZhbHNlLFxuICAkb3JpZ2luLXk6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgY3JlYXRlLXRyYW5zZm9ybShcbiAgICBmYWxzZSxcbiAgICAkc2NhbGUsICRzY2FsZSwgZmFsc2UsXG4gICAgZmFsc2UsIGZhbHNlLCAkcm90YXRlLCBmYWxzZSxcbiAgICAkdHJhbnMteCwgJHRyYW5zLXksIGZhbHNlLFxuICAgICRza2V3LXgsICRza2V3LXksXG4gICAgJG9yaWdpbi14LCAkb3JpZ2luLXksIGZhbHNlLFxuICAgIGZhbHNlXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBUcmFuc2l0aW9uc1xuLy8gQ3VycmVudGx5IG9ubHkgd29ya3MgaW4gV2Via2l0LlxuLy9cbi8vICogZXhwZWN0ZWQgaW4gQ1NTMywgRmlyZUZveCAzLjYvNyBhbmQgT3BlcmEgUHJlc3RvIDIuM1xuLy8gKiBXZSdsbCBiZSBwcmVwYXJlZC5cbi8vXG4vLyBJbmNsdWRpbmcgdGhpcyBzdWJtb2R1bGUgc2V0cyBmb2xsb3dpbmcgZGVmYXVsdHMgZm9yIHRoZSBtaXhpbnM6XG4vL1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBhbGxcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogMXNcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uIDogZmFsc2Vcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5ICAgIDogZmFsc2Vcbi8vXG4vLyBPdmVycmlkZSB0aGVtIGlmIHlvdSBsaWtlLiBUaW1pbmctZnVuY3Rpb24gYW5kIGRlbGF5IGFyZSBzZXQgdG8gZmFsc2UgZm9yIGJyb3dzZXIgZGVmYXVsdHMgKGVhc2UsIDBzKS5cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IGZhbHNlICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzOiB0cmFuc2Zvcm0sIHRyYW5zZm9ybS1vcmlnaW4gIWRlZmF1bHQ7XG5cbi8vIE9uZSBvciBtb3JlIHByb3BlcnRpZXMgdG8gdHJhbnNpdGlvblxuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBhbHNvIGFjY2VwdHMgXCJhbGxcIiBvciBcIm5vbmVcIlxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJHByb3BlcnR5LTIgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTMgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTQgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTUgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTYgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTcgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTggOiBmYWxzZSxcbiAgJHByb3BlcnR5LTkgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcgeyAkcHJvcGVydHktMTogdW5xdW90ZSgkcHJvcGVydHktMSk7IH1cbiAgJHByb3BlcnRpZXM6IGNvbXBhY3QoJHByb3BlcnR5LTEsICRwcm9wZXJ0eS0yLCAkcHJvcGVydHktMywgJHByb3BlcnR5LTQsICRwcm9wZXJ0eS01LCAkcHJvcGVydHktNiwgJHByb3BlcnR5LTcsICRwcm9wZXJ0eS04LCAkcHJvcGVydHktOSwgJHByb3BlcnR5LTEwKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1tb3osICAgICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgICAgICAkcHJvcGVydGllcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5IDogJHByb3BlcnRpZXM7XG59XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZHVyYXRpb24tMiA6IGZhbHNlLFxuICAkZHVyYXRpb24tMyA6IGZhbHNlLFxuICAkZHVyYXRpb24tNCA6IGZhbHNlLFxuICAkZHVyYXRpb24tNSA6IGZhbHNlLFxuICAkZHVyYXRpb24tNiA6IGZhbHNlLFxuICAkZHVyYXRpb24tNyA6IGZhbHNlLFxuICAkZHVyYXRpb24tOCA6IGZhbHNlLFxuICAkZHVyYXRpb24tOSA6IGZhbHNlLFxuICAkZHVyYXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGR1cmF0aW9uLTEpID09IHN0cmluZyB7ICRkdXJhdGlvbi0xOiB1bnF1b3RlKCRkdXJhdGlvbi0xKTsgfVxuICAkZHVyYXRpb25zOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRpbWluZyBmdW5jdGlvbnNcbi8vXG4vLyAqIFsgZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKHgxLCB5MSwgeDIsIHkyKV1cbi8vICogRm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRmdW5jdGlvbi0yIDogZmFsc2UsXG4gICRmdW5jdGlvbi0zIDogZmFsc2UsXG4gICRmdW5jdGlvbi00IDogZmFsc2UsXG4gICRmdW5jdGlvbi01IDogZmFsc2UsXG4gICRmdW5jdGlvbi02IDogZmFsc2UsXG4gICRmdW5jdGlvbi03IDogZmFsc2UsXG4gICRmdW5jdGlvbi04IDogZmFsc2UsXG4gICRmdW5jdGlvbi05IDogZmFsc2UsXG4gICRmdW5jdGlvbi0xMDogZmFsc2Vcbikge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksXG4gICRkZWxheS0yIDogZmFsc2UsXG4gICRkZWxheS0zIDogZmFsc2UsXG4gICRkZWxheS00IDogZmFsc2UsXG4gICRkZWxheS01IDogZmFsc2UsXG4gICRkZWxheS02IDogZmFsc2UsXG4gICRkZWxheS03IDogZmFsc2UsXG4gICRkZWxheS04IDogZmFsc2UsXG4gICRkZWxheS05IDogZmFsc2UsXG4gICRkZWxheS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZGVsYXktMSkgPT0gc3RyaW5nIHsgJGRlbGF5LTE6IHVucXVvdGUoJGRlbGF5LTEpOyB9XG4gICRkZWxheXM6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZGVsYXksICRkZWxheXMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gVHJhbnNpdGlvbiBhbGwtaW4tb25lIHNob3J0aGFuZFxuXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oXG4gICRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheVxuKSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29tcGFjdCgkcHJvcGVydHkgJGR1cmF0aW9uICRmdW5jdGlvbiAkZGVsYXkpKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oXG4gICR0cmFuc2l0aW9uLTEgOiBkZWZhdWx0LFxuICAkdHJhbnNpdGlvbi0yIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTMgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi01IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTYgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi04IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTkgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMSA6IGNvbXBhY3QoJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSk7XG4gIH1cbiAgJHRyYW5zaXRpb25zOiBmYWxzZTtcbiAgQGlmIHR5cGUtb2YoJHRyYW5zaXRpb24tMSkgPT0gbGlzdCBhbmQgdHlwZS1vZihudGgoJHRyYW5zaXRpb24tMSwxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2l0aW9ucyA6IGNvbXBhY3QoJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApO1xuICB9XG4gICRkZWxheXM6IGNvbW1hLWxpc3QoKTtcbiAgJGhhcy1kZWxheXM6IGZhbHNlO1xuICAkd2Via2l0LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRtb3otdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG8tdmFsdWU6IGNvbW1hLWxpc3QoKTtcblxuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEgeyAkZHVyYXRpb246ICAgICAgICBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHsgJHRpbWluZy1mdW5jdGlvbjogbnRoKCR0cmFuc2l0aW9uLCAzKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMyB7ICRkZWxheTogICAgICAgICAgIG50aCgkdHJhbnNpdGlvbiwgNCk7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90KCRkZWxheSkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uKS4uLikpO1xuICAgICAgICRtb3otdmFsdWU6IGFwcGVuZCggICAkbW96LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgICAgICAgICRvLXZhbHVlOiBhcHBlbmQoICAgICAkby12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgICAtbywgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgdXNlIFNhc3MncyBAZXh0ZW5kIGRpcmVjdGl2ZSB0byBhcHBseSB0aGUgYmVoYXZpb3Jcbi8vIHRvIHlvdXIgUElFIGVsZW1lbnRzLiBUbyBhc3Npc3QgeW91LCBDb21wYXNzIHByb3ZpZGVzIHRoaXMgdmFyaWFibGUuXG4vLyBXaGVuIHNldCwgaXQgd2lsbCBjYXVzZSB0aGUgYEBpbmNsdWRlIHBpZWAgbWl4aW4gdG8gZXh0ZW5kIHRoaXMgY2xhc3MuXG4vLyBUaGUgY2xhc3MgbmFtZSB5b3UgcHJvdmlkZSBzaG91bGQgKipub3QqKiBpbmNsdWRlIHRoZSBgLmAuXG4kcGllLWJhc2UtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBhcHByb2FjaCB0byB1c2luZyBQSUUuXG4vLyBDYW4gYmUgb25lIG9mOlxuLy9cbi8vICogcmVsYXRpdmUgKGRlZmF1bHQpXG4vLyAqIHotaW5kZXhcbi8vICogbm9uZVxuJHBpZS1kZWZhdWx0LWFwcHJvYWNoOiByZWxhdGl2ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGxvY2F0aW9uIG9mIHlvdXIgUElFIGJlaGF2aW9yIGZpbGVcbi8vIFRoaXMgc2hvdWxkIGJlIHJvb3QtcmVsYXRpdmUgdG8geW91ciB3ZWIgc2VydmVyXG4vLyByZWxhdGl2ZSBhc3NldHMgZG9uJ3Qgd29yay4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdFxuLy8geW91IHNldCB0aGlzIHlvdXJzZWxmLlxuJHBpZS1iZWhhdmlvcjogc3R5bGVzaGVldC11cmwoXCJQSUUuaHRjXCIpICFkZWZhdWx0O1xuXG4vLyBXaGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGVcbi8vIGZpcnN0IGFuY2VzdG9yIG9mIHRoZSBQSUUgZWxlbWVudCBhdFxuLy8gb3IgYmVmb3JlIHRoZSBjb250YWluZXIncyBvcGFxdWUgYmFja2dyb3VuZFxuLy8gc2hvdWxkIGhhdmUgYSB6LWluZGV4IHNldCBhcyB3ZWxsIHRvIGVuc3VyZVxuLy8gcHJvcGVydCB6LWluZGV4IHN0YWNraW5nLlxuLy9cbi8vIFRoZSBgJHBvc2l0aW9uYCBhcmd1bWVudCBtdXN0IGJlIHNvbWUgbm9uLXN0YXRpY1xuLy8gdmFsdWUgKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjLilcbkBtaXhpbiBwaWUtY29udGFpbmVyKCR6LWluZGV4OiAwLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xufVxuXG4vLyBQSUUgZWxlbWVudHMgbXVzdCBoYXZlIHRoaXMgYmVoYXZpb3IgYXR0YWNoZWQgdG8gdGhlbS5cbi8vIElFIGlzIGJyb2tlbiAtLSBpdCBkb2Vzbid0IHRoaW5rIG9mIGJlaGF2aW9yIHVybHMgYXNcbi8vIHJlbGF0aXZlIHRvIHRoZSBzdHlsZXNoZWV0LiBJdCBjb25zaWRlcnMgdGhlbSByZWxhdGl2ZVxuLy8gdG8gdGhlIHdlYnBhZ2UuIEFzIGEgcmVzdWx0LCB5b3UgY2Fubm90IHJlbGlhYmx5IHVzZVxuLy8gY29tcGFzcydzIHJlbGF0aXZlX2Fzc2V0cyB3aXRoIFBJRS5cbi8vXG4vLyAqIGAkYXBwcm9hY2hgIC0gb25lIG9mOiByZWxhdGl2ZSwgei1pbmRleCwgb3Igbm9uZVxuLy8gKiBgJHotaW5kZXhgIC0gd2hlbiB1c2luZyB0aGUgei1pbmRleCBhcHByb2FjaCwgdGhpc1xuLy8gICAgICAgICAgICAgICAgaXMgdGhlIHotaW5kZXggdGhhdCBpcyBhcHBsaWVkLlxuQG1peGluIHBpZS1lbGVtZW50KFxuICAkYXBwcm9hY2g6ICRwaWUtZGVmYXVsdC1hcHByb2FjaCxcbiAgJHotaW5kZXg6IDBcbikge1xuICBiZWhhdmlvcjogJHBpZS1iZWhhdmlvcjtcbiAgQGlmICRhcHByb2FjaCA9PSByZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBlbHNlIGlmICRhcHByb2FjaCA9PSB6LWluZGV4IHtcbiAgICB6LWluZGV4OiAkei1pbmRleDtcbiAgfVxufVxuXG4vLyBhIHNtYXJ0IG1peGluIHRoYXQga25vd3MgdG8gZXh0ZW5kIG9yIGluY2x1ZGUgcGllLWVsZW1lbnQgYWNjb3JkaW5nXG4vLyB0byB5b3VyIHN0eWxlc2hlZXQncyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy5cbkBtaXhpbiBwaWUoJGJhc2UtY2xhc3M6ICRwaWUtYmFzZS1jbGFzcykge1xuICBAaWYgJGJhc2UtY2xhc3Mge1xuICAgIEBleHRlbmQgLiN7JGJhc2UtY2xhc3N9O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBwaWUtZWxlbWVudDtcbiAgfVxufVxuXG4vLyBXYXRjaCBgJG5gIGxldmVscyBvZiBhbmNlc3RvcnMgZm9yIGNoYW5nZXMgdG8gdGhlaXIgY2xhc3MgYXR0cmlidXRlXG4vLyBTbyB0aGF0IGNhc2NhZGluZyBzdHlsZXMgd2lsbCB3b3JrIGNvcnJlY3RseSBvbiB0aGUgUElFIGVsZW1lbnQuXG5AbWl4aW4gcGllLXdhdGNoLWFuY2VzdG9ycygkbikge1xuICAtcGllLXdhdGNoLWFuY2VzdG9yczogJG47XG59XG4iLCIvLyBVc2VyIEludGVyZmFjZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjYW4gYmUgZXhwYW5kZWQgdG8gaGFuZGxlIGFsbCB0aGUgdXNlciBpbnRlcmZhY2UgcHJvcGVydGllcyBhc1xuLy8gdGhleSBiZWNvbWUgYXZhaWxhYmxlIGluIGJyb3dzZXJzOlxuLy8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMC9XRC1jc3MzLXVzZXJpbnQtMjAwMDAyMTZcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGlzIHByb3BlcnR5IGNvbnRyb2xzIHRoZSBzZWxlY3Rpb24gbW9kZWwgYW5kIGdyYW51bGFyaXR5IG9mIGFuIGVsZW1lbnQuXG4vL1xuLy8gQHBhcmFtICRzZWxlY3Rcbi8vICAgWyBub25lIHwgdGV4dCB8IHRvZ2dsZSB8IGVsZW1lbnQgfCBlbGVtZW50cyB8IGFsbCB8IGluaGVyaXQgXVxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgJHNlbGVjdDogdW5xdW90ZSgkc2VsZWN0KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHVzZXItc2VsZWN0LCAkc2VsZWN0LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgLWtodG1sLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTdHlsZSB0aGUgaHRtbDUgaW5wdXQgcGxhY2Vob2xkZXIgaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IGl0LlxuLy9cbi8vIFRoZSBzdHlsZXMgZm9yIHRoZSBpbnB1dCBwbGFjZWhvbGRlciBhcmUgcGFzc2VkIGFzIG1peGluIGNvbnRlbnRcbi8vIGFuZCB0aGUgc2VsZWN0b3IgY29tZXMgZnJvbSB0aGUgbWl4aW4ncyBjb250ZXh0LlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICAje2VsZW1lbnRzLW9mLXR5cGUodGV4dC1pbnB1dCl9IHtcbi8vICAgICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbi8vICAgICAgICAgY29sb3I6ICNiZmJmYmY7XG4vLyAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgICAgIH1cbi8vICAgICB9XG4vL1xuLy8gaWYgeW91IHdhbnQgdG8gYXBwbHkgdGhlIHBsYWNlaG9sZGVyIHN0eWxlcyB0byBhbGwgZWxlbWVudHMgc3VwcG9ydGluZ1xuLy8gdGhlIGBpbnB1dC1wbGFjZWhvbGRlcmAgcHNldWRvIGNsYXNzIChiZXdhcmUgb2YgcGVyZm9ybWFuY2UgaW1wYWN0cyk6XG4vL1xuLy8gICAgICoge1xuLy8gICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogI2JmYmZiZjtcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhpcyBpcyB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIHRoZSBvdGhlciBtaXhpbnMgaW4gdGhpcyBtb2R1bGUuXG4vLyBJdCBpcyB0aGUgb25seSB3YXkgdG8gYWNjZXNzIHByZWZpeCBzdXBwb3J0IGZvciBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgc3BlYy5cbi8vIERldmlhdGVzIGZyb20gY2Fub25pY2FsIENvbXBhc3MgaW1wbGVtZW50YXRpb24gYnkgZHJvcHBpbmcgc3VwcG9ydCBmb3Jcbi8vIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBGbGV4Ym94IHNwZWMuXG4vL1xuLy8gYCRwcm9wZXJ0aWVzYDogbWFwIG9mIHByb3BlcnR5LXZhbHVlIHBhaXJzIHRoYXQgc2hvdWxkIGJlIHByZWZpeGVkXG5AbWl4aW4gZmxleGJveCgkcHJvcGVydGllcykge1xuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJHByb3AgPT0gZGlzcGxheSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoJHByb3AsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBWYWx1ZXMgZm9yICRkaXNwbGF5IGFyZTogZmxleCAoZGVmYXVsdCksIGlubGluZS1mbGV4XG5AbWl4aW4gZGlzcGxheS1mbGV4KCRkaXNwbGF5OiBmbGV4KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGRpc3BsYXk6ICRkaXNwbGF5KSk7XG59XG5cbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb24pKTtcbn1cblxuLy8gVmFsdWVzOiBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXG5AbWl4aW4gZmxleC13cmFwKCR3cmFwKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtd3JhcDogJHdyYXApKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWRpcmVjdGlvbiBhbmQgZmxleC13cmFwLlxuQG1peGluIGZsZXgtZmxvdygkZmxvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWZsb3c6ICRmbG93KSk7XG59XG5cbi8vIEFjY2VwdHMgYW4gaW50ZWdlclxuQG1peGluIG9yZGVyKCRvcmRlcikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChvcmRlcjogJG9yZGVyKSk7XG59XG5cbi8vIFNob3J0aGFuZCBmb3IgZmxleC1ncm93LCBmbGV4LXNocmluayBhbmQgb3B0aW9uYWxseSBmbGV4LWJhc2lzLlxuLy8gU3BhY2Ugc2VwYXJhdGVkLCBpbiB0aGF0IG9yZGVyLlxuQG1peGluIGZsZXgoJGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleDogJGZsZXgpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LWdyb3coJGZsZXgtZ3Jvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWdyb3c6ICRmbGV4LWdyb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LXNocmluaygkZmxleC1zaHJpbmspIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1zaHJpbms6ICRmbGV4LXNocmluaykpO1xufVxuXG4vLyBBY2NlcHRzIGFueSBsZWdhbCB2YWx1ZSBmb3IgdGhlIHdpZHRoIHByb3BlcnR5LlxuQG1peGluIGZsZXgtYmFzaXMoJGZsZXgtYmFzaXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1iYXNpczogJGZsZXgtYmFzaXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCRqdXN0aWZ5LWNvbnRlbnQpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoanVzdGlmeS1jb250ZW50OiAkanVzdGlmeS1jb250ZW50KSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduLWl0ZW1zKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24tc2VsZikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1zZWxmOiAkYWxpZ24tc2VsZikpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ24tY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1jb250ZW50OiAkYWxpZ24tY29udGVudCkpO1xufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gIEBpZiBsZW5ndGgoJG1hcCkgPiAwIHtcbiAgICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAgICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICAgIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgKiAuMDAxO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuXG4vLyBSZXR1cm4gdmFsaWQgY2FsY1xuQGZ1bmN0aW9uIGFkZCgkdmFsdWUxLCAkdmFsdWUyLCAkcmV0dXJuLWNhbGM6IHRydWUpIHtcbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUyO1xuICB9XG5cbiAgQGlmICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiAkdmFsdWUxO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMSkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCR2YWx1ZTIpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdmFsdWUxLCAkdmFsdWUyKSB7XG4gICAgQHJldHVybiAkdmFsdWUxICsgJHZhbHVlMjtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSArICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiArIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gc3VidHJhY3QoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwgYW5kICR2YWx1ZTIgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgQGlmICR2YWx1ZTEgPT0gbnVsbCB7XG4gICAgQHJldHVybiAtJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSAtICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUyKSAhPSBudW1iZXIge1xuICAgICR2YWx1ZTI6IHVucXVvdGUoXCIoXCIpICsgJHZhbHVlMiArIHVucXVvdGUoXCIpXCIpO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBMZSBwcmVtacOocmUgaW1wb3J0IGNvbnRpZW50IGxlcyB2YXJpYWJsZXMgYm9vdHN0cmFwLlxuLy8gTGUgZGV1eGnDqG1lIGltcG9ydCBjb250aWVudCBub3MgdmFyaWFibGVzLlxuXG4vLyBDb25maWd1cmF0aW9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L29wdGlvbnNcIjtcbkBpbXBvcnQgXCJvcHRpb25zXCI7XG5cbi8vIENvbG9yIHN5c3RlbVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jb2xvci1zeXN0ZW1cIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gU3BhY2luZ1xuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9zcGFjaW5nXCI7XG5cbi8vIEdyaWQgY29udGFpbmVycyAvLyBHcmlkIGNvbHVtbnNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvZ3JpZFwiO1xuXG4vLyBDb21wb25lbnRzIChyYWRpdXMgLyBsaW5lLWhlaWdodCAvIGJvcmR1cmVzKVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwic2l6ZXNcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG4vLyBUYWJsZXNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvdGFibGVzXCI7XG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9idXR0b25zLWZvcm1zXCI7XG5cbi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvYnV0dG9uc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcblxuLy8gRm9ybXMgLy8gRm9ybSB2YWxpZGF0aW9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Zvcm1zXCI7XG5cbi8vIE5hdnMgLy8gTmF2YmFyXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L25hdi1uYXZiYXJcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcblxuLy8gRHJvcGRvd25zIChtZW51LWTDqXJvdWxhbnQpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Ryb3Bkb3duc1wiO1xuXG4vLyBQYWdpbmF0aW9uIChwb3VyIGfDqXJlciBwbHVzaWV1cnMgcGFnZXMgZGFucyB1bmUgbcOqbWUgcnVicmlxdWUpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L3BhZ2luYXRpb25cIjtcblxuLy8gSnVtYm90cm9uXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImp1bWJvdHJvbi1hbmRyb21lZGVcIjsgLy8gQWN0aXbDqSBwYXIgZMOpZmF1dCBkYW5zIHN0eWxlLnNjc3Ncbi8vQGltcG9ydCBcImp1bWJvdHJvbi1ib2RlXCI7XG5cbi8vIENhcmRzXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2NhcmRzXCI7XG5cbi8vIFRvYXN0cyAobWVzc2FnZSBzJ2FmZmljaGFudCBsb3JzIGQndW5lIG1vZGlmaWNhdGlvbilcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvdG9hc3RzXCI7XG5cbi8vIEJyZWFkY3J1bWJzIChmaWwgZCdhcmlhbmUpXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2JyZWFkY3J1bWJzXCI7XG5cbi8vIENhcm91c2VsXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2Nhcm91c2VsXCI7XG5cbi8vLy8gVmFyaWFibGVzIG5vbiBpbXBvcnTDqWVzXG4vLy8vIFRvb2x0aXBzIC0gUG9wb3ZlcnMgLSBCYWRnZXMgLSBNb2RhbHMgLSBBbGVydHMgLSBQcm9ncmVzcyBiYXJzIC0gTGlzdCBncm91cCAtIEltYWdlIHRodW1ibmFpbHMgLSBGaWd1cmVzIC0gU3Bpbm5lcnMgLSBDbG9zZSAtIENvZGUgLSBVdGlsaXRpZXMgLSBQcmludGluZ1xuIiwiLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cbi8vIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMC9nZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy8jc2Fzcy1vcHRpb25zXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2U7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsiLCIvLyBDYXJkc1xuJGN3LWNhcmRzOiBcImFuZHJvbWVkZVwiOyAvL2FuZHJvbWVkZSwgYm9kZVxuXG4vLyBCb3V0b25zXG4kYnRuLWJnLXRyYW5zaXRpb246IDA7IC8vIDAgPSBmb25kdSwgMSA9IGTDqWdyYWTDqSwgMiA9IGTDqWdyYWTDqSwgMyA9IHNsaWRlLCA0ID0gc2xpZGUsIDUgPSBvbWJyZVxuJGJ0bi1zaGFkb3c6IGZhbHNlO1xuXG4vLyBUaXRyZSBzb3VsaWduYWdlXG4vLyBNZXR0cmUgaFNwYW4gw6AgdHJ1ZSBkYW5zIGN1c3RvbS5qcyBhZmluIGRlIG5lIHBhcyB1dGlsaXNlciBkZXMgcmVzc291cmNlcyBzaSBub24gdXRpbGlzw6kuXG4kdGl0bGUtZGVjb3JhdGlvbjogXCJwaWN0dXJlX2JvdHRvbVwiOyAvLyBmYWxzZSwgbGluZV90b3AsIGxpbmVfYm90dG9tLCBsaW5lX3RvcC1ib3R0b20sIGxpbmVfYmcsIHBpY3R1cmVfYm90dG9tLCBncmFkaWVudF9hYm92ZVxuXG4vLyBNb3RpZiBzdXIganVtYm90cm9uIGV0IHBhcmFsbGF4IC8vIDAgPSBkaWFnb25hbGUsIDEgPSBwb2ludCwgMiA9IHF1YWRyaWxsYWdlLCAzID0gcXVhZHJpbGxhZ2VcbiRvdmVybGF5LWp1bWJvdHJvbjogZmFsc2U7XG4kb3ZlcmxheS1jYWxsLXRvLWFjdGlvbjogZmFsc2U7XG4kb3ZlcmxheS1wYXJhbGxheDogZmFsc2U7XG4kb3ZlcmxheS1mb3JjZXM6IGZhbHNlO1xuJG92ZXJsYXktcmVmZXJlbmNlczogZmFsc2U7XG4kb3ZlcmxheS1tb3RpZi1qdW1ib3Ryb246IDE7XG4kb3ZlcmxheS1tb3RpZi1jYWxsLXRvLWFjdGlvbjogMTtcbiRvdmVybGF5LW1vdGlmLXBhcmFsbGF4OiAxO1xuJG92ZXJsYXktbW90aWYtZm9yY2VzOiAxO1xuJG92ZXJsYXktbW90aWYtcmVmZXJlbmNlczogMTtcblxuLy8gQWN0dWFsaXTDqVxuJGN3LWNhcmRzLWltZy1zaGFkb3c6IHRydWU7XG5cbi8vIERhbWllciAvIGNhcmRzXG4kZGFtaWVyLWNhcmRzLXNoYWRvdzogdHJ1ZTtcbiRkYW1pZXItY29sLXJlc3NlcnJlcjogdHJ1ZTtcbiRkYW1pZXItaW1nLWNlbnRlci1iZzogZmFsc2U7XG4kZGFtaWVyLWdyYWRpZW50OiBmYWxzZTtcbiRkYW1pZXItaDItYWxpZ24teHM6IGxlZnQ7XG4kZGFtaWVyLXR4dC1hbGlnbi14czogbGVmdDtcbiRkYW1pZXItYnRuLWFsaWduLXhzOiBsZWZ0O1xuJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc6IGNlbnRlcjtcbiRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctb25lLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by10eHQtYWxpZ24tbGc6ICRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZztcbiRkYW1pZXItYmctdHdvLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy10d28taDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnOiBjZW50ZXI7XG4kZGFtaWVyLWJnLXRocmVlLXR4dC1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctdGhyZWUtYnRuLWFsaWduLWxnOiBjZW50ZXI7XG5cbi8vIENhcmRzXG4kY3ctY2FyZC1kYXRlLWljb246IGZhbHNlOyAvL3V0aWxpc8OpIGRhbnMgYWN0dWFsaXTDqVxuXG4vLyBTaGFyZS10aGlzXG4kYWRkdG9hbnktYmFja2dyb3VuZCA6IFwiY2lyY2xlXCI7IC8vY2lyY2xlLCBjaXJjbGUtdGhpbiwgbm9uZVxuXG4vLyBQYXJhbGxheFxuJHBhcmFsbGF4LWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcblxuLy8gRm9ybVxuJGZvcm0tYW5pbS1saW5lOiBib3R0b207Ly8gZmFsc2UsIGJvdHRvbSwgYWxsLCBib3JkZXIsIGJvcmRlci1ib3R0b21cblxuLy8gTWFwXG4kY29uZmlndXJhdGlvbi1tYXA6IFwibWFwLWZ1bGxcIjsgLy9tYXAtZnVsbCwgbWFwLXN1cGVycG9zaXRpb24sIG1hcC1jZW50ZXIsIG1hcC1kb3VibGUoYWpvdXRlciB1biBkZXV4acOobWUgbGllbiwgbWFwLXdpdGgtY29udGVudClcbiRtYXAtaW50ZXJ2ZW50aW9uLWZhLWNvbnRlbnQ6IFwiXFxmM2M1XCI7IC8vIGYzYzUgKG1hcmtlciBjbGFzc2ljKSAtIGYwNWIgKGNyb3NzaGFpcnMpIC0gZjVhMCAobWFwKSAtIGYwNDEgKG1hcmtlciBmdWxsKSAtIGYyNzYgKHBpbilcblxuLy8gU2hhcGUtZGl2aWRlciAoc8OpcGFyYXRpb25zIGF2ZWMgZGVzIGZvcm1lcyBlbiBzdmcpXG4vL1xuLy8gQXR0ZW50aW9uIHNpIGlsIHkgYSBkZXMgZmlsdHJlcyBzdXIgbGVzIGltYWdlcyAoaGVhZGVyL3BhcmFsbGF4KSBpbHMgZmF1dCBsZXMgaW50w6lncmVyIGF1eCBsJ2ltYWdlcyBldCBkw6lzYWN0aXZlciBsZXMgb3B0aW9ucyBhZmluIGRlIHBvdXZvaXIgdXRpbGlzZXIgbGVzIGFmdGVyIGV0IGJlZm9yZSBzYW5zIGNvbmZsaXRzLlxuJHNoYXBlLWRpdmlkZXItc2VsZWN0aW9uOiAxOy8vMT1XYXZlcywgMj1XYXZlcyBPcGFjaXR5LCAzPUN1cnZlLCA0PVRyaWFuZ2xlLCA1PVRyaWFuZ2xlIEFzeW1tZXRyaWNhbCwgNj1BcnJvdywgNz1UaWx0L0RpYWdvbmFsLCA4PUJvb2tcbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b206IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItanVtYm90cm9uLWJvdHRvbS1ub3QtZnJvbnQ6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItYWN0dWFsaXRlLWJvdHRvbTogZmFsc2U7XG4kc2hhcGUtZGl2aWRlci1wYXJhbGxheC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tOiBmYWxzZTtcbiRzaGFwZS1kaXZpZGVyLW1hcC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItbWFwLWJvdHRvbTogZmFsc2U7XG4iLCIvLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjlmOWY5ICFkZWZhdWx0O1xuJGdyYXktMTUwOiAjZjNmM2YzICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllOWU5ICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVkZWRlICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VjZWNlICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRhZGFkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjODE4MTgxICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk0OTQ5ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzNDM0ICFkZWZhdWx0O1xuJGdyYXktODUwOiAjMzczNzM3ICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMTgxODE4ICFkZWZhdWx0O1xuJGJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZ3JheXNcbik7XG5cbiRibHVlOiAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICMxN2EyYjggIWRlZmF1bHQ7XG5cblxuJHByaW1hcnk6ICNlYWI3YWIgIWRlZmF1bHQ7XG4kcHJpbWFyeS1kYXJrOiBkYXJrZW4oJHByaW1hcnksIDEwJSk7XG4kcHJpbWFyeS1saWdodDogbGlnaHRlbigkcHJpbWFyeSwgMTAlKTtcbiRzZWNvbmRhcnk6ICM5YzdhNmMgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWRhcms6IGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xuJHNlY29uZGFyeS1saWdodDogbGlnaHRlbigkc2Vjb25kYXJ5LCAxMCUpO1xuJHRlcnRpYXJ5OiAjNTQ1MzUzICFkZWZhdWx0O1xuJHRlcnRpYXJ5LWRhcms6IGRhcmtlbigkdGVydGlhcnksIDMwJSk7XG4kdGVydGlhcnktbGlnaHQ6IGxpZ2h0ZW4oJHRlcnRpYXJ5LCAyMCUpO1xuXG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogJGdyYXktODUwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByaW1hcnlcIjogJHByaW1hcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbmZvXCI6ICRpbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYW5nZXJcIjogJGRhbmdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibGlnaHRcIjogJGxpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXJrXCI6ICRkYXJrXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6IDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6IDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgICAgICAgICAgICAgICAoXCI8XCIsIFwiJTNjXCIpLFxuICAgICAgICAgICAgICAgIChcIj5cIiwgXCIlM2VcIiksXG4gICAgICAgICAgICAgICAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgICAgICAgICAgICAgICAoXCIoXCIsIFwiJTI4XCIpLFxuICAgICAgICAgICAgICAgIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuIiwiLy8gQk9EWVxuJGJvZHktYmc6ICNmYmY3ZjEgIWRlZmF1bHQ7XG5cbi8vIEJBQ0tHUk9VTkRcbiRiZy1vbmU6ICR3aGl0ZTtcbiRiZy10d286ICNmYmY3ZjE7XG4kYmctdGhyZWU6ICR0ZXJ0aWFyeTtcbiRiZy1ncmF5OiAkYmctdHdvOyAvLyBhY3R1ICsgY3ctaWJveCArICRjdy1jYXJkLWRhdGUtYmdcbiRiZy1kYXJrOiAkZGFyaztcblxuLy8gR0xPQkFMIFRFWFRFU1xuJGgxLWNvbG9yOiAjNTY0YzNjO1xuJGgyLWNvbG9yOiAkaDEtY29sb3I7XG4kYm9keS1jb2xvcjogJHRlcnRpYXJ5ICFkZWZhdWx0O1xuXG4vLyBMSUVOU1xuJGxpbmstY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFVMIC0gTElcbiRsaS1zdHlsZS1jb2xvcjogJHByaW1hcnk7XG4kbGktc3R5bGUtZmEtaWNvbjogJ1xcZjE5Mic7IC8vIGY1ZDIoYXRvbSkgZjE5Mihkb3QtYykgZjJmZShwb28pIGYwNTUocGx1cykgZjA4ZChwdW5haXNlKSBmMDJiKHRhZykgZjViYyhzcGxvdGNoKSBmMGEzKGNlcnRpZilcbiRsaS1zdHlsZS1mYS13ZWlnaHQ6IDkwMDtcbiRsaS1zdHlsZS1mYS1zaXplOiAwLjhyZW07XG5cbi8vIExJTkVcbiRsaW5lLXRpdGxlLWNvbG9yOiAkcHJpbWFyeTtcbiRsaW5lLWZvcm0tY29sb3I6IGRhcmtlbigkYmctZ3JheSwgOSUpOyAvL0Zvcm11bGFpcmVzXG4kbGluZS1mb3JtLWNvbG9yLW9wYWNpdHk6IDE7XG4kbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3Q6ICRsaW5lLWZvcm0tY29sb3I7XG4kbGluZS1mb3JtLWNvbG9yLWJsb2NrLWZsb2F0OiAkbGluZS1mb3JtLWNvbG9yO1xuXG4vLyBKVU1CT1RST04gPiBwYXJhbcOpdHJhZ2VzIGRhbnMgZmV1aWxsZSBkZSBzdHlsZSBqdW1ib3Ryb24uc2NzcyBldCBkYW5zIGp1bWJvdHJvbiB1dGlsaXPDqSAoZXhlbXBsZToganVtYm90cm9uLWFuZHJvbWVkZS5zY3NzKVxuXG4vLyBDQVJEU1xuJGN3LWNhcmQtYmc6ICR3aGl0ZTsgLy91dGlsaXPDqSBwYXIgbCdhY3R1YWxpdMOpXG4kY3ctY2FyZC1kYXRlLWNvbG9yOiAkcHJpbWFyeTtcbiRjdy1jYXJkLWRhdGUtYmc6ICRiZy1ncmF5O1xuXG4vLyBCbG9jIEFDVFVBTElUw4lTXG4kYmxvYy1hY3R1LXRpdGxlOiAkaDEtY29sb3I7XG4kYmxvYy1hY3R1LWNvbG9yOiAkYm9keS1jb2xvcjtcbiRibG9jLWFjdHUtbGluazogJGxpbmstY29sb3I7XG4kYmxvYy1hY3R1LWJnOiAkYmctb25lO1xuJGJsb2MtYWN0dS1iZy1lbmQ6ICRiZy10d287XG4kYmxvYy1hY3R1LWdyYWRpZW50OiBmYWxzZTtcbiRibG9jLWFjdHUtZ3JhZGllbnQtc3RhcnQ6IDEwJTtcbiRibG9jLWFjdHUtZ3JhZGllbnQtZW5kOiA4MCU7XG4kYmxvYy1hY3R1LWdyYWRpZW50LWRlZzogOTBkZWc7XG5cbi8vIERBTUlFUlxuJGRhbWllci1oMi1vbmUtY29sb3I6ICRoMi1jb2xvcjtcbiRkYW1pZXItaDItdW5kZXJsaW5lLW9uZS1jb2xvcjogJGgyLWNvbG9yO1xuJGRhbWllci10eHQtb25lLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRkYW1pZXItbGluay1vbmUtY29sb3I6ICRib2R5LWNvbG9yO1xuJGRhbWllci1saW5rLW9uZS1jb2xvci1ob3ZlcjogJHNlY29uZGFyeS1kYXJrO1xuJGRhbWllci1iZy1vbmU6ICR3aGl0ZTtcbiRkYW1pZXItYmctb25lLWVuZDogcmdiYShkYXJrZW4oJGRhbWllci1iZy1vbmUsIDIlKSwgMSk7XG4kZGFtaWVyLWJnLW9uZS1ncmFkaWVudDogJGVuYWJsZS1ncmFkaWVudHM7XG4kZGFtaWVyLWJnLW9uZS1ncmFkaWVudC1zdGFydDogMTAlO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtZW5kOiA4MCU7XG4kZGFtaWVyLWJnLW9uZS1ncmFkaWVudC1kZWc6IDIyZGVnO1xuXG4kZGFtaWVyLWgyLXR3by1jb2xvcjogJGgyLWNvbG9yO1xuJGRhbWllci1oMi11bmRlcmxpbmUtdHdvLWNvbG9yOiAkbGluZS10aXRsZS1jb2xvcjtcbiRkYW1pZXItdHh0LXR3by1jb2xvcjogJGJvZHktY29sb3I7XG4kZGFtaWVyLWxpbmstdHdvLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRkYW1pZXItbGluay10d28tY29sb3ItaG92ZXI6ICRwcmltYXJ5LWRhcms7XG4kZGFtaWVyLWJnLXR3bzogJHdoaXRlO1xuJGRhbWllci1iZy10d28tZW5kOiBkYXJrZW4oJHByaW1hcnksIDEwJSk7XG4kZGFtaWVyLWJnLXR3by1ncmFkaWVudDogJGVuYWJsZS1ncmFkaWVudHM7XG4kZGFtaWVyLWJnLXR3by1ncmFkaWVudC1zdGFydDogMCU7XG4kZGFtaWVyLWJnLXR3by1ncmFkaWVudC1lbmQ6IDUwJTtcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50LWRlZzogMTI2ZGVnO1xuXG4vLyBCT1VUT05TID4gcGFyYW3DqXRyYWdlIGRhbnMgYnV0dG9ucy5zY3NzXG5cbi8vIFLDqWdpb24gQ0FMTCBUTyBBQ1RJT05cbiRyZWdpb24tZmVhdHVyZWQtZmlyc3QtYmc6ICRiZy10d287XG4vLyBCbG9jIENBTEwgVE8gQUNUSU9OXG4kY2FsbC1hY3Rpb25zLXRpdGxlOiAkaDEtY29sb3I7XG4kY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I6ICRib2R5LWNvbG9yO1xuJGNhbGwtYWN0aW9ucy1iZzogJHdoaXRlOy8vZm9uY3Rpb24gcGFzIMOgIGfDqXJlclxuLy8gQmxvYyBBRERUT0FOWVxuJGFkZHRvYW55LXRpdGxlOiAkc2Vjb25kYXJ5O1xuJGFkZHRvYW55LWJnOiAkc2Vjb25kYXJ5O1xuJGFkZHRvYW55LWJvcmRlcjogJHdoaXRlOyAvL3NpICRhZGR0b2FueS1iYWNrZ3JvdW5kID0gY2lyY2xlLXRoaW47XG4kYWRkdG9hbnktY29sb3I6ICRhZGR0b2FueS1ib3JkZXI7XG5cbi8vIEJsb2MgRk9SQ0VTXG4kZm9yY2VzLXRpdGxlOiAkaDEtY29sb3I7XG4kZm9yY2VzLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRmb3JjZXMtYmc6ICRiZy1ncmF5O1xuJGZvcmNlcy1iZy1lbmQ6IHJnYmEoZGFya2VuKCRmb3JjZXMtYmcsIDIlKSwgMSk7XG4kZm9yY2VzLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRmb3JjZXMtZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGZvcmNlcy1ncmFkaWVudC1lbmQ6IDcwJTtcbiRmb3JjZXMtZ3JhZGllbnQtZGVnOiAyMDBkZWc7XG5cbi8vIEJsb2MgUEFSQUxMQVhcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWNvbG9yOiAkd2hpdGU7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWNvbG9yOiAkd2hpdGU7XG5cbi8vIEJsb2MgUsOJRsOJUkVOQ0VTXG4kcmVmZXJlbmNlcy10aXRsZTogJGgxLWNvbG9yO1xuJHJlZmVyZW5jZXMtY29sb3I6ICRib2R5LWNvbG9yO1xuJHJlZmVyZW5jZXMtYmc6ICRiZy1ncmF5O1xuJHJlZmVyZW5jZXMtYmctZW5kOiByZ2JhKGRhcmtlbigkcmVmZXJlbmNlcy1iZywgMiUpLCAxKTtcbiRyZWZlcmVuY2VzLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRyZWZlcmVuY2VzLWdyYWRpZW50LXN0YXJ0OiAxMCU7XG4kcmVmZXJlbmNlcy1ncmFkaWVudC1lbmQ6IDgwJTtcbiRyZWZlcmVuY2VzLWdyYWRpZW50LWRlZzogMjJkZWc7XG5cbi8vIEZPT1RFUlxuJHJlZ2lvbi1mb290ZXItc2Vjb25kLWJnOiAkYm9keS1iZztcbiRibG9jLWZ0LWNvb3Jkb25uZWVzLWJnOiB0cmFuc3BhcmVudDtcbiRibG9jLXdmLWNvbnRhY3QtYmc6IHRyYW5zcGFyZW50O1xuJGZvb3Rlci1jb2xvcjogIzVmNWY1ZjtcbiRmb290ZXItZGVub21pbmF0aW9uLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci1zbG9nYW4tY29sb3I6ICRzZWNvbmRhcnk7XG4kZm9vdGVyLWFkcmVzc2UtY29sb3I6ICRmb290ZXItY29sb3I7XG4kZm9vdGVyLXRlbC1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbiRmb290ZXItdGVsLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcjtcbiRmb290ZXItaG9yYWlyZS1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbi8vIFNvY2lhbCBuZXR3b3JrXG4kYmxvYy1yZXNlYXV4LWJnOiAkcHJpbWFyeTtcbiRibG9jLXJlc2VhdXgtY29sb3I6ICR3aGl0ZTtcbiRibG9jLXJlc2VhdXgtYmctaG92ZXI6ICRzZWNvbmRhcnk7XG4kYmxvYy1yZXNlYXV4LWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4vLyBGb3JtXG4kZm9ybS1ibG9jLWgyLWNvbG9yOiAkaDItY29sb3I7XG4kZm9ybS1ibG9jLWgyLXVuZGVybGluZS1jb2xvcjogJGxpbmUtdGl0bGUtY29sb3I7XG4vLyRmb3JtLXRleHQtY29sb3I6ICRib2R5LWNvbG9yO1xuLy8kZm9ybS1sYWJlbC1jb2xvcjogJGdyYXktODAwO1xuJGZvcm0tYmxvYy1yZ3BkOiBkYXJrZW4oJGZvcm0tYmxvYy1oMi1jb2xvciwgMzUlKTtcbiRmb3JtLWJsb2MtcmdwZC1saW5rOiBkYXJrZW4oJGZvcm0tYmxvYy1oMi1jb2xvciwgMTAlKTtcbiRmb3JtLWJsb2MtcmdwZC1saW5rLWhvdmVyOiAkZm9ybS1ibG9jLWgyLWNvbG9yO1xuXG4vLyBNQVBcbiRyZWdpb24tZm9vdGVyLXRoaXJkLWJnOiAkYm9keS1iZztcbiRtYXAtaW50ZXJ2ZW50aW9uLWZhOiAkcHJpbWFyeTtcbiRtYXAtaW50ZXJ2ZW50aW9uLXRpdGxlOiAkaDEtY29sb3I7XG4kbWFwLWludGVydmVudGlvbi1jb250ZW50OiAkYm9keS1jb2xvcjtcblxuLy8gQk9UVE9NXG4kYm90dG9tLWNvbG9yOiAkd2hpdGU7XG4kYm90dG9tLWJnOiAkc2Vjb25kYXJ5O1xuJGJvdHRvbS1iZy1lbmQ6IHJnYmEoZGFya2VuKCRib3R0b20tYmcsIDclKSwgMSk7XG4kYm90dG9tLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRib3R0b20tZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGJvdHRvbS1ncmFkaWVudC1lbmQ6IDY1JTtcbiRib3R0b20tZ3JhZGllbnQtZGVnOiAxNTVkZWc7XG4iLCIvLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMC42cmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAzOiAkc3BhY2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgNDogMXJlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDU6ICgkc3BhY2VyICogNCksXG4gICAgICAgICAgICAgICAgICAgICAgICA2OiAoJHNwYWNlciAqIDYpLFxuICAgICAgICAgICAgICAgICAgICAgICAgNzogKCRzcGFjZXIgKiAxMiksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkc3BhY2Vyc1xuKTtcblxuJHNwYWNlcnMtMjogKCkgIWRlZmF1bHQ7XG4kc3BhY2Vycy0yOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMDogMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMTA6IDEwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAxNTogMTVweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDIwOiAyMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMzA6IDMwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA0MDogNDBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDUwOiA1MHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgNjA6IDYwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA3MDogNzBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDgwOiA4MHB4LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHNwYWNlcnMtMlxuKTtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7IiwiLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgICAgICB4czogMCxcbiAgICAgICAgc206IDU3NnB4LFxuICAgICAgICBtZDogNzY4cHgsXG4gICAgICAgIGxnOiA5OTJweCxcbiAgICAgICAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgICAgICBzbTogNTQwcHgsXG4gICAgICAgIG1kOiA3MjBweCxcbiAgICAgICAgbGc6IDk2MHB4LFxuICAgICAgICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuIiwiLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKGRhcmtlbigkYm9keS1iZywgNSUpLCAxKSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgMC4yNXJlbSAhZGVmYXVsdDsgLy8gMHJlbSAtIDAuMjVyZW0gLSAxcmVtIC0gMnJlbVxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgKiAuMyAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICogLjUgIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4wOCkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDAuOHJlbSAxLjRyZW0gcmdiYSgkYmxhY2ssIC4wOCkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuLy8gZmzDqGNoZSBkZXMgZHJvcGRvd25zXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogVmFyaWFibGVzIENXICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIFJhZGl1c1xuJHJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4kcmFkaXVzLWJ0bjogNTBweDtcbi8vJHJhZGl1cy1uYXZiYXI6IDBweDtcbiRuYXZiYXItZHJvcG1lbnUtcmFkaXVzOiAwIDAgJHJhZGl1cyAkcmFkaXVzO1xuJHJhZGl1cy1mbG90dGFudDogJHJhZGl1cztcbiRyYWRpdXMtZGFtaWVyLWNhcmRzOiAkcmFkaXVzO1xuJGN3LWNhcmQtYm9yZGVyLXJhZGl1czogMnJlbSAwIDJyZW0gMDtcbiRibG9jLXJlc2VhdXgtcmFkaXVzOiAkcmFkaXVzLWJ0bjtcbi8vJHJhZGl1cy1mb3JtOiAkcmFkaXVzOyIsIi8vIFBhZGRpbmcgLSBNYXJnaW4gKGVzcGFjZSBlbnRyZSBsZXMgXCJibG9jc1wiIGV0IGVudHJlIGxlcyBcImJsb2NzIGRlIHRleHRlc1wiIHN1ciB0b3V0IGxlIHByb2pldClcbiRiZXR3ZWVuLXpvbmVzOiAzcmVtO1xuJGJldHdlZW4tem9uZXMtbGc6IDRyZW07XG5cbi8vIEhhdXRldXJzIGJsb2NrXG4kZGFtaWVyLW1pbi1oZWlnaHQ6IDUwMHB4O1xuJHBhcmFsbGF4LW1pbi1oZWlnaHQ6IDg1dmg7XG5cbi8vIFLDqXNlYXV4XG4kYmxvYy1yZXNlYXV4LXdpZHRoLWhlaWdodDogNTBweDtcbi8vJGZvcm0taW5wdXQtaGVpZ2h0OiA0N3B4O1xuXG4vLyBDb250YWluZXJcbiRjdy1jb250YWluZXIgOiAxMTQwcHg7XG4iLCIvLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAxcmVtO1xuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICogMi4yICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICogMS43ICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDEuMTUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkaC1mb250LXNpemUgKiAxLjEgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkaC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgIWRlZmF1bHQ7IC8vICRzcGFjZXIgLyAyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4zICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogMyFkZWZhdWx0O1xuIiwiLy8gRm9udCBQQVMgUExVUyBERSBERVVYIFBPTElDRVMgR09PR0xFICEhXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Qb3BwaW5zOndnaHRAMzAwOzQwMDs1MDA7NjAwJmRpc3BsYXk9c3dhcCcpO1xuXG4vLyBHTE9CQUwgVFlQT0dSQVBISUVTXG4kdGl0bGUtZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiR0aXRsZS1ub3JtYWwtd2VpZ2h0OiAzMDA7XG4kdGl0bGUtYm9sZC13ZWlnaHQ6IDUwMDtcblxuJHByaW1hcnktZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ6IDMwMDtcbiRwcmltYXJ5LWJvbGQtd2VpZ2h0OiA1MDA7XG5cbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJHNlY29uZGFyeS1mb250LXdlaWdodDogNDAwO1xuXG4kZm9udC1mYW1pbHktYmFzZTogJHByaW1hcnktZm9udC1mYW1pbHk7IC8vRm9udCBzdXIgYm9keVxuJGZvbnQtd2VpZ2h0LWJhc2U6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS40O1xuJGxldHRlci1zcGFjaW5nLWJhc2U6IDBlbTtcblxuJGN3LWZvbnQtc2l6ZS14czogMTRweDtcbiRjdy1mb250LXNpemUtbWQ6IDE1cHg7XG4kY3ctZm9udC1zaXplLWxnOiAxNnB4O1xuXG4vLyBIMVxuJGgxLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kaDEtZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiRoMS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRoMS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuJGgxLWxldHRlci1zcGFjaW5nOiAwZW07XG5cbi8vIEgyXG4kaDItZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRoMi1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGgyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGgyLWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4kaDItbGV0dGVyLXNwYWNpbmc6IDBlbTtcblxuLy8gQ0FSRFMgPiBwYXJhbcOpdHJhZ2UgZGFucyBjdy1jYXJkLnNjc3NcblxuLy8gTkFWQkFSID4gcGFyYW3DqXRyYWdlIGRhbnMgbmF2YmFyLnNjc3NcblxuLy8gSlVNQk9UUk9OID4gcGFyYW3DqXRyYWdlIGRhbnMganVtYm90cm9uLnNjc3NcblxuLy8gQlROXG4kYnRuLWZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuJGJ0bi1mb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiRidG4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kYnRuLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGJ0bi1saW5lLWhlaWdodDogMTtcbiRidG4tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4vLyBEQU1JRVJcbiRkYW1pZXItaDItZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRkYW1pZXItaDItZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZGFtaWVyLWgyLWZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiRkYW1pZXItaDItbGluZS1oZWlnaHQ6ICRoMi1saW5lLWhlaWdodDtcbiRkYW1pZXItaDItbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcblxuLy8gQ0FMTCBUTyBBQ1RJT05cbi8vIERvaXQgZXRyZSBwYXJlaWwgcXVlIGxlcyBoMiBkYW1pZXIgOilcbiRjYWxsLWFjdGlvbi1oMi1mb250LWZhbWlseTogJGRhbWllci1oMi1mb250LWZhbWlseTtcbiRjYWxsLWFjdGlvbi1oMi1mb250LXdlaWdodDogJGRhbWllci1oMi1mb250LXdlaWdodDtcbiRjYWxsLWFjdGlvbi1oMi10ZXh0LXRyYW5zZm9ybTogJGRhbWllci1oMi10ZXh0LXRyYW5zZm9ybTtcbiRjYWxsLWFjdGlvbi1oMi1mb250LXNpemU6ICRkYW1pZXItaDItZm9udC1zaXplICogMS4yO1xuJGNhbGwtYWN0aW9uLWgyLWxpbmUtaGVpZ2h0OiAkZGFtaWVyLWgyLWxpbmUtaGVpZ2h0O1xuJGNhbGwtYWN0aW9uLWgyLWxldHRlci1zcGFjaW5nOiAkZGFtaWVyLWgyLWxldHRlci1zcGFjaW5nO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXdlaWdodDogNjAwO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1mb250LXNpemU6IDEuMzVyZW07XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1saW5lLWhlaWdodDogMTtcbiRjYWxsLWFjdGlvbi1udW1iZXJzLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gQUREVE9BTllcbiRhZGR0b2FueS10aXRsZS1mb250LWZhbWlseTogJGNhbGwtYWN0aW9uLWgyLWZvbnQtZmFtaWx5O1xuJGFkZHRvYW55LXRpdGxlLWZvbnQtd2VpZ2h0OiAkY2FsbC1hY3Rpb24taDItZm9udC13ZWlnaHQ7XG4kYWRkdG9hbnktdGl0bGUtdGV4dC10cmFuc2Zvcm06ICRjYWxsLWFjdGlvbi1oMi10ZXh0LXRyYW5zZm9ybTtcbiRhZGR0b2FueS10aXRsZS1mb250LXNpemU6IDEuMXJlbTtcbiRhZGR0b2FueS10aXRsZS1saW5lLWhlaWdodDogJGNhbGwtYWN0aW9uLWgyLWxpbmUtaGVpZ2h0O1xuJGFkZHRvYW55LXRpdGxlLWxldHRlci1zcGFjaW5nOiAkY2FsbC1hY3Rpb24taDItbGV0dGVyLXNwYWNpbmc7XG5cbi8vIEFDVFVcbi8vIFZPSVIgY3ctY2FyZHMuc2NzcyBwb3VyIGxlIG1vbWVudFxuLy8kYmxvYy1hY3R1LXRpdGxlLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4vLyRibG9jLWFjdHUtdGl0bGUtZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbi8vJGJsb2MtYWN0dS10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbi8vJGJsb2MtYWN0dS10aXRsZS1mb250LXNpemU6IDFyZW07XG4vLyRibG9jLWFjdHUtdGl0bGUtbGluZS1oZWlnaHQ6IDE7XG4vLyRibG9jLWFjdHUtdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiRibG9jLWFjdHUtYm9keS1mb250LXNpemU6IDFyZW07XG4kYmxvYy1hY3R1LWJvZHktbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuLy8kYWN0dS1kYXRlLWZvbnQ6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4vLyRhY3R1LWRhdGUtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuXG4vLyBQQVJBTExBWFxuJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kYmxvYy1wYXJhbGxheC10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWxpbmUtaGVpZ2h0OiAkaDItbGluZS1oZWlnaHQ7XG4kYmxvYy1wYXJhbGxheC10aXRsZS1sZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtd2VpZ2h0OiA2MDA7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1mb250LXNpemU6IDFyZW07XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4vLyBGT1JNVUxBSVJFXG4kZm9ybS10aXRsZS1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGZvcm0tdGl0bGUtZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiRmb3JtLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGZvcm0tdGl0bGUtZm9udC1zaXplOiAxLjRyZW07XG4kZm9ybS10aXRsZS1saW5lLWhlaWdodDogMS4zO1xuJGZvcm0tdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcblxuLy8gRk9PVEVSXG4kY29udGFjdC1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kY29udGFjdC1mb250LXNpemU6IDFyZW07XG4kY29udGFjdC1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cbi8vIEJPVFRPTVxuJGJvdHRvbS1mb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiRib3R0b20tZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xuXG4vLyBDT0xPUkJPWFxuJGNvbG9yYm94LWZvbnQ6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4kY29sb3Jib3gtZm9udC1zaXplOiAwLjc1cmVtO1xuIiwiLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBUYWJsZWF1XG4kdHItZXZlbi1iZzogJGdyYXktMzAwO1xuJHRyLWV2ZW4tZGFzaDogJGdyYXktMjAwO1xuXG4vLyB0YWJsZWF1IHJlc3BvbnNpdmVcbiRjdy10YWJsZS1jb250YWluZXItYmcgOiByZ2JhKCRwcmltYXJ5LCAwLjM1KTtcbiRjdy10YWJsZS1jb250YWluZXItY29sb3I6ICRwcmltYXJ5O1xuJGN3LXRhYmxlLW1vYi1iZyA6IHJnYmEoJHdoaXRlLCAwLjcpO1xuJGN3LXRhYmxlLW1vYi1iZy10ci1jaGlsZF9vZGQgOiByZ2JhKCR3aGl0ZSwgMC40KTtcbiRjdy10YWJsZS1tb2ItY29sb3I6JHByaW1hcnk7XG4iLCIvLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgMS4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgJHByaW1hcnktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgMSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgMHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgMCAhZGVmYXVsdDtcbiIsIi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4iLCIkYnRuLWJvcmRlci1oZWlnaHQ6IDBweDsgLy9VdGlsaXNlciBkZXMgYm9yZHVyZXMgdW5pcXVlbWVudCBzdXIgJGJ0bi1iZy10cmFuc2l0aW9uOiAwO1xuXG4vLyBCVE4gUFJJTUFSWVxuJGJ0bi1vbmUtYmc6ICRwcmltYXJ5O1xuJGJ0bi1vbmUtYmctb3BhY2l0eTogMTtcbiRidG4tb25lLWJnLWhvdmVyOiAkc2Vjb25kYXJ5O1xuJGJ0bi1vbmUtYmctb3BhY2l0eS1ob3ZlcjogMTtcbiRidG4tb25lLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiRidG4tb25lLWZvbnQtY29sb3ItaG92ZXI6ICR3aGl0ZTtcbiRidG4tb25lLWJvcmRlci1jb2xvcjogJGJ0bi1vbmUtYmc7XG4kYnRuLW9uZS1ib3JkZXItY29sb3Itb3BhY2l0eTogMTtcbiRidG4tb25lLWJvcmRlci1jb2xvci1ob3ZlcjogJGJ0bi1vbmUtYmctaG92ZXI7XG4kYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eTogMTtcblxuLy8gQlROIFNFQ09OREFSWVxuJGJ0bi10d28tYmc6ICRzZWNvbmRhcnk7XG4kYnRuLXR3by1iZy1vcGFjaXR5OiAxO1xuJGJ0bi10d28tYmctaG92ZXI6ICRzZWNvbmRhcnktZGFyaztcbiRidG4tdHdvLWJnLW9wYWNpdHktaG92ZXI6IDE7XG4kYnRuLXR3by1mb250LWNvbG9yOiAkd2hpdGU7XG4kYnRuLXR3by1mb250LWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4kYnRuLXR3by1ib3JkZXItY29sb3I6ICRidG4tdHdvLWJnO1xuJGJ0bi10d28tYm9yZGVyLWNvbG9yLW9wYWNpdHk6IDE7XG4kYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXI6ICRidG4tdHdvLWJnLWhvdmVyO1xuJGJ0bi10d28tYm9yZGVyLWNvbG9yLWhvdmVyLW9wYWNpdHk6IDE7XG5cblxuJGJ0bi1pbWc6IFwiLi4vaW1hZ2VzL2JnLWJvdXRvbi0yLmpwZ1wiO1xuJGJ0bi1pbWctaG92ZXI6IFwiLi4vaW1hZ2VzL2JnLWJvdXRvbi5qcGdcIjtcbiIsIi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgIDAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWxpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDsgLy8gaW5wdXRzIChzYXVmIGJsb2NrIGNvbnRhY3QgZXQgZmxvYXQtYmxvY2ssIHZvaXIgdmFyaWFibGVzIGwyNSBldCAyNilcbiRpbnB1dC1iZy1kYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZTsgLy8gbW9kaWZpZSBsYSBjb3VsZXVyIGR1IHRleHRlIGRlcyBpbnB1dHMgcG91ciBxdSdlbGxlIHNvaXQgdmlzaWJsZSBzdXIgZm9uZCBzb21icmUuXG4kaW5wdXQtYmctZmxvYXQtYmxvY2s6ICAgICAgICAgICAgICAgICAgJGJnLXR3byAhZGVmYXVsdDsgLy8gaW5wdXRzIGJsb2NrIGZsb2F0LWJsb2NrXG4kaW5wdXQtYmctZmxvYXQtYmxvY2stZGFyazogICAgICAgICAgICAgZmFsc2U7IC8vIHNlbWJsYWJsZSDDoCBsYSBsaWduZSAyMy5cbiRpbnB1dC1iZy1ibG9jay1jb250YWN0OiAgICAgICAgICAgICAgICAkd2hpdGU7IC8vIGlucHV0cyBibG9jayBjb250YWN0XG4kaW5wdXQtYmctYmxvY2stY29udGFjdC1kYXJrOiAgICAgICAgICAgZmFsc2U7Ly8gc2VtYmxhYmxlIMOgIGxhIGxpZ25lIDIzLlxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaW5wdXQtYmcsIDgwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s6ICAgICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1iZy1mbG9hdC1ibG9jaywgODAlKTsvL2N3XG4kaW5wdXQtY29sb3ItYmxvY2stY29udGFjdDogICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCA4MCUpOy8vY3dcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2FlYWVhZSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1mbG9hdC1ibG9jazogICAjYWVhZWFlOy8vY3dcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1ibG9jay1jb250YWN0OiBkYXJrZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDMwJSk7Ly9jd1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogNCkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDQpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiA0LCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDQsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogNCwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4wNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICAgICAgICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBcImludmFsaWRcIjogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTsiLCIvLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsvL1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsvL1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAxMHB4ICFkZWZhdWx0Oy8vXG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7IiwiLyoqKioqKioqKioqKioqIEdMT0JBTEUgKioqKioqKioqKioqKiovXG4vLyBIYXV0ZXVyXG4kbmF2YmFyLWhlaWdodC14czogNjBweDtcbiRuYXZiYXItaGVpZ2h0LW1kOiA2MHB4OyAvLyBTaSBidWcgc3VyIG5hdmJhciBpbCBmYXV0IGF1Z21lbnRlciBsJ2FjdGl2YXRpb24gZGUgc2Nyb2xsVG9wIGRhbnMgbGUgY3VzdG9tLmpzIChwcm9ibMOobWUgcG9zaXRpb246c3RpY2t5KVxuJG5hdmJhci1oZWlnaHQtbWQtYWZmaXgtc2Nyb2xsOiA2MHB4O1xuJG5hdmJhci1oZWlnaHQtbmF2YmFyLW5hdjogMHB4OyAvLyBQZXJtZXQgZGUgZMOpY29sbGVyIGxlcyBvbmdsZXRzIGR1IGJhcyBkZSBsYSBuYXZiYXIgKHRhaWxsZSBkZSBsYSBcIm1hcmdlXCIgZHUgZGVzc3VzIGV0IGRlc3NvdXMpXG5cbi8vIENvdWxldXJcbiRuYXZiYXItYmc6ICR3aGl0ZTtcbiRuYXZiYXItb3BhY2l0eTogMTsgLy8gc2kgdHJhbnNwYXJlbmNlIG1ldHRyZSAkbmF2YmFyLW9wYWNpdHktYWZmaXgtc2Nyb2xsIMOgIDAuOTZcbiRuYXZiYXItb3BhY2l0eS1hZmZpeC1zY3JvbGw6ICRuYXZiYXItb3BhY2l0eTtcbiRuYXZiYXItY29sb3I6ICM1NjRjM2M7XG5cbi8qKioqKioqKioqKioqKiBMT0dPIC8gQlJBTkQgKioqKioqKioqKioqKiovXG4vLyBBZmZpY2hhZ2VcbiR4cy1zaG93LWxvZ286IGZhbHNlOyAvLyBYUyA+IGxvZ29cbiR4cy1zaG93LW5hbWU6IHRydWU7IC8vIFhTID4gbmFtZVxuJHhzLXNob3ctc2xvZ2FuOiB0cnVlOyAvLyBYUyA+IHNsb2dhblxuJGxnLXNob3ctbG9nbzogZmFsc2U7IC8vIExHID4gbG9nb1xuJGxnLXNob3ctbmFtZTogdHJ1ZTsgLy8gTEcgPiBuYW1lXG4kbGctc2hvdy1zbG9nYW46IHRydWU7IC8vIExHID4gc2xvZ2FuXG4kbG9nby1vdXQtbmF2YmFyOiBmYWxzZTsgLy8gTG9nbyBkw6lwYXNzYW50IGRlIGxhIG5hdmJhclxuJGxvZ28tb3V0LW5hdmJhci1icmFuZC1sZWZ0OiAxMjBweDsgLy8gw6AgcsOpZ2xlciBzaSBEw6lub21pbmF0aW9uIG91IHNsb2dhbiBhZmZpY2jDqSAoYXR0ZW50aW9uIGF1eCBvbmdsZXRzIGVuIGxnKVxuJGxvZ28tYmc6IGZhbHNlOyAvLyBMb2dvIGF2ZWMgZm9uZCAoY291bGV1ciBkZSBsYSBuYXZiYXIgZGUgYmFzZSlcbiRsb2dvLWNlbnRlci1uYXZiYXI6IGZhbHNlO1xuJGxvZ28tY2VudGVyLW5hdmJhci1wb3NpdGlvbjogMztcbiRzaG93LW1pbmktbG9nby1hZmZpeC1zY3JvbGw6IGZhbHNlOyAvLyBBZmZpY2hlIG1pbmktbG9nby1hZmZpeC1zY3JvbGwucG5nIGxvcnMgZHUgc2Nyb2xsXG5cbi8vIFRhaWxsZSAtIENvdWxldXJcbiRuYXZiYXItbWluaS1sb2dvLXdpZHRoOiAxNTBweDtcbiRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnOiAzMDBweDtcbiRuYXZiYXItYnJhbmQtd2lkdGg6IDI3MHB4O1xuJG5hdmJhci1icmFuZC1jb2xvcjogJG5hdmJhci1jb2xvcjtcbiRuYXZiYXItc2xvZ2FuLW9wYWNpdHk6IDAuODtcblxuLyoqKioqKioqKioqKioqIE9OTEdFVCAqKioqKioqKioqKioqKi9cbi8vIE5vbiBhY3RpZlxuJGl0ZW0tYS1jb2xvcjogJG5hdmJhci1jb2xvcjtcbiRpdGVtLWEtY29sb3Itb3BhY2l0eTogMTtcblxuLy8gQWN0aWYgZXQgaG92ZXJcbiRpdGVtLWEtYWN0aXZlLWJvbGQ6IGZhbHNlO1xuJGl0ZW0tYS1hY3RpdmUtYmcteHM6IHRyYW5zcGFyZW50O1xuJGl0ZW0tYS1hY3RpdmUtY29sb3IteHM6ICRwcmltYXJ5O1xuJGl0ZW0tYS1hY3RpdmUtYmctbGc6ICRpdGVtLWEtYWN0aXZlLWJnLXhzO1xuJGl0ZW0tYS1hY3RpdmUtY29sb3ItbGc6ICRpdGVtLWEtYWN0aXZlLWNvbG9yLXhzO1xuJGl0ZW0tYS1wYWRkaW5nLXg6IDE0cHg7XG5cbi8qKioqKioqKioqKioqKiBNRU5VIERFUk9VTEFOVCAqKioqKioqKioqKioqKi9cbiRkcm9wbWVudS1iZzogJG5hdmJhci1iZztcbiRkcm9wbWVudS1iZy1vcGFjaXR5OiAxO1xuJGRyb3BtZW51LWl0ZW0tYS1jb2xvcjogJG5hdmJhci1jb2xvcjtcbiRkcm9wbWVudS1pdGVtLWEtY29sb3Itb3BhY2l0eTogMC44NTtcbiRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcbiRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiRkcm9wbWVudS1ib3JkZXI6IGZhbHNlO1xuJGRyb3BtZW51LWJvcmRlci1jb2xvcjogbGlnaHRlbigkZHJvcG1lbnUtYmcsIDE1JSk7XG5cblxuLyoqKioqKioqKioqKioqIFRPR0dMRVIgKioqKioqKioqKioqKiovXG4kbmF2YmFyLXRvZ2dsZXItbGluZS1jb2xvci1leHBhbmRlZC1mYWxzZTogJG5hdmJhci1icmFuZC1jb2xvcjsgLy8gTWVudSBmZXJtw6lcbiRuYXZiYXItdG9nZ2xlci1saW5lLWNvbG9yLWV4cGFuZGVkLXRydWU6ICRuYXZiYXItdG9nZ2xlci1saW5lLWNvbG9yLWV4cGFuZGVkLWZhbHNlOyAvLyBNZW51IG91dmVydFxuJG5hdmJhci10b2dnbGVyLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50czsgLy8gQWZmaWNoZSB1biBkw6lncmFkw6kgc3VyIGxlIGp1bWJvdHJvblxuJG5hdmJhci10b2dnbGVyLWxpbmVhci1ncmFkaWVudC1jb2xvci0xOiAkbmF2YmFyLWJnOyAvLyBjb3VsZXVyIHV0aWxpc8OpIHNpIGTDqWdyYWTDqSBub24gdXRpbGlzw6lcbiRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMjogZGFya2VuKCRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSw1JSk7XG4kbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uOiAyNzBkZWc7XG4kbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkOiA4MCU7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSwgNSUpOyAvLyBsaWdodGVuIC0gZGFya2VuXG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogT1BUSU9OICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8vIEFqb3V0IGQndW5lIHRvcC1iYXJyZVxuJG5hdmJhci10b3A6IGZhbHNlO1xuJG5hdmJhci10b3AtY29sb3I6ICRib2R5LWNvbG9yO1xuJG5hdmJhci10b3AtYmc6ICRncmF5LTEwMDtcbiRuYXZiYXItdG9wLW9wYWNpdHk6IDE7XG4kbmF2YmFyLXRvcC1oZWlnaHQ6IDM1cHg7XG4kbmF2YmFyLXRvcC1oZWlnaHQtYWZmaXgtc2Nyb2xsLWxnOiAzNXB4O1xuQGlmICRuYXZiYXItdG9wICE9IHRydWUge1xuICAkbmF2YmFyLXRvcC1oZWlnaHQ6IDBweDtcbn1cbiRuYXZiYXItdG9wLWxvZ28tb3ZlcjogZmFsc2U7XG5cbi8vIE5hdmJhciAtIETDqWdyYWTDqSBlbiBhZmZpeC10b3AsIGFtw6lsaW9yZSBsaXNpYmlsaXTDqSBsb3JzcXVlIGxhIG5hdmJhciBlc3QgdHJhbnNwYXJlbnRlXG4kbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcDogZmFsc2U7XG4kbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcC1jb2xvci0xOiAkbmF2YmFyLWJnO1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3AtY29sb3ItMjogJG5hdmJhci1iZztcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLW9wYWNpdHktMTogMC44NTtcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLW9wYWNpdHktMjogMDtcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtc2Nyb2xsLW9wYWNpdHk6IDAuOTU7XG4vLyBOYXZiYXIgLSBDb3VsZXVycyBkaWZmw6lyZW50ZSBhdSBhZmZpeC1zY3JvbGxcbiRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGw6IGZhbHNlO1xuJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjogJGJsYWNrO1xuXG4vLyBOYXZiYXIvRHJvcG1lbnUgLSBPbWJyZVxuJG5hdmJhci1zaGFkb3c6IHRydWU7XG4kbmF2YmFyLWRyb3Bkb3duLW1lbnUtc2hhZG93OiB0cnVlO1xuJG5hdmJhci1zaGFkb3ctY29sb3I6ICRibGFjaztcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wOiAwLjA1OyAvLyBBdSBhZmZpeC10b3BcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtc2Nyb2xsOiAwLjA1OyAvLyBBdSBhZmZpeC1zY3JvbGxcblxuLy8gT25nbGV0IC0gQ2VudHJhZ2VcbiRuYXZiYXItaG9yaXpvbnRhbC1jZW50ZXJpbmctbGk6IGZsZXgtZW5kOyAvLyBmbGV4LXN0YXJ0IC0gc3BhY2UtZXZlbmx5IC0gZmxleC1lbmRcbiRuYXZiYXItdmVydGljYWwtY2VudGVyaW5nLWE6IGNlbnRlcjtcbiRuYXZiYXItaG9yaXpvbnRhbC1jZW50ZXJpbmctYTogY2VudGVyO1xuJG5hdmJhci1saS13aWR0aC1mdWxsOiBmYWxzZTtcblxuLy8gT25nbGV0IC0gQWZmaWNoZSB1bmUgbGlnbmUgc291cyBsJ29uZ2xldFxuJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmU6IGZhbHNlO1xuJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmUtcG9zaXRpb246IGNlbnRlcjsgLy8gbGVmdCBvdSBjZW50ZXJcbiRuYXZiYXItYS11bmRlcmxpbmUtaGVpZ2h0OiAycHg7XG4kbmF2YmFyLWEtdW5kZXJsaW5lLXdpZHRoOiA0NXB4Oy8vIDI1cHggLSBjYWxjKDEwMCUgLSAjeyRpdGVtLWEtcGFkZGluZy14fSAqIDIpXG4kbmF2YmFyLWEtdW5kZXJsaW5lLWNvbG9yOiAkc2Vjb25kYXJ5O1xuQGlmICRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlIHtcbiAgJGl0ZW0tYS1hY3RpdmUtYmctbGc6IHRyYW5zcGFyZW50OyAvLyAhISBORSBQQVMgQ0hBTkdFUiBDRVRURSBWQUxFVVJcbn1cblxuLy8kZHJvcG1lbnUtcHVjZTogZmFsc2U7IC8vIEFmZmljaGUgdW5lIHB1Y2UgdHJpYW5ndWxhaXJlIGF1IGRlc3N1c1xuLy8kbmF2YmFyLW1lbnUtaWNvbmVzOiBmYWxzZTsgLy8gQWZmaWNoZSB1biBpY8O0bmUgw6AgY8O0dMOpIGRlIGNoYXF1ZSBydWJyaXF1ZSBheWFudCB1bmUgY2xhc3MgYXR0cmlidcOpXG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBUWVBPR1JBUEhJRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbiRuYXZiYXItbmFtZS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLW5hbWUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG5hdmJhci1uYW1lLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiRuYXZiYXItbmFtZS1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItbmFtZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRuYXZiYXItc2xvZ2FuLWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRuYXZiYXItc2xvZ2FuLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJG5hdmJhci1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kbmF2YmFyLXNsb2dhbi1mb250LXNpemU6ICRmb250LXNpemUteHM7XG4kbmF2YmFyLXNsb2dhbi1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItc2xvZ2FuLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJG5hdmJhci1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLWZvbnQtd2VpZ2h0OiA2MDA7XG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1mb250LXNpemU6IDFyZW07XG4kbmF2YmFyLWxpbmUtaGVpZ2h0OiAxLjI7XG4kbmF2YmFyLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLyogKioqIE5BVkJBUiBEcm9wZG93bi1tZW51ICoqKiAqL1xuJG5hdmJhci1kLW1lbnUtZm9udC1mYW1pbHk6ICRuYXZiYXItZm9udC1mYW1pbHk7XG4kbmF2YmFyLWQtbWVudS1mb250LXdlaWdodDogNDAwO1xuJG5hdmJhci1kLW1lbnUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kbmF2YmFyLWQtbWVudS1mb250LXNpemU6IDAuOTVyZW07XG4kbmF2YmFyLWQtbWVudS1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItZC1tZW51LWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiIsIi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8uM3JlbVxuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkZ3JheS01MDAsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAwICFkZWZhdWx0OyAvLyRuYXYtZGl2aWRlci1tYXJnaW4teVxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgMC41cmVtICFkZWZhdWx0OyAvLy4yNXJlbVxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDsiLCIvLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRoMS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaDEtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0OyIsIi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiIsIi8vIFRhaWxsZXNcbiRqdW1ib3Ryb24taGVpZ2h0OiAxMDB2aDsvL21ldHRyZSBlbiA1NXZoIHNpIHNsaWRlci1zbGltXG4kanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ6IDI0MHB4O1xuXG4kanVtYm90cm9uLXhzLW1hcmdpbi10b3AtZGVub21pbmF0aW9uOiAwO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLXNsb2dhbjogMi41cmVtO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yOiAwO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWFkcmVzc2U6IDVweDtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC10ZWxlcGhvbmU6IDA7XG4kanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYm91dG9uLTE6IDVweDtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1ib3V0b24tMjogNXB4O1xuXG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtZGVub21pbmF0aW9uOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLXNsb2dhbjogMDtcbiRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMjogMDtcbiRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1hZHJlc3NlOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTogMDtcbiRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMTogMDtcbiRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMjogMDtcblxuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb246IDA7XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLXNsb2dhbjogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYmxvYy1wcmluY2lwYWwtY2hpbGQtMjogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtdGVsZXBob25lOiAwO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1hZHJlc3NlOiAwO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMTogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYm91dG9uLTI6IDA7XG5cbi8vIE9tYnJhZ2VcbiRqdW1ib3Ryb24tc2hhZG93OiB0cnVlO1xuJGp1bWJvdHJvbi1zaGFkb3cteDogMHB4O1xuJGp1bWJvdHJvbi1zaGFkb3cteTogM3B4O1xuJGp1bWJvdHJvbi1zaGFkb3ctYmx1cjogNHB4O1xuJGp1bWJvdHJvbi1zaGFkb3ctc3ByZWFkOiAwcHg7XG4kanVtYm90cm9uLXNoYWRvdy1jb2xvcjogJGJsYWNrO1xuJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eTogMC4yO1xuXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBDT1VMRVVSICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG4kanVtYm90cm9uLWNvbG9yOiAkd2hpdGU7XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBUWVBPR1JBUEhJRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIExPR09cbiRqdW1ib3Ryb24tbG9nby13aWR0aC1tYXg6IDUzMHB4O1xuXG4vLyBERU5PTUlOQUlPTlxuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodC1zdHJvbmc6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLXhzOiAycmVtO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnOiAyLjhyZW07XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUtbGctbmY6IGNhbGMoI3skanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUtbGd9IC0gMnJlbSk7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDogMS4yO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIFNMT0dBTlxuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kanVtYm90cm9uLXNsb2dhbi1mb250LXdlaWdodC1zdHJvbmc6IDYwMDtcbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS14czogMS41cmVtO1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnOiAycmVtO1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnLW5mOiBjYWxjKCN7JGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnfSAtIDAuNXJlbSk7XG4kanVtYm90cm9uLXNsb2dhbi1saW5lLWhlaWdodDogMS4yO1xuJGp1bWJvdHJvbi1zbG9nYW4tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIFRFTEVQSE9ORVxuJGp1bWJvdHJvbi10ZWwtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi10ZWwtZm9udC13ZWlnaHQ6IDYwMDtcbiRqdW1ib3Ryb24tdGVsLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi10ZWwtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tdGVsLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRqdW1ib3Ryb24tdGVsLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBBRFJFU1NFXG4kanVtYm90cm9uLWFkcmVzc2UtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtd2VpZ2h0OiA0MDA7XG4kanVtYm90cm9uLWFkcmVzc2UtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kanVtYm90cm9uLWFkcmVzc2UtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tYWRyZXNzZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kanVtYm90cm9uLWFkcmVzc2UtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIEJPVVRPTiAxXG4kanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRqdW1ib3Ryb24tYm91dG9uLTEtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi1ib3V0b24tMS1saW5lLWhlaWdodDogMS40O1xuJGp1bWJvdHJvbi1ib3V0b24tMS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kanVtYm90cm9uLWJvdXRvbi0xLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBCT1VUT04gMlxuJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLWJvdXRvbi0yLWZvbnQtd2VpZ2h0OiA2MDA7XG4kanVtYm90cm9uLWJvdXRvbi0yLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi1ib3V0b24tMi1saW5lLWhlaWdodDogMS40O1xuJGp1bWJvdHJvbi1ib3V0b24tMi1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kanVtYm90cm9uLWJvdXRvbi0yLXRleHQtdHJhbnNmb3JtOiBub25lO1xuIiwiLy8gQmxvYyBwcmluY2lwYWxcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nOiBjZW50ZXI7IC8vIGxlZnQgLSBjZW50ZXIgLSByaWdodCAtIGxlZnRjZW50ZXIgLSByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC13aWR0aDogNTAwcHg7IC8vIHBvdXIgbGVmdGNlbnRlciBldCByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtYmxhbmM6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kLWJsYW5jOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1ibGFuYy13aWR0aDogNDgwcHg7IC8vTGFyZ2V1ciBzaSBmb25kIGJsYW5jIMOgIHRydWVcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtYm91dG9ucy1lbi1saWduZTogZmFsc2U7XG5cbi8vIEJsb2MgaW5mb3NcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1wb3NpdGlvbjogYm90dG9tOyAvLyB0b3AgLSBib3R0b21cbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jZW50ZXJpbmc6IGNlbnRlcjsgLy8gY2VudGVyIC0gYmV0d2VlblxuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14czogMTE4cHg7IC8vIE1ldHRyZSDDoCAwcHggc2kgYmxvYy1pbmZvcyBkw6lzYWN0aXbDqVxuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZzogNTJweDsgLy8gTWV0dHJlIMOgIDBweCBzaSBibG9jLWluZm9zIGTDqXNhY3RpdsOpXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjg1KTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jb2xvci1saW5rOiByZ2JhKCR3aGl0ZSwgMC44NSk7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3ItbGluay1ob3ZlcjogJHdoaXRlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHk6IDAuODU7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtYmc6ICRwcmltYXJ5O1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLWVuZDogJGdyYXktODAwO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50OiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1zdGFydDogMTAlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWVuZDogODAlO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWRlZzogMjJkZWc7XG5cbi8vIEJsb2MgY2Fyb3VzZWxcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1taW5pOiBmYWxzZTsgLy8gZMOpc2FjdGl2ZXIgYmxvYy1pbmZvcyBldCBtb2RpZmllciBiYWNrZ3JvdW5kXG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwteHM6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZi14czogZmFsc2U7IC8vIEEgZMOpdmVsb3BwZXJcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZjogZmFsc2U7IC8vIEEgZMOpdmVsb3BwZXJcblxuLy8gMiBjb2xvbm5lcyBlbiBmcm9udFxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC0yLWNvbDpmYWxzZTtcblxuLy8gQXZhbnQvQXByw6hzIGZyb250XG4kanVtYm90cm9uLWF2YW50LWFwcmVzLWZyb250OiBmYWxzZTsgLy8gQWN0aXZlciAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLTItY29sIGV0ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jZW50ZXJpbmcgZW4gY2VudGVyXG5cbi8vIExvZ28gbm90LWZyb250XG4kamJuZi1sb2dvLW1heC1oZWlnaHQ6IDE5MHB4O1xuXG4vLyBHcmFkaWVudFxuJGp1bWJvdHJvbi1ncmFkaWVudDogdHJ1ZTsgLy8gQWZmaWNoZSB1biBkw6lncmFkw6kgc3VyIGxlIGp1bWJvdHJvbiAvLyBTaSB5IGEgdW4gY2Fyb3VzZWwgTGUgZMOpZ3JhZMOpIGVzdCBzdXIgY2Fyb3VzZWwtaXRlbSBwb3VyIHF1ZSBjYXJvdXNlbC1jYXB0aW9uIHNvaXQgYXUgZGVzc3VzIG1vZGlmaWVyIHBvdXIgY2Fyb3VzZWwtaW5uZXIgc2kgcGFzIGJlc29pbiBkZSBjYXJvdXNlbC1jYXB0aW9uXG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvcjogJGJsYWNrO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzOiAwLjc7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHM6IDAuMjtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS1sZzogMC44NTtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZzogMDtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uOiAwZGVnO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQ6IDkwJTtcblxuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmY6ICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnLW5mOiAwLjQ7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGctbmY6IDAuNDtcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mOiAwZGVnO1xuJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmY6IDEwMCU7XG5cbi8vIE92ZXJsYXlcbiRqdW1ib3Ryb24tb3ZlcmxheTogJG92ZXJsYXktanVtYm90cm9uOyAvLyBBZmZpY2hlIHVuIG1vdGlmIHRyYW5zcGFyZW50IHN1ciBsZSBqdW1ib3Ryb25cbiIsIi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG4iLCIvLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG4iLCIvLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbi8vJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJHNlY29uZGFyeS1kYXJrICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIFZhcmlhYmxlcyBDVyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBCcmVhZGNydW1iXG4kYnJlYWRjcnVtYi1mb250OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4kYnJlYWRjcnVtYi1jb2xvcjogbGlnaHRlbigkYm9keS1jb2xvciwgMiUpO1xuJGJyZWFkY3J1bWItYmc6IHJnYmEoZGFya2VuKCRib2R5LWJnLCAxJSksIDEpO1xuJGJyZWFkY3J1bWItYmctZW5kOiBkYXJrZW4oJGJvZHktYmcsIDAlKTtcbiRicmVhZGNydW1iLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRicmVhZGNydW1iLWdyYWRpZW50LXN0YXJ0OiAwJTtcbiRicmVhZGNydW1iLWdyYWRpZW50LWVuZDogOTAlO1xuJGJyZWFkY3J1bWItZ3JhZGllbnQtZGVnOiAyMmRlZztcblxuIiwiLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMCAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9yb290XCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3JlYm9vdFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90eXBlXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2ltYWdlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jb2RlXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2dyaWRcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdGFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zXCI7XG4vL0BpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2J1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9pbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbmF2XCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL25hdmJhclwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9iYWRnZVwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWVkaWFcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90b2FzdHNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbW9kYWxcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9vbHRpcFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Nhcm91c2VsXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3NwaW5uZXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9wcmludFwiO1xuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgc2l6ZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbnZpc2libGUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lciAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtcGFkZGluZy14ICogNCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtcGFkZGluZy14ICogMiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCgpIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1sZWZ0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LXJpZ2h0KCkge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1yaWdodGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1ub25lKCkge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LW5vbmVgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgJjpub3QoLmhhcy12YWxpZGF0aW9uKSB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gLmZvcm0tY29udHJvbDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuICsgMyksXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbiIsIi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwczovL3VzZWljb25pYy5jb20vb3BlblxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEJhc2UgY2xhc3MgdGFrZXMgY2FyZSBvZiBhbGwgdGhlIGtleSBiZWhhdmlvcmFsIGFzcGVjdHMuXG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGNvbG9yLWFkanVzdDogZXhhY3Q7IC8vIEtlZXAgdGhlbWVkIGFwcGVhcmFuY2UgZm9yIHByaW50XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc2V1ZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtY3Vyc29yO1xuXG4gIC8vIEJhY2tncm91bmQtY29sb3IgYW5kICh3aGVuIGVuYWJsZWQpIGdyYWRpZW50XG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvciBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBGb3JlZ3JvdW5kIChpY29uKVxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfSBuby1yZXBlYXQ7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkY3VzdG9tLXN3aXRjaC13aWR0aCAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcHJlc3MgdGhlIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCwgJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgKiAuNTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyAvLyBhcmJpdHJhcnk/XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItYnJhbmQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVudGF0aW9uLiBSZXF1aXJlcyB0aGUgdXNlIG9mIGBmbGV4LXdyYXA6IHdyYXBgXG4vLyBvbiB0aGUgYC5uYXZiYXJgIHBhcmVudC5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIC8vIEZvciBhbHdheXMgZXhwYW5kZWQgb3IgZXh0cmEgZnVsbCBuYXZiYXJzLCBlbnN1cmUgY29udGVudCBhbGlnbnMgaXRzZWxmXG4gIC8vIHByb3Blcmx5IHZlcnRpY2FsbHkuIENhbiBiZSBlYXNpbHkgb3ZlcnJpZGRlbiB3aXRoIGZsZXggdXRpbGl0aWVzLlxuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCdXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBuYXZiYXIgd2hlbiBpbiBpdHMgY29sbGFwc2VkIHN0YXRlXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLy8gQ2hhbmdlcyBmbGV4LWJhc2VzIHRvIGF1dG8gYmVjYXVzZSBvZiBhbiBJRTEwIGJ1Z1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgaW1hZ2Ugc2l6ZSBidWcgaW4gSUVcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yODg1NVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDsgLy8gRm9yIElFOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5Mzk2XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuXG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAqIC41KTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjbG9zZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIG9wYWNpdHk6IC43NTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIudG9hc3Qge1xuICAvLyBQcmV2ZW50cyBmcm9tIHNocmlua2luZyBpbiBJRTExLCB3aGVuIGluIGEgZmxleCBjb250YWluZXJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgzNDFcbiAgZmxleC1iYXNpczogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvYXN0LWJvcmRlci1yYWRpdXMpO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteSAkdG9hc3QtcGFkZGluZy14O1xuICBjb2xvcjogJHRvYXN0LWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhzdWJ0cmFjdCgkdG9hc3QtYm9yZGVyLXJhZGl1cywgJHRvYXN0LWJvcmRlci13aWR0aCkpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LWhlaWdodCAwO1xuXG4gIC5hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGxlZnQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogJHBvcG92ZXItaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItaGVhZGVyLWJnLCA1JSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWJvZHktcGFkZGluZy15ICRwb3BvdmVyLWJvZHktcGFkZGluZy14O1xuICBjb2xvcjogJHBvcG92ZXItYm9keS1jb2xvcjtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIC8vIFVzZSB0cmFuc3BhcmVudCBib3JkZXJzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgIGJvcmRlci10b3A6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogJHNwaW5uZXItdmVydGljYWwtYWxpZ247XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogJHNwaW5uZXItdmVydGljYWwtYWxpZ247XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cblxuQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9hbGlnblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JvcmRlcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9lbWJlZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbGV4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Zsb2F0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ludGVyYWN0aW9uc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9vdmVyZmxvd1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9wb3NpdGlvblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zY3JlZW5yZWFkZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NoYWRvd3NcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2l6aW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3RyZXRjaGVkLWxpbmtcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdGV4dFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy92aXNpYmlsaXR5XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZShkaXZpZGUoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXksICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiBcIiN7JHNpemV9XCIgIT0gXCIwXCIge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KFwiLnRleHQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbi50ZXh0LWJvZHkgeyBjb2xvcjogJGJvZHktY29sb3IgIWltcG9ydGFudDsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ibGFjay01MCB7IGNvbG9yOiByZ2JhKCRibGFjaywgLjUpICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdoaXRlLTUwIHsgY29sb3I6IHJnYmEoJHdoaXRlLCAuNSkgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIERlcHJlY2F0ZWQsIGJ1dCBhdm9pZHMgaXNzdWVzIHdpdGggZmxleCBjb250YWluZXJzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBVc2VkIGluc3RlYWQgb2YgYG92ZXJmbG93LXdyYXBgIGZvciBJRSAmIEVkZ2UgTGVnYWN5XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvbWFpbi5jc3MvYmxvYi9tYXN0ZXIvc3JjL19wcmludC5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdyYXktNTAwOyAvLyBCb290c3RyYXAgY3VzdG9tIGNvZGU7IHVzaW5nIGAkYm9yZGVyLXdpZHRoYCBpbnN0ZWFkIG9mIDFweFxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiQG1peGluIHNoYXBlLWRpdmlkZXIoJGJnLXNoYXBlLWRpdmlkZXI6IHRyYW5zcGFyZW50LCAkY29sb3ItZmlsbC1kaWFnOiAjZjdmN2Y3LCAkb3BhY2l0eTogMSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0OiA1MHB4LCAkc3ZnOiAkc2hhcGUtZGl2aWRlci1zZWxlY3Rpb24pIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXNoYXBlLWRpdmlkZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBjYWxjKCN7JHNoYXBlLWRpdmlkZXItaGVpZ2h0fSAtIDUwcHgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoI3skc2hhcGUtZGl2aWRlci1oZWlnaHR9IC0gNTBweCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDMxO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgaGVpZ2h0OiAkc2hhcGUtZGl2aWRlci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRzaGFwZS1kaXZpZGVyLWhlaWdodDtcbiAgfVxuXG4gIEBpZiAkc3ZnID09IDEgeyAvLyBXYXZlcy9WYWd1ZXNcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk0zMjEuMzksNTYuNDRjNTgtMTAuNzksMTE0LjE2LTMwLjEzLDE3Mi00MS44Niw4Mi4zOS0xNi43MiwxNjguMTktMTcuNzMsMjUwLjQ1LS4zOUM4MjMuNzgsMzEsOTA2LjY3LDcyLDk4NS42Niw5Mi44M2M3MC4wNSwxOC40OCwxNDYuNTMsMjYuMDksMjE0LjM0LDNWMEgwVjI3LjM1QTYwMC4yMSw2MDAuMjEsMCwwLDAsMzIxLjM5LDU2LjQ0WlwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+IDwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDIgeyAvLyBXYXZlcyBPcGFjaXR5XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPiA8cGF0aCBkPVwiTTAsMFY0Ni4yOWM0Ny43OSwyMi4yLDEwMy41OSwzMi4xNywxNTgsMjgsNzAuMzYtNS4zNywxMzYuMzMtMzMuMzEsMjA2LjgtMzcuNUM0MzguNjQsMzIuNDMsNTEyLjM0LDUzLjY3LDU4Myw3Mi4wNWM2OS4yNywxOCwxMzguMywyNC44OCwyMDkuNCwxMy4wOCwzNi4xNS02LDY5Ljg1LTE3Ljg0LDEwNC40NS0yOS4zNEM5ODkuNDksMjUsMTExMy0xNC4yOSwxMjAwLDUyLjQ3VjBaXCIgb3BhY2l0eT1cIi4yNVwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+IDxwYXRoIGQ9XCJNMCwwVjE1LjgxQzEzLDM2LjkyLDI3LjY0LDU2Ljg2LDQ3LjY5LDcyLjA1LDk5LjQxLDExMS4yNywxNjUsMTExLDIyNC41OCw5MS41OGMzMS4xNS0xMC4xNSw2MC4wOS0yNi4wNyw4OS42Ny0zOS44LDQwLjkyLTE5LDg0LjczLTQ2LDEzMC44My00OS42NywzNi4yNi0yLjg1LDcwLjksOS40Miw5OC42LDMxLjU2LDMxLjc3LDI1LjM5LDYyLjMyLDYyLDEwMy42Myw3Myw0MC40NCwxMC43OSw4MS4zNS02LjY5LDExOS4xMy0yNC4yOHM3NS4xNi0zOSwxMTYuOTItNDMuMDVjNTkuNzMtNS44NSwxMTMuMjgsMjIuODgsMTY4LjksMzguODQsMzAuMiw4LjY2LDU5LDYuMTcsODcuMDktNy41LDIyLjQzLTEwLjg5LDQ4LTI2LjkzLDYwLjY1LTQ5LjI0VjBaXCIgb3BhY2l0eT1cIi41XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD4gPHBhdGggZD1cIk0wLDBWNS42M0MxNDkuOTMsNTksMzE0LjA5LDcxLjMyLDQ3NS44Myw0Mi41N2M0My03LjY0LDg0LjIzLTIwLjEyLDEyNy42MS0yNi40Niw1OS04LjYzLDExMi40OCwxMi4yNCwxNjUuNTYsMzUuNEM4MjcuOTMsNzcuMjIsODg2LDk1LjI0LDk1MS4yLDkwYzg2LjUzLTcsMTcyLjQ2LTQ1LjcxLDI0OC44LTg0LjgxVjBaXCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD4gPC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gMyB7IC8vIEN1cnZlXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNMCwwVjcuMjNDMCw2NS41MiwyNjguNjMsMTEyLjc3LDYwMCwxMTIuNzdTMTIwMCw2NS41MiwxMjAwLDcuMjNWMFpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPjwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDQgeyAvLyBUcmlhbmdsZVxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj4gPHBhdGggZD1cIk0xMjAwIDBMMCAwIDU5OC45NyAxMTQuNzIgMTIwMCAwelwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+IDwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDUgeyAvLyBUcmlhbmdsZSBBc3ltbWV0cmljYWxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk0xMjAwIDBMMCAwIDg5Mi4yNSAxMTQuNzIgMTIwMCAwelwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gNiB7IC8vIEFycm93XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNNjQ5Ljk3IDBMNTUwLjAzIDAgNTk5LjkxIDU0LjEyIDY0OS45NyAwelwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gNyB7IC8vIFRpbHQvRGlhZ29uYWxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk0xMjAwIDEyMEwwIDE2LjQ4IDAgMCAxMjAwIDAgMTIwMCAxMjB6XCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSA4IHsgLy8gQm9va1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTEyMDAsMEgwVjEyMEgyODEuOTRDNTcyLjksMTE2LjI0LDYwMi40NSwzLjg2LDYwMi40NSwzLjg2aDBTNjMyLDExNi4yNCw5MjMsMTIwaDI3N1pcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPjwvc3ZnPicpO1xuICB9XG4gIC8vQGlmICRzdmcgPT0gOSB7IC8vIFZhZ3VlcyBjd1xuICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBpZD1cIkNhbHF1ZV8yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTk2Ljc2IDE2LjAyXCI+PGcgaWQ9XCJDYWxxdWVfMS0yXCI+PHBhdGggY2xhc3M9XCJjbHMtMVwiIGQ9XCJNMCwxLjQ0YzMzLjEyLDAsMzMuNjYsMTQuNTgsNjYuNzgsMTQuNThTOTkuOTEsMS40NCwxMzMuMDMsMS40NHMzMy4xMiwxNC41OCw2Ni4yNSwxNC41OFMyMzIuNCwxLjQ0LDI2NS41MiwxLjQ0czMzLjEyLDE0LjU4LDY2LjI1LDE0LjU4UzM2NC44OSwxLjQ0LDM5OC4wMSwxLjQ0czMzLjEyLDE0LjU4LDY2LjI1LDE0LjU4UzQ5Ny4zOSwxLjQ0LDUzMC41MSwxLjQ0czMzLjEzLDE0LjU4LDY2LjI1LDE0LjU4VjBIMFYxLjQ0WlwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIi8+PC9nPjwvc3ZnPicpO1xuICAvL31cbn1cblxuQG1peGluIGNsaXAtcGF0aCgkcHJvcGVydHkuLi4pIHsgLy8gaHR0cHM6Ly9iZW5uZXR0ZmVlbHkuY29tL2NsaXBweS9cbiAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiAkcHJvcGVydHk7XG4gIHNoYXBlLW91dHNpZGU6ICRwcm9wZXJ0eTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6ICRwcm9wZXJ0eTtcbiAgY2xpcC1wYXRoOiAkcHJvcGVydHk7XG59XG5cbkBtaXhpbiB4LW9wYWNpdHkoJHZhbHVlOiAwKSB7IC8vIFRPRE8gaHR0cHM6Ly9naXRodWIuY29tL2RydWJsaWMvU2Fzcy1NaXhpbnMvYmxvYi9tYXN0ZXIvcGFydGlhbHMvX29wYWNpdHkuc2Nzc1xuICAkdmFsdWUtcGVyY2VudGFnZTogJHZhbHVlICogMTAwO1xuXG4gIG9wYWNpdHk6ICR2YWx1ZTtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0jeyR2YWx1ZS1wZXJjZW50YWdlfSlcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSN7JHZhbHVlLXBlcmNlbnRhZ2V9KTtcbn1cblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIC1vLXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5Li4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi4uLikge1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6ICRkdXJhdGlvbjtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJGR1cmF0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy4uLikge1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS4uLikge1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG5AbWl4aW4gYWxwaGEtYXR0cmlidXRlKCRhdHRyaWJ1dGUsICRjb2xvciwgJGJhY2tncm91bmQpIHtcbiAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xuICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XG4gICRzb2xpZC1jb2xvcjogbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XG4gICN7JGF0dHJpYnV0ZX06ICRzb2xpZC1jb2xvcjtcbiAgI3skYXR0cmlidXRlfTogJGNvbG9yO1xufVxuXG5AbWl4aW4gYmVmb3JlLWFmdGVyLWZ1bGwge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtaXhpbiBwdWxsLWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBwdWxsLXJpZ2h0KCkge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcge1xuICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLy8gSUU2IGFuZCBJRTcgdXNlIHRoZSB3cm9uZyBzeW50YXguXG4gIH1cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG5AbWl4aW4gZWxlbWVudC1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYS1hdHRyaWJ1dGUoJGF0dHJpYnV0ZSwgJGNvbG9yLCAkYmFja2dyb3VuZCkge1xuICAkcGVyY2VudDogYWxwaGEoJGNvbG9yKSAqIDEwMCU7XG4gICRvcGFxdWU6IG9wYWNpZnkoJGNvbG9yLCAxKTtcbiAgJHNvbGlkLWNvbG9yOiBtaXgoJG9wYXF1ZSwgJGJhY2tncm91bmQsICRwZXJjZW50KTtcbiAgI3skYXR0cmlidXRlfTogJHNvbGlkLWNvbG9yO1xuICAjeyRhdHRyaWJ1dGV9OiAkY29sb3I7XG59XG5cbkBtaXhpbiB0ZXh0LWdyYWRpZW50KCRkZWdyZWU6Mjg4LjE3ZGVnLCAkY29sb3IxOiMyOTE2OWQsICRjb2xvcjI6IzM2NDZjYywgJGNvbG9yMzojMWNjMmU3LCAkcGVyY2VudGFnZWNvbG9yMToxMi42JSwgJHBlcmNlbnRhZ2Vjb2xvcjI6NTAuODIlLCAkcGVyY2VudGFnZWNvbG9yMzo5MC4xMiUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWdyZWUsICRjb2xvcjEgJHBlcmNlbnRhZ2Vjb2xvcjEsICRjb2xvcjIgJHBlcmNlbnRhZ2Vjb2xvcjIsJGNvbG9yMyAkcGVyY2VudGFnZWNvbG9yMyk7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbn1cblxuQG1peGluIGxpbmUtYmVmb3JlX2FmdGVyKCRiZ2NvbG9yOiRncmF5LCAkd2lkdGg6MTAwJSwgJGhlaWdodDoxcHgpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgYmFja2dyb3VuZDogJGJnY29sb3I7XG4gIG1hcmdpbjogMTBweCBhdXRvIDIzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gbGluZS1iYWNrZ3JvdW5kKCRiZ2NvbG9yOiRncmF5LCAkaGVpZ2h0OjAuMjVlbSwgJHBvc2l0aW9uOjg1JSkgeyAvL21ldHRyZSB1bmUgc3BhbiBldCBsdWkgYWpvdXRlciBsYSBjbGFzcyBhZmluIGRlIG5lIHBhcyBwZXJkcmUgbGUgY2VudHJhZ2UgZXQgbWFyZ2VzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgkYmdjb2xvciwgMSkgMCwgcmdiYSgkYmdjb2xvciwgMSkgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAkaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICRwb3NpdGlvbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuQG1peGluIGFmdGVyX2xlZnRfcmlnaHQtYm9yZGVyKCRiZ2NvbG9yOiRwcmltYXJ5LCAkcG9zaXRpb246IGxlZnQsICRzcGFjZTozNXB4LCAkd2lkdGg6OHB4LCAkaGVpZ2h0OjkwJSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpZiAoJHBvc2l0aW9uID09IGxlZnQpIHtcbiAgICBsZWZ0OiAkc3BhY2U7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNlO1xuICB9IEBlbHNlIHtcbiAgICByaWdodDogJHNwYWNlO1xuICAgIHBhZGRpbmctbGVmdDogJHNwYWNlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoKDEwMCUgLSAjeyRoZWlnaHR9KSAvIDIpO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgQGlmICgkcG9zaXRpb24gPT0gbGVmdCkge1xuICAgICAgbGVmdDogLSRzcGFjZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHJpZ2h0OiAtJHNwYWNlO1xuICAgIH1cbiAgfVxufVxuXG4vL0BtaXhpbiBhZnRlci1ib3JkZXItYmcoJGhlaWdodDoyN3B4LCAkbXQ6MTVweCwgJGZpbGU6J3B1Y2UtaDEucG5nJykge1xuLy8gIGRpc3BsYXk6IGJsb2NrO1xuLy8gIGNvbnRlbnQ6IFwiXCI7XG4vLyAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gIGhlaWdodDogY2FsYygxMDAlICsgI3skaGVpZ2h0fSk7XG4vLyAgd2lkdGg6IDEwMCU7XG4vLyAgbWF4LXdpZHRoOiAxMDAlO1xuLy8gIHRvcDogY2FsYygtI3skaGVpZ2h0fSAvIDIpO1xuLy8gIGxlZnQ6IDA7XG4vLyAgei1pbmRleDogLTE7XG4vLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy8jeyRmaWxlfSk7XG4vLyAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4vLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbi8vICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbi8vfVxuXG5AbWl4aW4gYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6MjdweCwgJG10OjE1cHgsICRmaWxlOidwdWNlLWgxLnBuZycsICR0b3A6MjhweCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7JGhlaWdodH0pO1xuICB3aWR0aDogMTIlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy8jeyRmaWxlfSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC8vbWFyZ2luOiAkbXQgYXV0byAwO1xufVxuXG5AbWl4aW4gY2hldnJvbi1hZnRlcigkbmFtZSwkcG9zaXRpb254KSB7IC8vdXRpbGlzw6kgcG91ciBsYSBwYWdpbmF0aW9uXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJG5hbWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBAaWYgJHBvc2l0aW9ueCA9PSBsZWZ0IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWJveHNoYWRvdygkb3BhY2l0eSA6IDAuMTEsICR4IDogMHB4LCAkeSA6IDlweCwgJGJsdXIgOiA0NnB4LCAkc3ByZWFkIDogMHB4LCAkY29sb3IgOiAkYmxhY2spIHtcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJHNwcmVhZCByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZiA6IDAsICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQgOiB0cnVlLCAkb3BhY2l0eSA6IDEsICR6LWluZGV4IDogLTEpIHtcbiAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB6LWluZGV4OiAkei1pbmRleDtcbiAgQGlmICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQgPT0gdHJ1ZSB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxuICBAaWYgJG92ZXJsYXktbW90aWYgPT0gMCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3ZlcmxheS0xLnBuZycpO1xuICB9XG4gIEBpZiAkb3ZlcmxheS1tb3RpZiA9PSAxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9vdmVybGF5LTIucG5nJyk7XG4gIH1cbiAgQGlmICRvdmVybGF5LW1vdGlmID09IDIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL292ZXJsYXktMy5wbmcnKTtcbiAgfVxuICBAaWYgJG92ZXJsYXktbW90aWYgPT0gMyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3ZlcmxheS00LnBuZycpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tY2FyZCgkY29sb3IsICRiZywgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlcjogJGJvcmRlcjtcbn1cblxuQGZ1bmN0aW9uIHRvUkdCQSAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICBAcmV0dXJuIFwicmdiYShcIiArIHJlZCgkY29sb3IpICsgXCIsIFwiICsgZ3JlZW4oJGNvbG9yKSArIFwiLCBcIiArIGJsdWUoJGNvbG9yKSArIFwiLCBcIiArICRvcGFjaXR5ICsgXCIpXCI7XG59XG5cbkBtaXhpbiBjdy1jb250YWluZXIoJG13IDogJGN3LWNvbnRhaW5lcikge1xuICBtYXgtd2lkdGg6ICRtdztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY3ctbGlzdC11bCgpIHtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGk6YmVmb3Jle1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICBmb250LXdlaWdodDogJGxpLXN0eWxlLWZhLXdlaWdodDtcbiAgICBmb250LXNpemU6ICRsaS1zdHlsZS1mYS1zaXplO1xuICAgIGNvbnRlbnQ6ICRsaS1zdHlsZS1mYS1pY29uO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogJGxpLXN0eWxlLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdy1pbWctc2hvdy1tb3JlKCRmYS1pY29uOidcXGYwNmUnLCAkaW1nLW9wYWNpdHk6MSwgJGljb24tcm90YXRlLWRlZzowKSB7XG4gIGltZyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKCRpbWctb3BhY2l0eSkgYmx1cigwcHgpO1xuICAgIC8vZmlsdGVyOiBzZXBpYSgwJSk7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuNHMsIGZpbHRlciAwLjJzKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5zaG93LW1vcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaWNvbi1yb3RhdGUtZGVnK2RlZyk7XG4gICAgfVxuXG4gICAgLmljb246YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbnRlbnQ6ICRmYS1pY29uO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC44cyAuMnMpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS42KSk7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC41KSBibHVyKDFweCk7XG4gICAgICAvL2ZpbHRlcjogc2VwaWEoMjUlKTtcbiAgICB9XG5cbiAgICAuc2hvdy1tb3JlIHtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuXG4gICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzY2FsZSgxLjUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjZzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICB9XG4gIH1cbn1cbiIsImRpdi5jdy1ncmlkLXR3byB7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvIGF1dG8gYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBCT1VUT05TIEFWRUMgRk9ORCAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuXG5AbWl4aW4gYnRuLWNvbG9yKCRjb2xvcjokYnRuLW9uZS1mb250LWNvbG9yLCAkY29sb3JIb3ZlcjokYnRuLW9uZS1mb250LWNvbG9yLWhvdmVyKSB7XG4gIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvckhvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1ib3JkZXIoJGJvcmRlci1oZWlnaHQ6JGJ0bi1ib3JkZXItaGVpZ2h0LCAkYm9yZGVyOiRidG4tb25lLWJvcmRlci1jb2xvciwgJGJvcmRlci1ob3ZlcjokYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXIsICRvcGFjaXR5OiRidG4tb25lLWJvcmRlci1jb2xvci1vcGFjaXR5LCAkb3BhY2l0eS1ob3ZlcjokYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eSkge1xuICBib3JkZXI6ICRib3JkZXItaGVpZ2h0IHNvbGlkIHJnYmEoJGJvcmRlciwgJG9wYWNpdHkpO1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXI6ICRib3JkZXItaGVpZ2h0IHNvbGlkIHJnYmEoJGJvcmRlci1ob3ZlciwgJG9wYWNpdHktaG92ZXIpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tYWZ0ZXIoJGFmdGVyLWhlaWdodDoxcHgsICR1bmRlcmxpbmUtY29sb3I6JHByaW1hcnksICR1bmRlcmxpbmUtY29sb3ItaG92ZXI6JHByaW1hcnktZGFyaykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGxlZnQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhZnRlci1oZWlnaHQgc29saWQgJHVuZGVybGluZS1jb2xvcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFmdGVyLWhlaWdodCBzb2xpZCAkdW5kZXJsaW5lLWNvbG9yLWhvdmVyO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoMTAwJSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ0bi1pbWcoJGJ0bi1pbWcsICRidG4taW1nLWhvdmVyKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkYnRuLWltZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkYnRuLWltZy1ob3Zlcik7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1iZy10cmFuc2l0aW9uKCRiZy10cmFuc2l0aW9uOiRidG4tYmctdHJhbnNpdGlvbiwgJGJnQ29sb3I6JGJ0bi1vbmUtYmcsICRiZ0NvbG9ySG92ZXI6JGJ0bi1vbmUtYmctaG92ZXIsICRiZ0NvbG9yT3BhY2l0eTokYnRuLW9uZS1iZy1vcGFjaXR5LCAkYmdDb2xvck9wYWNpdHlIb3ZlcjokYnRuLW9uZS1iZy1vcGFjaXR5LWhvdmVyLCAkYmdDb2xvclR3bzokYnRuLW9uZS1iZy1ob3ZlciwgJGJnQ29sb3JUd29Ib3ZlcjokYnRuLW9uZS1iZykge1xuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvciwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAxIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGxpZ2h0ZW4oJGJnQ29sb3IsIDUlKSwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShsaWdodGVuKCR0ZXJ0aWFyeSwgNSUpLCAkYnRuLW9uZS1iZy1vcGFjaXR5KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKSwgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3ZlcikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG4gIH1cbiAgQGlmICRiZy10cmFuc2l0aW9uID09IDQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSA1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMHB4IDBweCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDExcHggMTFweCAwcHggMHB4IHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBjaGFuZ2UgdG8gZmFsc2UgaWYgaXRzIG5vdCBpbXBvcnRlZCBpbnRvIGJvb3RzdHJhcFxuJHVzZS1ib290c3RyYXA6IGZhbHNlO1xuXG4vLyBtYXJnaW4gYW5kIHBhZGRpbmcgdmFsdWVzIGFycmF5XG4kd2lkdGgtdmFsdWVzOiAoXG4gICAgICAgIDEwMCxcbiAgICAgICAgMTIwLFxuICAgICAgICAxNDAsXG4gICAgICAgIDE2MCxcbiAgICAgICAgMTgwLFxuICAgICAgICAyMDAsXG4gICAgICAgIDIyMCxcbiAgICAgICAgMjQwLFxuICAgICAgICAyNjAsXG4gICAgICAgIDI4MCxcbiAgICAgICAgMzAwLFxuICAgICAgICAzMjAsXG4gICAgICAgIDM0MCxcbiAgICAgICAgMzYwLFxuICAgICAgICAzODAsXG4gICAgICAgIDQwMCxcbikgIWRlZmF1bHQ7XG5cbi8vIG1haW4gZnVuY3Rpb24gZGVmaW5pdGlvblxuQG1peGluIG1ha2Utc3BhY2UoJHZhbHVlcywgJGJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LW5hbWUsICRicmVha3BvaW50LXZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgLmJ0bi0jeyRicmVha3BvaW50LW5hbWV9LSN7JHZhbHVlfSB7XG4gICAgICAgICAgd2lkdGg6ICN7JHZhbHVlfXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWFrZS1zcGFjZSgkd2lkdGgtdmFsdWVzLCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICBbY2xhc3MqPVwiYnRuLVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLmRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLmN3LW9wYWNpdHktMTAwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDEpXG59XG5cbi5jdy1vcGFjaXR5LTkwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuOSk7XG59XG5cbi5jdy1vcGFjaXR5LTgwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuOCk7XG59XG5cbi5jdy1vcGFjaXR5LTcwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNyk7XG59XG5cbi5jdy1vcGFjaXR5LTYwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNik7XG59XG5cbi5jdy1vcGFjaXR5LTUwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNSk7XG59XG5cbi5jdy1vcGFjaXR5LTQwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuNCk7XG59XG5cbi5jdy1vcGFjaXR5LTMwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMyk7XG59XG5cbi5jdy1vcGFjaXR5LTIwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMik7XG59XG5cbi5jdy1vcGFjaXR5LTEwIHtcbiAgQGluY2x1ZGUgeC1vcGFjaXR5KDAuMSk7XG59XG5cbi5jdy1vcGFjaXR5LTAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMClcbn0iLCJidXR0b24sIC5idG4ge1xuICAmOmZvY3VzLCAmOmFjdGl2ZTpmb2N1cywgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi5idG4tZHJvcGRvd24ge1xuICAuZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICBidXR0b24sIC5kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRidG4tbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnRuLXRleHQtdHJhbnNmb3JtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogUEFSQU1FVFJBR0UgREUgQkFTRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLmJ0biB7XG4gIEBpZiAkYnRuLXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMjBweCwgNDBweCwgMHB4KTtcbiAgfVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBpbml0aWFsO1xuICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICB0ZXh0LXRyYW5zZm9ybTogJGJ0bi10ZXh0LXRyYW5zZm9ybTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL21hcmdpbjogMDtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLy9iYWNrZ3JvdW5kOiBub25lO1xuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLWJ0bik7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgIC8vdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5idG4tcHJpbWFyeSwgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCk7IC8vUmVnYXJkZXIgZW4gYmFzIHBvdXIgYXZvaXIgbGVzIGRpZmbDqXJlbnRlcyB2YXJpYWJsZXNcbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gIH1cbiAgLy9AaW5jbHVkZSBidG4tYWZ0ZXIoKTtcbn1cblxuLmJ0bi1zZWNvbmRhcnksIC5idXR0b24tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCRidG4tdHdvLWZvbnQtY29sb3IsICRidG4tdHdvLWZvbnQtY29sb3ItaG92ZXIpO1xuICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24sICRidG4tdHdvLWJnLCAkYnRuLXR3by1iZy1ob3ZlciwgJGJ0bi10d28tYmctb3BhY2l0eSwgJGJ0bi10d28tYmctb3BhY2l0eS1ob3Zlcik7XG4gIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICBAaW5jbHVkZSBidG4tYm9yZGVyKCRidG4tYm9yZGVyLWhlaWdodCwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXIsICRidG4tdHdvLWJvcmRlci1jb2xvci1vcGFjaXR5LCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eSk7XG4gIH1cbn1cblxuLmJ0bi10ZXJ0aWFyeSB7XG4gIEBpbmNsdWRlIGJ0bi1hZnRlcigxcHgsICRncmF5LTYwMCwgJHdoaXRlKTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIG1hcmdpbjogMCAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBCTE9DIEFDVFUgKioqKioqKioqKioqKiovXG4uYWxsLWFjdHVzIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbik7XG4gIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICBAaW5jbHVkZSBidG4tYm9yZGVyKCRidG4tYm9yZGVyLWhlaWdodCwgJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLCAkYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXIpO1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBCTE9DIEFWSVMgQ0xJRU5UIChmcm9udCkqKioqKioqKioqKioqKi9cbiNhdmlzLWNsaWVudCAudmlldy1mb290ZXIge1xuICAuYnRuLWF2aXMgLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24pO1xuICAgIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBBVklTIENMSUVOVCAqKioqKioqKioqKioqKi9cbi5wYWdlLW5vZGUtYWRkLW1lc3NhZ2UgLmZvcm0tYWN0aW9ucyB7XG4gIC53ZWJmb3JtLXN1Ym1pdCwgI2VkaXQtc3VibWl0IHtcbiAgICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigkYnRuLWJnLXRyYW5zaXRpb24pO1xuICAgIEBpZiAkYnRuLWJvcmRlci1oZWlnaHQgPiAwIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiBGT1JNVUxBSVJFIEJMT0MgQk9UVE9NIEFDQ1VFSUwgKioqKioqKioqKioqKiovXG4vLy5ibG9jay13Zi1jb250YWN0IHtcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLyoqKioqKioqKioqKioqIEZPUk1VTEFJUkUgUEFHRSBDT05UQUNUICoqKioqKioqKioqKioqL1xuLy9mb3JtIHtcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLy8vKioqKioqKioqKioqKiogRkxPVFRBTlQgKioqKioqKioqKioqKiovXG4vLy5mbGItYnRuIHsgLy8gYm91dG9uIGVuIG1vYmlsZSwgZGFucyBsYSBuYXZiYXJcbi8vICAuYnRuLXByaW1hcnkge1xuLy8gIH1cbi8vfVxuLy8uZmxiLWJsb2NrIHsgLy8gYm91dG9uIGR1IGZvcm11bGFpcmVcbi8vICAuYnV0dG9uLS1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLy8vKioqKioqKioqKioqKiogQ1ctQ0FSRCAqKioqKioqKioqKioqKi9cbi8vLmN3LWNhcmQge1xuLy8gIC5idG4tcHJpbWFyeSB7XG4vLyAgfVxuLy99XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKiBCVE4gRVhFTVBMRSAqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuLmJ0bi0wIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDApO1xufVxuXG4uYnRuLTEge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMSwgJHByaW1hcnksICRwcmltYXJ5LWRhcmssIDEsIDEsICRwcmltYXJ5LWRhcmssICRwcmltYXJ5KTtcbn1cblxuLmJ0bi0yIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDIpO1xufVxuXG4uYnRuLWltZyB7XG4gIEBpbmNsdWRlIGJ0bi1jb2xvcigpO1xuICBAaW5jbHVkZSBidG4taW1nKCRidG4taW1nLCAkYnRuLWltZy1ob3Zlcik7XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKiogQlROIHBvdXIgRm9udCBBd2Vzb21lICoqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbltjbGFzcyo9XCJidG4tZmEtXCJdIHtcbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgd2lkdGg6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1mYS1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuXG4uYnRuLWZhLWFuZ2xlLXJpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG5cbi5idG4tZmEtYW5nbGUtY2VudGVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC14cyA+IC5idG4sIC5idG4teHMge1xuICBwYWRkaW5nOiAuNHJlbSAuNXJlbTtcbiAgZm9udC1zaXplOiAuNjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAuNTtcbiAgYm9yZGVyLXJhZGl1czogLjJyZW07XG59XG5cbi8vIEJvdXRvbiBkZSBtb2RpZmljYXRpb25zXG4uYnRuLXdhcm5pbmcge1xuICBjb2xvcjogIzE4MTgxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M2OTUwMDtcbiAgfVxufVxuXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKiBCVE4gc2xpZGUgKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICBib2R5IC5idG4tc2xpZGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNsaWRlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiA2NXB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBAaWYgJGJ0bi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAwIDJweCAzcHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuICB9XG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4ycyBlYXNlLWluLW91dCwgcmlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMXB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgcGFkZGluZzogNy41cHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTNweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4ycyBlYXNlLWluLW91dCwgcmlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBjb2xvcjogJHdoaXRlIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNsaWRlLmJ0bi1zbGlkZS13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xufVxuXG4vLyDDoCB1dGlsaXNlciBzdXIgdW5lIGltYWdlIChsb2dvIHBhciBleGVtcGxlKVxuLmJ0bi1pbWcge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGZpbHRlciAwLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygwcHggNnB4IDZweCByZ2JhKCRibGFjaywgMC4yKSkpO1xuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGZpbHRlciAwLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMDUpKTtcbiAgICBAaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3coMHB4IDZweCAxMnB4IHJnYmEoJGJsYWNrLCAwLjUpKSk7XG4gIH1cbn1cbiIsIi5pbWctY2VudGVyLCAuYm94LWNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5pbWctc20tY2VudGVyLCAuYm94LXNtLWNlbnRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmltZy1zbS1sZWZ0LCAuYm94LXNtLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuaW1nLXNtLXJpZ2h0LCAuYm94LXNtLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAubWQtaW1nLWFydGljbGUge1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gIH1cblxuICAuaW1nLW1kLWNlbnRlciwgLmJveC1tZC1jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5pbWctbWQtbGVmdCwgLmJveC1tZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmltZy1tZC1yaWdodCwgLmJveC1tZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxnLWltZy1hcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDc5MHB4O1xuICB9XG4gIC5pbWctbGctY2VudGVyLCAuYm94LWxnLWNlbnRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmltZy1sZy1sZWZ0LCAuYm94LWxnLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuaW1nLWxnLXJpZ2h0LCAuYm94LWxnLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuaW1nLXhsLWNlbnRlciwgLmJveC14bC1jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5pbWcteGwtbGVmdCwgLmJveC14bC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmltZy14bC1yaWdodCwgLmJveC14bC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59IiwiLyogLS0tLS0tLS0tLS0tIFBJQ1RPUyBQQVJBTExBWCAtLS0tLS0tLS0tLS0gKi9cbi5jdy1pYm94IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjFzIGVhc2UtaW4tb3V0KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjJkZWcsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAyJSksIDEpIDAlLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMC41JSksIDEpIDkwJSk7XG4gIH1cblxuICA+IGg0IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5zZXBhcmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4wMyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZztcbiAgfVxuXG4gIHVsLCBwIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0gWk9PTSBTVVIgSU1BR0UgYjQzMSAtLS0tLS0tLS0tLS0gKi9cbi5jdy1sYXp5IHsgLy9MJ2ltYWdlIHNvcnQgZGUgc2EgZGl2XG4gIGltZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCk7XG4gIH1cblxuICBpbWc6aG92ZXIge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuLmN3LWxhenktaGlkZSB7IC8vTCdpbWFnZSBuZSBzb3J0IHBhcyBkZSBzYSBkaXZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi5jdy1uby1iZWZvcmUtYWZ0ZXIge1xuICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jdy1jb250ZW50IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICogMjtcbiAgcGFkZGluZzogMjBweDtcblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjEpO1xuICB9XG59XG5cbi5jdy1ibGVuZC1tb2RlLXNjcmVlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IC8vQSB1dGlsaXNlciBzdXIgLnBuZyBwb3VyIHN1cHByaW1lciBmb25kLCBuZSBwYXMgbWV0dHJlIGRlIGZhZGVJbi5cbn1cblxuLmN3LWJsZW5kLW1vZGUtZGFya2VuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgLy9BIHV0aWxpc2VyIHN1ciAucG5nIHBvdXIgc3VwcHJpbWVyIGZvbmQsIG5lIHBhcyBtZXR0cmUgZGUgZmFkZUluXG59XG5cbi5jdy1ib3gtMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdy1ib3hyYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1ib3hyYWRpdXMtMiB7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLy8kY3ctYm94cmFkaXVzLXh4eHhcbiRjdy1ib3hyYWRpdXMteHh4eDogMTAwcHg7XG4uY3ctYm94cmFkaXVzLTF4MXgge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKCN7JGN3LWJveHJhZGl1cy14eHh4fSAvIDIpIDAgY2FsYygjeyRjdy1ib3hyYWRpdXMteHh4eH0gLyAyKSAwICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1ib3hyYWRpdXMteDF4MSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgY2FsYygjeyRjdy1ib3hyYWRpdXMteHh4eH0gLyAyKSAwIGNhbGMoI3skY3ctYm94cmFkaXVzLXh4eHh9IC8gMikgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctYm94cmFkaXVzLTF4MXgge1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdy1ib3hyYWRpdXMteHh4eCAwICRjdy1ib3hyYWRpdXMteHh4eCAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmN3LWJveHJhZGl1cy14MXgxIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICRjdy1ib3hyYWRpdXMteHh4eCAwICRjdy1ib3hyYWRpdXMteHh4eCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLS0tLS0tXG5cbi5jdy1ib3hzaGFkb3cge1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbn1cblxuLmN3LWJveHNoYWRvdy0xIHtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG59XG5cbi5jdy1ib3hzaGFkb3ctMiB7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xufVxuXG4uY3ctZHJvcC1zaGFkb3cge1xuICBAaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3coMHB4IDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpKTtcbn1cblxuLmN3LWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uY3ctc3F1YXJlIHtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgd2lkdGg6IDI2MHB4O1xuICBtYXgtaGVpZ2h0OiA4MHZ3O1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmN3LWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoJGdyYXktMjAwLCAwLjUyKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKCRncmF5LTIwMCwgMSkgIWltcG9ydGFudDtcbn1cblxuLmN3LWJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgkZ3JheS0yMDAsIDEpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1saW5lLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS0yMDAsIDEpO1xufVxuXG4uY3ctYmctb25lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuXG4uY3ctYmctdHdvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdGhyZWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb25lICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1vbmUtdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcHJpbWFyeSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdHdvLXRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjg1KSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdGhyZWUtdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmctb25lLCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctYmxhY2ssIC5jdy1iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1pbWcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGljdG8tYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5bY2xhc3MqPVwiY3ctYmctZ3JhZGllbnQtXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICB9XG59XG5cbi5jdy1iZy1ncmFkaWVudC1vbmU6YWZ0ZXIge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJHdoaXRlLCAwLjgpIDEwMCUsIHJnYmEoJGJsYWNrLCAwLjg1KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10d286YWZ0ZXIge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJHdoaXRlLCAwLjYpIDAlLCByZ2JhKCR3aGl0ZSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10aHJlZTphZnRlciB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkcHJpbWFyeSwgMC42KSAwJSwgcmdiYSgkcHJpbWFyeSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZWZvcmUtYWZ0ZXItZnVsbCB7XG4gIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xufVxuXG4uY3ctZmlsdGVyLWJsYWNrOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMC41NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAvL0BpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsKHRyYW5zcGFyZW50ICwgJGJsYWNrLCAwJSwgMTAwJSk7XG59XG5cblxuLmN3LWltZy1ncmF5c2NhbGUge1xuICBAaW5jbHVkZSBmaWx0ZXIoZ3JheXNjYWxlKDEpKTtcbn1cblxuLmN3LW5ld2xpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIC0tLSBkaXNwbGF5IG5vbmUgYSBwYXJ0aXIgZGUgLi4uIGNmIHF1ZXJpZXMgLS0tICovXG4uZnJvbnQgLnhzLWZyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ub3QtZnJvbnQgLnhzLW5mci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLSAgQkFDS0dST1VORCBESUZGRVJFTlRTIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tICovXG5bY2xhc3MqPVwiY3ctYmctaW1hZ2UtXCJdIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkd2hpdGUsIDAuNyksICR3aGl0ZSk7XG59XG5cbi5jdy1iZy1pbWFnZS0xIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2FjYzEuanBnXCIpO1xufVxuXG4uY3ctYmctaW1hZ2UtMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hY2MyLmpwZ1wiKTtcbn1cblxuLmN3LWJnLWltYWdlLTMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYWNjMy5qcGdcIik7XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctYm94JztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmN3LWlib3gge1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAubWQtaW1nLWFydGljbGUge1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGctaW1nLWFydGljbGUge1xuICAgIG1heC13aWR0aDogNzkwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xufSIsIi8vIFRhYmxlYXUgcmVzcG9uc2l2ZVxuLmN3LXRhYmxlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdy10YWJsZS1jb250YWluZXItYmc7XG4gIGNvbG9yOiAkY3ctdGFibGUtY29udGFpbmVyLWNvbG9yO1xuXG4gIGgyIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY3ctdGFibGUtY29udGFpbmVyLWNvbG9yO1xuICB9XG5cbiAgLmJ0biB7XG4gICAgQGluY2x1ZGUgYnRuLWNvbG9yKCRidG4tdHdvLWZvbnQtY29sb3IsICRidG4tdHdvLWZvbnQtY29sb3ItaG92ZXIpO1xuICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbiwgJGJ0bi10d28tYmcsICRidG4tdHdvLWJnLWhvdmVyLCAkYnRuLXR3by1iZy1vcGFjaXR5LCAkYnRuLXR3by1iZy1vcGFjaXR5LWhvdmVyKTtcbiAgICBAaW5jbHVkZSBidG4tYm9yZGVyKCRidG4tYm9yZGVyLWhlaWdodCwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXIsICRidG4tdHdvLWJvcmRlci1jb2xvci1vcGFjaXR5LCAkYnRuLXR3by1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eSk7XG4gICAgcGFkZGluZzogN3B4IDdweDtcbiAgfVxuXG4gIHRoZWFkIHRyIHRkIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5jdy10YWJsZS1tb2Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdy10YWJsZS1tb2ItYmc7XG5cbiAgICB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICRjdy10YWJsZS1tb2ItY29sb3I7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN3LXRhYmxlLW1vYi1iZy10ci1jaGlsZF9vZGQ7XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDBweCAyMHB4IDEwcHggMjBweDtcblxuICAgICAgICBiciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy9wYWRkaW5nLXRvcDogMHB4IWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqVGFibGVhdSBjb21wbGV4ZSAtIGJlZm9yZSAtIGFqb3V0ZXIgbGEgY2xhc3NlIC5jdy10YWJsZS1jb21wbGV4ICoqKi9cbiRjb250ZW50LWJlZm9yZS1jaGlsZF8xOiBcIi0gTWluaSAtXCI7XG4kY29udGVudC1iZWZvcmUtY2hpbGRfMjogXCItIFN0YW5kYXJkIC1cIjtcbiRjb250ZW50LWJlZm9yZS1jaGlsZF8zOiBcIi0gR3JhbmRlIC1cIjtcblxuLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFibGUtY29tcGxleCB7XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdGJvZHkgdHIgdGQge1xuICAgICY6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY29udGVudC1iZWZvcmUtY2hpbGRfMTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKTpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzI7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjb250ZW50LWJlZm9yZS1jaGlsZF8zO1xuICAgIH1cbiAgfVxufVxuXG5cbi5ub3QtYmVmb3JlOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIC0tPiBDbGFzc2Ugw6AgYWpvdXRlciBhdSBIVE1MIHBvdXIgZWZmYWNlciBsZXMgYmVmb3JlIHN1ciBsZXMgY2VsbHVsZXMgYXZlYyB1bmUgY29uZmlndXJhdGlvbiBkaWZmw6lyZW50ZVxuXG4vKioqIERldXggdGFibGVhdSBkYW5zIHVuZSBjYXJ0ZV9tZW51ICoqKi9cbi5jdy1jb250YWluZXItdHdvLXRhYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAuY3ctdGFibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmN3LXRhYmxlLW1vYiB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgLy9wYWRkaW5nOjBweCFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogNTUlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcblxuICAgICAgICBiciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOjBweCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKioqVGFibGVhdSBjb21wbGV4ZSAtIHRoZWFkIC0gYWpvdXRlciBsYSBjbGFzc2UgLmN3LXRhYmxlLWNvbXBsZXggKioqL1xuICAuY3ctdGFibGUtY29udGFpbmVyIC5jdy10YWJsZS1jb21wbGV4IHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuXG4gIC8qKiogRGV1eCB0YWJsZWF1IGRhbnMgdW5lIGNhcnRlX21lbnUgKioqL1xuICAuY3ctY29udGFpbmVyLXR3by10YWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5jdy10YWJsZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIFRFWFRFIENFTlRSRVIgU1VSIElNRyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBJTkZPOiBTdXJ2b2wgZCd1bmUgaW1hZ2UgYXZlYyB1biBiYWNrZ3JvdW5kLWNvbG9yXG4vLyBQUk9KRVQgUkVGIDogaHR0cHM6Ly9kb21pbm8uY2xpa2VuLXdlYi5jb20vcHJvamVjdC8yMTIwXG4vLyBIVE1MIDogPGRpdiBjbGFzcz1cImltZy1ob3ZlclwiPjxpbWcgYWx0PVwiXCIgY2xhc3M9XCJpbWctcmVzcG9uc2l2ZSBpbWctY2VudGVyIGN3LWJveHNoYWRvd1wiIHNyYz1cIi9zaXRlcy8yMTIwZDcxOC9maWxlcy9jZXJ0aWZpY2F0R0lBLmpwZ1wiIC8+PGEgaHJlZj1cIlwiPlZvaXIgUGx1cyArPC9hPjwvZGl2PlxuI2lubmVyLXBhZ2Utc2VjdGlvbiAuY3ctaW1nLWhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpKTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRzZWNvbmRhcnksIDAuODYpLCAkc2Vjb25kYXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBQSUNUT1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuJGN3LXBpY3RvLWhlaWdodDogMjMwcHg7XG4kY3ctcGljdG8td2lkdGg6IDIzMHB4O1xuJGN3LXBpY3RvLXA6IDEyJTtcbi5jdy1waWN0b3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgJi5jdy1waWN0b3MtbXQtbGVnZW5kIHtcbiAgICAucGljdG8tbGVnZW5kZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7Ly9BY3RpdmVyIHNpIHRleHRlIGNlbnRlciB2ZXJ0aWNhbGVtZW50ICoqXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC8vaGVpZ2h0OiA4MHB4Oy8vICoqXG4gICAgfVxuICB9XG5cbiAgLnBpY3RvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmaWxsOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAkY3ctcGljdG8taGVpZ2h0O1xuICAgIHdpZHRoOiAkY3ctcGljdG8td2lkdGg7XG4gICAgcGFkZGluZzogJGN3LXBpY3RvLXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL2hlaWdodDogMTAwJTsgLy8gU2kgYmcgc3VyIC5waWN0byAoaW1nIGV0IHRleHRlIGF2ZWMgZm9uZClcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLnBpY3RvLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMjlweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAucGljdG8tbGVnZW5kZSB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgLy9saW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvL2NvbG9yOiAkZGFyaztcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdygwcHggNXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbiAgICBiIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRzZWNvbmRhcnktZm9udC13ZWlnaHQ7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLXhzIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcblxuICAgIC5waWN0byB7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5jdy1waWN0b3Mtc20ge1xuICA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcblxuICAgIC5waWN0byB7XG4gICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5jdy1waWN0b3MtbWQge1xuICA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcblxuICAgIC5waWN0byB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jdy1waWN0b3MtbGcge1xuICA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcblxuICAgIC5waWN0byB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5jdy1waWN0b3MtcmVjdGFuZ2xlIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogOCU7XG4gICAgfVxuICB9XG59XG5cbi5hbGwtaW1nLWdyYXlzY2FsZSB7XG4gIGltZyB7XG4gICAgQGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSgxMDAlKSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjVzKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSgwJSkpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjVzKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBQVVpaTEUgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuLy8gcHV6emxlIDMgaW1hZ2VzIMOgIGxhIHBsYWNlIGRlIGwnaW1hZ2UgdW5pcXVlLlxuJHB1enpsZS1pbWctd2lkdGg6IDUwJTtcbiRwdXp6bGUtaW1nLWhlaWdodDogMTkwcHg7XG4kcHV6emxlLXNwYWNlOiA3cHg7XG5cbiRzcGFjZXJzLXBvdXJjZW50OiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzLXBvdXJjZW50OiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTA6IDEwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDIwOiAyMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAzMDogMzMuMzMlLFxuICAgICAgICAgICAgICAgICAgICAgICAgNTA6IDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMDogMTAwJSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzcGFjZXJzLXBvdXJjZW50XG4pO1xuXG5AZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2Vycy1wb3VyY2VudCB7XG4gIC5wdXp6bGUtaW1nLWhlaWdodC0jeyRzaXplfSB7XG4gICAgJi5pbWctY29udGVudCB7XG4gICAgICBoZWlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnB1enpsZS1jb2wtd2lkdGgtI3skc2l6ZX0ge1xuICAgIHdpZHRoOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmN3LWltZ3MtcHV6emxlIHtcbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmltZy1jb250ZW50Om50aC1jaGlsZChuKzIpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JHB1enpsZS1zcGFjZX0gKiAyKTtcbiAgICB9XG5cbiAgICA+IGRpdjpudGgtY2hpbGQobisyKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skcHV6emxlLXNwYWNlfSAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5pbWctYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgY3ctaW1nLXNob3ctbW9yZSgnXFxmMGIyJywgMSwgMjI1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWRhbWllci1jYXJkcztcbiAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMjcpO1xuICAgIH1cblxuICAgICY6aG92ZXIgLnNob3ctbW9yZSB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWRhbWllci1jYXJkcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDEpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wtcHV6emxlLTEsIC5jb2wtcHV6emxlLTIge1xuICAgIGhlaWdodDogY2FsYygyICogI3skcHV6emxlLWltZy1oZWlnaHR9KTtcbiAgfVxuXG4gIC5jb2wtcHV6emxlLTMge1xuICAgIGhlaWdodDogY2FsYygzODVweCAvIDIpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skcHV6emxlLXNwYWNlfSAqIDIpO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFLDqXNlYXV4IHNvY2lhdXggZHUgZm9vdGVyXG4vL1xuLy8gU1ZHIDogPGEgaHJlZj1cIiNcIiB0YXJnZXQ9XCJfYmxhbmtcIj48aSBjbGFzcz1cInN2ZyBzdmctYm9va2luZ1wiPjxzdmcgdmlld2JveD1cIjAgMCAzLjAzNiAzLjAzN1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuMTEzIDIuNTI0aC0uNTF2LS42MWMwLS4xMy4wNS0uMi4xNjItLjIxNGguMzVhLjM4LjM4IDAgMCAxIC40MS40MTFjMCAuMjYtLjE1Ny40MTUtLjQxLjQxNXpNLjYwMi44NzV2LS4xNmMwLS4xNC4wNi0uMjA4LjE5LS4yMTZoLjI2MmMuMjI0IDAgLjM2LjEzNC4zNi4zNiAwIC4xNy0uMDkyLjM3LS4zNS4zN2gtLjQ2em0xLjE2NC42MWwtLjA5Mi0uMDUyLjA4LS4wN2MuMDk0LS4wOC4yNS0uMjYyLjI1LS41NzUgMC0uNDgtLjM3Mi0uNzktLjk0Ny0uNzloLS43M2EuMzIuMzIgMCAwIDAtLjMwOS4zMTd2Mi43MkgxLjA3Yy42NCAwIDEuMDUyLS4zNDggMS4wNTItLjg4OCAwLS4yOS0uMTMzLS41NC0uMzU4LS42NjVcIiBmaWxsPVwiI2ZmZmZmZlwiPjwvcGF0aD48cGF0aCBkPVwiTTIuMjg4IDIuNjdjMC0uMjAzLjE2My0uMzY3LjM2NS0uMzY3cy4zNjcuMTY0LjM2Ny4zNjctLjE2NC4zNjctLjM2Ny4zNjctLjM2NS0uMTY0LS4zNjUtLjM2N1wiIGZpbGw9XCIjZmZmZmZmXCI+PC9wYXRoPjwvc3ZnPjwvaT48L2E+XG5bY2xhc3MqPVwiY3ctZm9sbG93LXVzLVwiXSB7XG4gIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuXG4gIHN0cm9uZ3tcbiAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhID4gaSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgd2lkdGg6ICRibG9jLXJlc2VhdXgtd2lkdGgtaGVpZ2h0O1xuICAgIGhlaWdodDogJGJsb2MtcmVzZWF1eC13aWR0aC1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGJsb2MtcmVzZWF1eC1iZztcbiAgICBjb2xvcjogJGJsb2MtcmVzZWF1eC1jb2xvcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJsb2MtcmVzZWF1eC1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKCRibGFjaywgMCk7XG5cbiAgICBwYXRoIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgZmlsbDogJGJsb2MtcmVzZWF1eC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLCAmZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxvYy1yZXNlYXV4LWJnLWhvdmVyO1xuICAgICAgY29sb3I6ICRibG9jLXJlc2VhdXgtY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCA2cHggMCByZ2JhKCRibGFjaywgMC4xKTtcblxuICAgICAgcGF0aCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBmaWxsOiAkYmxvYy1yZXNlYXV4LWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEgaS5mYWIsIGEgLnN2ZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgaSA+IHN2ZyB7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgaGVpZ2h0OiAxOHB4OyAvLyBidWcgaWwgeSBhIHVuIGTDqWNhbGxhZ2UgZW50cmUgbGEgdGFpbGxlIGR1IHN2ZyBldCBsJ2ludGVycHLDqHRhdGlvbiBkdSBuYXZpZ2F0ZXVyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvL2ZpcmVmb3hcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyAvL2ZpcmVmb3hcbiAgICAmOmhvdmVyLCAmZm9jdXMge1xuICAgICAgZmlsbDogJGJsb2MtcmVzZWF1eC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLmN3LWZvbGxvdy11cy1vbmx5IHsgLy8gVW4gc2V1bCByw6lzZWF1IHNvY2lhbFxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cblxuLmN3LWZvbGxvdy11cy12YXJpb3VzIHsgLy8gUGx1c2lldXJzIHLDqXNlYXV4IHNvY2lhdXhcbiAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgLmN3LWZvbGxvdy11cy12YXJpb3VzLWNvbnRlbnQge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi5jdy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoKVxufVxuXG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctbW9kZWwnO1xuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gIHRhYmxlLmN3LXRhYmxlLXJlc3BvbnNpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ci1ldmVuLWJnO1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHRyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC41cHggZGFzaGVkICR0ci1ldmVuLWRhc2g7XG4gICAgICB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtYmchaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5mcm9udCAuc20tZnItaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm5vdC1mcm9udCAuc20tbmZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5mcm9udCAubWQtZnItaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm5vdC1mcm9udCAubWQtbmZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5mcm9udCAubGctZnItaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm5vdC1mcm9udCAubGctbmZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gaHR0cHM6Ly93d3cuc2hhcGVkaXZpZGVyLmFwcC9cblxuLyogLTEgb3UgMSBwb3VyIG9yaWVudGF0aW9uIGhvcml6b250YWwgZGUgbGEgZm9ybWUgKi9cbiRzaGFwZS1kaXZpZGVyLWRpcmVjdGlvbi1iZWZvcmU6IC0xOyAvLyBoYXV0XG4kc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXI6IDE7IC8vIGJhc1xuXG4kc2hhcGUtZGl2aWRlci1oZWFkZXItYmc6IHRyYW5zcGFyZW50O1xuJHNoYXBlLWRpdmlkZXItaGVhZGVyLWhlaWdodC14czogMjVweDtcbiRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGc6IDcwcHg7XG5cbiRzaGFwZS1kaXZpZGVyLWZpcnN0LWJnOiB0cmFuc3BhcmVudDtcblxuJHNoYXBlLWRpdmlkZXItb3BhY2l0eTogMTtcbiRzaGFwZS1kaXZpZGVyLWhlaWdodDogJHNoYXBlLWRpdmlkZXItaGVhZGVyLWhlaWdodC1sZztcblxuJHNoYXBlLWRpdmlkZXItanVtYm90cm9uLWJvdHRvbS1jb2xvcjogJGJsb2MtYWN0dS1iZztcbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20tbm90LWZyb250LWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiRzaGFwZS1kaXZpZGVyLWFjdHVhbGl0ZS1ib3R0b20tY29sb3I6ICRib2R5LWJnO1xuJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtdG9wLWNvbG9yOiAkZm9yY2VzLWJnO1xuJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tLWNvbG9yOiAkcmVmZXJlbmNlcy1iZztcbiRzaGFwZS1kaXZpZGVyLW1hcC10b3AtY29sb3I6ICRyZWdpb24tZm9vdGVyLXNlY29uZC1iZztcbiRzaGFwZS1kaXZpZGVyLW1hcC1ib3R0b20tY29sb3I6ICRib3R0b20tYmc7XG5cbi8qKioqKioqKioqKioqKiAqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIEJMT0MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKiAqKioqKioqKioqKioqKi9cbi8vIGhlYWRlclxuQGlmICRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20geyAvLyBiYXNcbiAgLnBhdGgtZnJvbnRwYWdlIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKCRzaGFwZS1kaXZpZGVyLWhlYWRlci1iZywgJHNoYXBlLWRpdmlkZXItanVtYm90cm9uLWJvdHRvbS1jb2xvciwgMSwgJHNoYXBlLWRpdmlkZXItaGVhZGVyLWhlaWdodC1sZyk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzaGFwZS1kaXZpZGVyLWRpcmVjdGlvbi1hZnRlciwgLTEpO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgIH1cbiAgfVxuICAubm90LWZyb250IC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKCRzaGFwZS1kaXZpZGVyLWhlYWRlci1iZywgJGJyZWFkY3J1bWItYmcsIDEsICRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGcpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gYWN0dWFsaXTDqXNcbi5ibG9jLWFjdHVhbGl0ZXMge1xuICBAaWYgJHNoYXBlLWRpdmlkZXItYWN0dWFsaXRlLWJvdHRvbSB7IC8vIGJhc1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRzaGFwZS1kaXZpZGVyLWFjdHVhbGl0ZS1ib3R0b20tY29sb3IsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzaGFwZS1kaXZpZGVyLWRpcmVjdGlvbi1hZnRlciwtMSk7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIHBhcmFsbGF4XG5AaWYgJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtdG9wIHsgLy8gaGF1dFxuICAuYmxvY2stcGFyYWxsYXgtZnJvbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKHRyYW5zcGFyZW50LCAkc2hhcGUtZGl2aWRlci1wYXJhbGxheC10b3AtY29sb3IsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzaGFwZS1kaXZpZGVyLWRpcmVjdGlvbi1iZWZvcmUsIDEpO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tIHsgLy8gYmFzXG4gIC5ibG9jay1wYXJhbGxheC1mcm9udCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcih0cmFuc3BhcmVudCwgJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZm9vdGVyIE1BUFxuQGlmICRzaGFwZS1kaXZpZGVyLW1hcC10b3AgeyAvLyBoYXV0XG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKHRyYW5zcGFyZW50LCAkc2hhcGUtZGl2aWRlci1tYXAtdG9wLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYmVmb3JlLCAxKTtcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRzaGFwZS1kaXZpZGVyLW1hcC1ib3R0b20geyAvLyBiYXNcbiAgLnJlZ2lvbi1mb290ZXItdGhpcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIodHJhbnNwYXJlbnQsICRzaGFwZS1kaXZpZGVyLW1hcC1ib3R0b20tY29sb3IsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzaGFwZS1kaXZpZGVyLWRpcmVjdGlvbi1hZnRlciwgLTEpO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogQ0xBU1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKiogKioqKioqKioqKioqKiovXG5bY2xhc3MqPVwic2hhcGUtZGl2aWRlci1ib3R0b20tXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgJjphZnRlciB7XG4gICAgYm90dG9tOiAtMXB4O1xuICB9XG59XG5cbltjbGFzcyo9XCJzaGFwZS1kaXZpZGVyLXRvcC1cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICAmOmJlZm9yZSB7XG4gICAgdG9wOiAtMXB4O1xuICB9XG59XG5cbi5zaGFwZS1kaXZpZGVyLXRvcC1kb3duLWxyIHsvLyBIQVVUIGRlIGxhIGRpdlxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1maXJzdC1iZywgJGJnLW9uZSwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICAgIGZpbGw6ICMwZTY5YmU7XG4gIH1cbn1cblxuLnNoYXBlLWRpdmlkZXItdG9wLXVwLWxyIHsvLyBIQVVUIGRlIGxhIGRpdlxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1maXJzdC1iZywgJGJnLW9uZSwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgfVxufVxuXG4uc2hhcGUtZGl2aWRlci1ib3R0b20tZG93bi1sciB7Ly8gQkFTIGRlIGxhIGRpdlxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKCRzaGFwZS1kaXZpZGVyLWZpcnN0LWJnLCAkYmctb25lLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTtcbiAgfVxufVxuXG4uc2hhcGUtZGl2aWRlci1ib3R0b20tdXAtcmwgey8vIEJBUyBkZSBsYSBkaXZcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1maXJzdC1iZywgJGJnLW9uZSwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgfVxufVxuIiwiLy8gQ2xhc3MgcGFkZGluZyBldCBtYXJnaW4gZW4gcHhcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzLTIge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzLTIge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENsYXNzIHBhZGRpbmcgZXQgbWFyZ2luIGVudHJlIHLDqWdpb24vYmxvYy9ibG9jcyBkZSB0ZXh0ZXNcbi5jdy1wdCB7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmN3LXBiIHtcbiAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzO1xufVxuXG4uY3ctcHkge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcztcbiAgLmN3LW15OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jdy1teTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jdy1weS0yIHtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzICogMC42NTtcbiAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzICogMC42NTtcbiAgLmN3LW15LTI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmN3LW15LTI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY3ctbXQge1xuICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmN3LW1iIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1teSB7XG4gIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzO1xuICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmN3LW15LTIge1xuICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzICogMC42NTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctcHQge1xuICAgIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1wYiB7XG4gICAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG5cbiAgLmN3LXB5IHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG5cbiAgLmN3LXB5LTIge1xuICAgIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcy1sZyAqIDAuNjU7XG4gICAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnICogMC42NTtcbiAgfVxuXG4gIC5jdy1tdCB7XG4gICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAuY3ctbWIge1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG5cbiAgLmN3LW15IHtcbiAgICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1teS0yIHtcbiAgICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcy1sZyAqIDAuNjU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAwLjY1O1xuICB9XG59XG4iLCIvLyBEw6ljYWxsYWdlIGRlIGwnYW5jcmUgZW4gZm9uY3Rpb24gZGUgbGEgbmF2YmFyICjDoCBham91dGVyIHN1ciBsJ2FuY3JlKVxuLmN3LXNjcm9sbC1tYXJnaW4tdG9wIHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gKyAjeyRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbX0pO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1zY3JvbGwtbWFyZ2luLXRvcCB7XG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAjeyRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbX0pO1xuICB9XG59XG5cbi8vIERpc3BsYXkgbm9uZSBlbiBub3QtZnJvbnRcbi5jdy1kLW5vbmUtbmYge1xuICAubm90LWZyb250IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWQtbm9uZS1sZy1uZiB7XG4gICAgLm5vdC1mcm9udCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGbGV4XG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAuY3ctZmxleC0jeyRpfSB7XG4gICAgZmxleDogJGkgIWltcG9ydGFudDtcbiAgfVxuICAubm90LWZyb250IC5jdy1mbGV4LSN7JGl9LW5mIHtcbiAgICBmbGV4OiAkaSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAuY3ctZmxleC1sZy0jeyRpfSB7XG4gICAgICBmbGV4OiAkaSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubm90LWZyb250IC5jdy1mbGV4LWxnLSN7JGl9LW5mIHtcbiAgICAgIGZsZXg6ICRpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIkcHVjZS1ib3JkZXItY29sb3I6ICNmZmY7XG5cbi8qIC0tLS0tLS0tLS0tLSBGT05UIENPTE9SUyAtLS0tLS0tLS0tLS0gKi9cbi5jdy10eHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtd2hpdGUge1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtYmxhY2sge1xuICBjb2xvcjogJGRhcmsgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cblxuLmN3LWZvbnQtYmFzZSB7XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xufVxuXG4uY3ctZm9udC1sb3VkIHtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY3ctdHh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5jdy10eHQtY2FwaXRhbGl6ZTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jdy10eHQtdXAge1xuICBmb250LXNpemU6IDEuNWVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbSAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXVwLTIge1xuICBmb250LXNpemU6IDEuMzVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zZW0gIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC11cC0zIHtcbiAgZm9udC1zaXplOiAxLjJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtc2hhZG93IHtcbiAgQGluY2x1ZGUgdGV4dC1zaGFkb3coMHB4IDVweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM2KSk7XG59XG5cbi54cy10ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG59XG5cbi54cy10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4ueHMtdGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy11bmRlcmxpbmUtYmVmb3JlIHtcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgfVxuICAmLnRleHQtbGVmdDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5jdy11bmRlcmxpbmUtYWZ0ZXIge1xuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gIH1cbiAgJi50ZXh0LWxlZnQ6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5jdy1saW5lLWJhY2tncm91bmQgeyAvL21ldHRyZSB1bmUgc3BhbiBldCBsdWkgYWpvdXRlciBsYSBjbGFzcyBhZmluIGRlIG5lIHBhcyBwZXJkcmUgbGUgY2VudHJhZ2UgZXQgbWFyZ2VzXG4gIEBpbmNsdWRlIGxpbmUtYmFja2dyb3VuZCgkbGluZS10aXRsZS1jb2xvcik7XG59XG5cbi5jdy1wdWNlLXVuZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3B1Y2UtaDEucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuXG4uY3ctYm9yZGVyLWxlZnQge1xuICBAaW5jbHVkZSBhZnRlcl9sZWZ0X3JpZ2h0LWJvcmRlcigkbGluZS10aXRsZS1jb2xvciwgbGVmdCk7XG59XG5cbi5jdy1ib3JkZXItcmlnaHQge1xuICBAaW5jbHVkZSBhZnRlcl9sZWZ0X3JpZ2h0LWJvcmRlcigkbGluZS10aXRsZS1jb2xvciwgcmlnaHQpO1xufVxuXG4uZmllbGQtLW5hbWUtYm9keSB1bDpub3QoW2NsYXNzKj1cImN3LWlubGluZS11bFwiXSkge1xuICBAaW5jbHVkZSBjdy1saXN0LXVsKCk7XG4gID4gbGkgPiB1bCA+IGxpOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG51bC5jdy1pbmxpbmUtdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMS41O1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIGEge1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG59XG5cbiNwYWdlLWhlYWRlciBpLmN3LWZhLWJnLWNpcmNsZSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogJHNlY29uZGFyeTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcblxuICAmOmhvdmVyLCAmOmFmdGVyIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9jdy10eHQnO1xuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuc20tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc20tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc20tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY3ctbGlzdC1zbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAubWQtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWQtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWQtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGctdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGctdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGctdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxnLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAueGwtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAueGwtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAueGwtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnhsLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIENpYmxlIGxlcyBjbGFzcyBcImVuZmFudHNcIlxuLmN3LWNoaWxkcmVuLXAgPiAqIHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmN3LWNoaWxkcmVuLW0gPiBwIHtcbiAgbWFyZ2luOiAkc3BhY2VyIDA7XG59XG5cbi50ZXh0LWFsaWduLWNlbnRlciAuY3ctY2hpbGRyZW4taHItdzEwMCA+IGhyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnRleHQtYWxpZ24tcmlnaHQgLmN3LWNoaWxkcmVuLWhyLXcxMDAgPiBociB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jdy1jaGlsZHJlbi1oci13MTAwID4gaHIge1xuICBtYXgtd2lkdGg6IDEwMHB4O1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uY3ctY2hpbGRyZW4tYm94c2hhZG93ID4gKntcbiAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMiwgMHB4LCAwcHgsIDI1cHgsIDBweCk7XG59XG5cbi8vIMOAIHV0aWxpc2VyIGfDqW7DqXJhbGVtZW50IHN1ciBsYSByb3cgZCd1bmUgc3RydWN0dXJlIGJvb3RzdHJhcCAucm93ID4gLmNvbCA+IC5jb250ZW50XG4vLyBDaWJsZSBsZXMgY2xhc3MgXCIuY29udGVudFwiXG4uY3ctY2hpbGRyZW4tY29udGVudC1iZy1vbmUgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtYmctdHdvIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtYmctdGhyZWUgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JheTtcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtYmctd2hpdGUgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLWdyYXkgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLWJsYWNrIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1oMTAwIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LXAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWNoaWxkcmVuLWNvbnRlbnQtcCAuY29udGVudCB7XG4gICAgcGFkZGluZzogNTBweDtcbiAgfVxufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1zaGFkb3cgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjIpO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1yYWRpdXMgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cyk7XG59XG5cbi8vXG4uY3ctY2hpbGRyZW4tcXVpbmN1bngtbWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmN3LWNoaWxkcmVuLXF1aW5jdW54LW1kIHtcbiAgICA+IGRpdjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgID4gZGl2Om50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy9odHRwczovL2Jlbm5ldHRmZWVseS5jb20vY2xpcHB5L1xuXG4uY3ctY2xpcC1wYXRoLWNpcmNsZSB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChjaXJjbGUoNTAlIGF0IDUwJSA1MCUpKTtcbn1cblxuLmN3LWNsaXAtcGF0aC10cmlhbmdsZSB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKSk7XG59XG5cbi5jdy1jbGlwLXBhdGgtbG9zYW5nZSB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDUwJSAwJSwgMTAwJSA1MCUsIDUwJSAxMDAlLCAwJSA1MCUpKTtcbn1cblxuLmN3LWNsaXAtcGF0aC1ldG9pbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCUsIDYxJSAzNSUsIDk4JSAzNSUsIDY4JSA1NyUsIDc5JSA5MSUsIDUwJSA3MCUsIDIxJSA5MSUsIDMyJSA1NyUsIDIlIDM1JSwgMzklIDM1JSkpO1xufVxuXG4uY3ctY2xpcC1wYXRoLWhleGFnb24ge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCwgMTAwJSAyNyUsIDEwMCUgNzMlLCA1MCUgMTAwJSwgMCA3MyUsIDAgMjclKSk7XG59XG5cbi5jbGlwLXBhdGgtMS1kb3VibGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCA5NSUpKTtcbn1cblxuLmNsaXAtcGF0aC0yLWRvdWJsZSB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSA1JSwgMTAwJSA5NSUsIDAgMTAwJSkpO1xufVxuXG4uY2xpcC1wYXRoLTMtZG91YmxlLXBhcmFsbGVsZSB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgNSUsIDEwMCUgMCwgMTAwJSA5NSUsIDAlIDEwMCUpKTtcbn1cblxuLmNsaXAtcGF0aC1ib3R0b20tdXAtbHIge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA5NSUsIDAgMTAwJSkpO1xufVxuXG4uY2xpcC1wYXRoLWJvdHRvbS1kb3duLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCA5NSUpKTtcbn1cblxuLmNsaXAtcGF0aC10b3AtdXAtbHIge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG59XG5cbi5jbGlwLXBhdGgtdG9wLWRvd24tbHIge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgNSUsIDEwMCUgMTAwJSwgMCUgMTAwJSkpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jbGlwLXBhdGgtMS1kb3VibGUge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMTIlLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCA4OCUpKTtcbiAgfVxuICAuY2xpcC1wYXRoLTItZG91YmxlIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMTIlLCAxMDAlIDg4JSwgMCAxMDAlKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC0zLWRvdWJsZS1wYXJhbGxlbGUge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMTIlLCAxMDAlIDAsIDEwMCUgODglLCAwJSAxMDAlKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC1ib3R0b20tdXAtbHIge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDg4JSwgMCAxMDAlKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC1ib3R0b20tZG93bi1sciB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCA4OCUpKTtcbiAgfVxuICAuY2xpcC1wYXRoLXRvcC11cC1sciB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAxMiUsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpKTtcbiAgfVxuICAuY2xpcC1wYXRoLXRvcC1kb3duLWxyIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMTIlLCAxMDAlIDEwMCUsIDAlIDEwMCUpKTtcbiAgfVxufSIsIi5maWVsZC0tdHlwZS1pbWFnZS5maWVsZF9faXRlbSwgLmZpZWxkLS10eXBlLWltYWdlIC5maWVsZF9faXRlbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjE1LCAwcHgsIDAuNXJlbSwgMXJlbSwgMHB4KTtcbiAgfVxuICAuY29sb3Jib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIC8vbWFyZ2luOiBhdXRvO1xuICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjBiMicsIDEsIDIyNSk7XG4gIH1cbn1cblxuLmNvbG9yYm94LmNvbG9yYm94LXpvb20ge1xuICAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgIWltcG9ydGFudDtcbiAgfVxuICAuaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwMDInICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxKSBibHVyKDBweCk7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgLnNob3ctbW9yZSB7XG4gICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNjYm94T3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAuOTUhaW1wb3J0YW50O1xuICAvL2JhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHJpbWFyeSwgMTUlKTtcbn1cbiNjb2xvcmJveCB7XG4gIG92ZXJmbG93OiBpbml0aWFsO1xuICAjY2JveFdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICNjYm94Q29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkY29sb3Jib3gtZm9udDtcbiAgICAgIGZvbnQtc2l6ZTogJGNvbG9yYm94LWZvbnQtc2l6ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMy4xMjVlbSByZ2JhKDAsIDAsIDAsIC45NSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB9XG4gICAgICAjY2JveExvYWRlZENvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICNjYm94TG9hZGluZ092ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMGQwZDBkO1xuICAgICAgfVxuICAgICAgI2Nib3hUaXRsZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgICAgICBwYWRkaW5nOiA3cHggNXB4O1xuICAgICAgfVxuICAgICAgI2Nib3hMb2FkaW5nR3JhcGhpYyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICBhbmltYXRpb246IGZhLXNwaW4gNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTEwXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJ1dHRvbiNjYm94UHJldmlvdXMsIGJ1dHRvbiNjYm94TmV4dCwgYnV0dG9uI2Nib3hDbG9zZSB7XG4gICAgICAgIGJvdHRvbTogLTM0cHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAjY2JveEN1cnJlbnQge1xuICAgICAgICBib3R0b206IC0zMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqIEZMRUNIRVMgQ09MT1JCT1ggKioqKioqKioqKioqKi9cblxuI2Nib3hDdXJyZW50LCAjY2JveENsb3NlIHtcbiAgYm90dG9tOiAtMXB4O1xufVxuXG5idXR0b24jY2JveFByZXZpb3VzLFxuYnV0dG9uI2Nib3hOZXh0LFxuYnV0dG9uI2Nib3hDbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuICBib3R0b206IC00cHg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbG9yOiAkZ3JheS03MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbmJ1dHRvbiNjYm94UHJldmlvdXMge1xuICBsZWZ0OiAtMzRweDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwYThcIjtcbiAgfVxufVxuXG5idXR0b24jY2JveE5leHQge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwYTlcIjtcbiAgfVxufVxuXG4jY2JveEN1cnJlbnQge1xuICBsZWZ0OiA3NHB4O1xuICBjb2xvcjogJGdyYXktNjAwO1xufVxuXG5idXR0b24jY2JveENsb3NlIHtcbiAgd2lkdGg6IHVuc2V0O1xuICByaWdodDogMnB4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjA1N1wiO1xuICB9XG59XG5cbiIsIiRmb3JtLWFuaW0tc2l6ZTogMXB4O1xuXG5AaWYgJGZvcm0tYW5pbS1saW5lID09IGFsbCBhbmQgJHJhZGl1cy1idG4gIT0gMCB7IC8vIHNpIHJhZGl1cyBvYmxpZ2F0b2lyZW1lbnQgYm90dG9tXG4gICRmb3JtLWFuaW0tbGluZTogYm90dG9tO1xufVxuXG5AaWYgJGZvcm0tYW5pbS1saW5lID09IGJvdHRvbSBPUiAkZm9ybS1hbmltLWxpbmUgPT0gYWxsIHtcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHtcbiAgICAuZm9ybS10eXBlLXNlbGVjdCAuY29udGFpbmVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItZmllbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaW5lLWZvcm0tY29sb3IsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjI1cyBlYXNlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZvcm0tYW5pbS1saW5lID09IGJvdHRvbSB7XG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogJGZvcm0tYW5pbS1zaXplO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgcmlnaHQpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC41cyBlYXNlKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRmb3JtLWFuaW0tbGluZSA9PSBhbGwge1xuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmb2N1cyB+IC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCwgbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tYm90dG9tLFxuICAgICAgLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1hbmltLXNpemU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tbGVmdCxcbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWFuaW0tc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVkoMCkpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4yMHMpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCBsZWZ0KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kZWxheSgwLjMwcyk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgbGVmdCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC40MHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay13Zi1jb250YWN0IFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3QsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gIH1cblxuICAuZmxiLWJsb2NrIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWZsb2F0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFBhcyBkZSBmb25kIGp1c3RlIHVuZSBib3JkdXJlIGVuIGJvdHRvbVxuQGlmICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlclwiIE9SICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlci1ib3R0b21cIiB7XG4gIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvciwgJGxpbmUtZm9ybS1jb2xvci1vcGFjaXR5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAgIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvci1ibG9jay1jb250YWN0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbmltYXRpb25zIGZyb20gQW5pbWF0ZS5jc3Ncbi8vIEF1dGhvciA6IERhbiBFZGVuXG4vLyBVUkwgICAgOiBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlL1xuLy9cbi8vIEF0dGVudGlvbiBzZWVrZXJzXG4vLyAgLSBmbGFzaCBib3VuY2Ugc2hha2UgdGFkYSBzd2luZyB3b2JibGUgcHVsc2Vcbi8vIEZhZGluZyBlbnRyYW5jZXNcbi8vICAtIGZhZGVJbiBmYWRlSW5VcCBmYWRlSW5Eb3duIGZhZGVJbkxlZnQgZmFkZUluUmlnaHQgZmFkZUluVXBCaWcgZmFkZUluRG93bkJpZyBmYWRlSW5MZWZ0QmlnIGZhZGVJblJpZ2h0QmlnXG4vLyBGYWRpbmcgZXhpdHNcbi8vICAtIGZhZGVPdXQgZmFkZU91dFVwIGZhZGVPdXREb3duIGZhZGVPdXRMZWZ0IGZhZGVPdXRSaWdodCBmYWRlT3V0VXBCaWcgZmFkZU91dERvd25CaWcgZmFkZU91dExlZnRCaWcgZmFkZU91dFJpZ2h0QmlnXG4vLyBCb3VuY2luZyBlbnRyYW5jZXNcbi8vICAtIGJvdW5jZUluIGJvdW5jZUluRG93biBib3VuY2VJblVwIGJvdW5jZUluTGVmdCBib3VuY2VJblJpZ2h0XG4vLyBCb3VuY2luZyBleGl0c1xuLy8gIC0gYm91bmNlT3V0IGJvdW5jZU91dERvd24gYm91bmNlT3V0VXAgYm91bmNlT3V0TGVmdCBib3VuY2VPdXRSaWdodFxuLy8gUm90YXRpbmcgZW50cmFuY2VzXG4vLyAgLSByb3RhdGVJbiByb3RhdGVJbkRvd25MZWZ0IHJvdGF0ZUluRG93blJpZ2h0IHJvdGF0ZUluVXBMZWZ0IHJvdGF0ZUluVXBSaWdodFxuLy8gUm90YXRpbmcgZXhpdHNcbi8vICAtIHJvdGF0ZU91dCByb3RhdGVPdXREb3duTGVmdCByb3RhdGVPdXREb3duUmlnaHQgcm90YXRlT3V0VXBMZWZ0IHJvdGF0ZU91dFVwUmlnaHRcbi8vIExpZ2h0c3BlZWRcbi8vICAtIGxpZ2h0U3BlZWRJbiBsaWdodFNwZWVkT3V0XG4vLyBTcGVjaWFsc1xuLy8gIC0gaGluZ2Ugcm9sbEluIHJvbGxPdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImNvcmVcIjtcbkBpbXBvcnQgXCJhbmltYXRlL2F0dGVudGlvbi1zZWVrZXJzXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9ib3VuY2luZ1wiO1xuQGltcG9ydCBcImFuaW1hdGUvZmFkaW5nXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9mbGlwcGVyc1wiO1xuQGltcG9ydCBcImFuaW1hdGUvbGlnaHRzcGVlZFwiO1xuQGltcG9ydCBcImFuaW1hdGUvcm90YXRpbmdcIjtcbkBpbXBvcnQgXCJhbmltYXRlL3NwZWNpYWxzXCI7XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBBbmltYXRpb25zLlxuXG4vLyBBcHBseSBhbiBhbmltYXRpb24gcHJvcGVydHkgYW5kIHZhbHVlIHdpdGggdGhlIGNvcnJlY3QgYnJvd3NlciBzdXBwb3J0XG5AbWl4aW4gYW5pbWF0aW9uLXN1cHBvcnQoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLCAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QgLWtodG1sLCBvZmZpY2lhbCk7IH1cblxuLy8gTmFtZSBvZiBhbnkgYW5pbWF0aW9uIGFzIGEgc3RyaW5nLlxuJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRHVyYXRpb24gb2YgdGhlIGVudGlyZSBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kdXJhdGlvbiAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERlbGF5IGZvciBzdGFydCBvZiBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kZWxheSAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSB0aW1pbmcgZnVuY3Rpb24ocykgdG8gYmUgdXNlZCBiZXR3ZWVuIGtleWZyYW1lcy4gW2Vhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyKV1cbiRkZWZhdWx0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBudW1iZXIgb2YgdGltZXMgYW4gYW5pbWF0aW9uIGN5Y2xlIGlzIHBsYXllZC4gW2luZmluaXRlIHwgJG51bWJlcl1cbiRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgb3Igbm90IHRoZSBhbmltYXRpb24gc2hvdWxkIHBsYXkgaW4gcmV2ZXJzZSBvbiBhbHRlcm5hdGUgY3ljbGVzLiBbbm9ybWFsIHwgYWx0ZXJuYXRlXVxuJGRlZmF1bHQtYW5pbWF0aW9uLWRpcmVjdGlvbiAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hhdCB2YWx1ZXMgYXJlIGFwcGxpZWQgYnkgdGhlIGFuaW1hdGlvbiBvdXRzaWRlIHRoZSB0aW1lIGl0IGlzIGV4ZWN1dGluZy4gW25vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhdXG4kZGVmYXVsdC1hbmltYXRpb24tZmlsbC1tb2RlICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIHRoZSBhbmltYXRpb24gaXMgcnVubmluZyBvciBwYXVzZWQuIFtydW5uaW5nIHwgcGF1c2VkXVxuJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ3JlYXRlIGEgbmFtZWQgYW5pbWF0aW9uIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgbGF0ZXIuXG4vL1xuLy8gICAgICRuYW1lICAgIC0gVGhlIG5hbWUgb2YgeW91ciBhbmltYXRpb24uXG4vLyAgICAgQGNvbnRlbnQgLSBUaGUga2V5ZnJhbWVzIG9mIHRoZSBhbmltYXRpb24uXG5AbWl4aW4ga2V5ZnJhbWVzKFxuICAkbmFtZSxcbiAgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsOiB0cnVlXG4pIHtcbiAgQGlmICRtb3oge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvcigkbW96OiB0cnVlKSB7XG4gICAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJHdlYmtpdCB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCR3ZWJraXQ6IHRydWUpIHtcbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkbyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRvOiB0cnVlKSB7XG4gICAgICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRtcyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtczogdHJ1ZSkge1xuICAgICAgQC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGtodG1sIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJGtodG1sOiB0cnVlKSB7XG4gICAgICBALWtodG1sLWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkb2ZmaWNpYWwge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvciB7XG4gICAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gbmFtZXMuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUsICRuYW1lLTI6IGZhbHNlLCAkbmFtZS0zOiBmYWxzZSwgJG5hbWUtNDogZmFsc2UsICRuYW1lLTU6IGZhbHNlLCAkbmFtZS02OiBmYWxzZSwgJG5hbWUtNzogZmFsc2UsICRuYW1lLTg6IGZhbHNlLCAkbmFtZS05OiBmYWxzZSwgJG5hbWUtMTA6IGZhbHNlKSB7XG4gICRuYW1lOiBjb21wYWN0KCRuYW1lLTEsICRuYW1lLTIsICRuYW1lLTMsICRuYW1lLTQsICRuYW1lLTUsICRuYW1lLTYsICRuYW1lLTcsICRuYW1lLTgsICRuYW1lLTksICRuYW1lLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLW5hbWUsICRuYW1lKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkdXJhdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbi0yOiBmYWxzZSwgJGR1cmF0aW9uLTM6IGZhbHNlLCAkZHVyYXRpb24tNDogZmFsc2UsICRkdXJhdGlvbi01OiBmYWxzZSwgJGR1cmF0aW9uLTY6IGZhbHNlLCAkZHVyYXRpb24tNzogZmFsc2UsICRkdXJhdGlvbi04OiBmYWxzZSwgJGR1cmF0aW9uLTk6IGZhbHNlLCAkZHVyYXRpb24tMTA6IGZhbHNlKSB7XG4gICRkdXJhdGlvbjogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gZGVsYXlzLlxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXktMjogZmFsc2UsICRkZWxheS0zOiBmYWxzZSwgJGRlbGF5LTQ6IGZhbHNlLCAkZGVsYXktNTogZmFsc2UsICRkZWxheS02OiBmYWxzZSwgJGRlbGF5LTc6IGZhbHNlLCAkZGVsYXktODogZmFsc2UsICRkZWxheS05OiBmYWxzZSwgJGRlbGF5LTEwOiBmYWxzZSkge1xuICAkZGVsYXk6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXkpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9uLTI6IGZhbHNlLCAkZnVuY3Rpb24tMzogZmFsc2UsICRmdW5jdGlvbi00OiBmYWxzZSwgJGZ1bmN0aW9uLTU6IGZhbHNlLCAkZnVuY3Rpb24tNjogZmFsc2UsICRmdW5jdGlvbi03OiBmYWxzZSwgJGZ1bmN0aW9uLTg6IGZhbHNlLCAkZnVuY3Rpb24tOTogZmFsc2UsICRmdW5jdGlvbi0xMDogZmFsc2UpIHtcbiAgJGZ1bmN0aW9uOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gaXRlcmF0aW9uIGNvdW50cy5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRjb3VudC0xOiAkZGVmYXVsdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkY291bnQtMjogZmFsc2UsICRjb3VudC0zOiBmYWxzZSwgJGNvdW50LTQ6IGZhbHNlLCAkY291bnQtNTogZmFsc2UsICRjb3VudC02OiBmYWxzZSwgJGNvdW50LTc6IGZhbHNlLCAkY291bnQtODogZmFsc2UsICRjb3VudC05OiBmYWxzZSwgJGNvdW50LTEwOiBmYWxzZSkge1xuICAkY291bnQ6IGNvbXBhY3QoJGNvdW50LTEsICRjb3VudC0yLCAkY291bnQtMywgJGNvdW50LTQsICRjb3VudC01LCAkY291bnQtNiwgJGNvdW50LTcsICRjb3VudC04LCAkY291bnQtOSwgJGNvdW50LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJGNvdW50KTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkaXJlY3Rpb25zLlxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uLTI6IGZhbHNlLCAkZGlyZWN0aW9uLTM6IGZhbHNlLCAkZGlyZWN0aW9uLTQ6IGZhbHNlLCAkZGlyZWN0aW9uLTU6IGZhbHNlLCAkZGlyZWN0aW9uLTY6IGZhbHNlLCAkZGlyZWN0aW9uLTc6IGZhbHNlLCAkZGlyZWN0aW9uLTg6IGZhbHNlLCAkZGlyZWN0aW9uLTk6IGZhbHNlLCAkZGlyZWN0aW9uLTEwOiBmYWxzZSkge1xuICAkZGlyZWN0aW9uOiBjb21wYWN0KCRkaXJlY3Rpb24tMSwgJGRpcmVjdGlvbi0yLCAkZGlyZWN0aW9uLTMsICRkaXJlY3Rpb24tNCwgJGRpcmVjdGlvbi01LCAkZGlyZWN0aW9uLTYsICRkaXJlY3Rpb24tNywgJGRpcmVjdGlvbi04LCAkZGlyZWN0aW9uLTksICRkaXJlY3Rpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBmaWxsIG1vZGVzLlxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGUtMjogZmFsc2UsICRtb2RlLTM6IGZhbHNlLCAkbW9kZS00OiBmYWxzZSwgJG1vZGUtNTogZmFsc2UsICRtb2RlLTY6IGZhbHNlLCAkbW9kZS03OiBmYWxzZSwgJG1vZGUtODogZmFsc2UsICRtb2RlLTk6IGZhbHNlLCAkbW9kZS0xMDogZmFsc2UpIHtcbiAgJG1vZGU6IGNvbXBhY3QoJG1vZGUtMSwgJG1vZGUtMiwgJG1vZGUtMywgJG1vZGUtNCwgJG1vZGUtNSwgJG1vZGUtNiwgJG1vZGUtNywgJG1vZGUtOCwgJG1vZGUtOSwgJG1vZGUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZSk7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gcGxheSBzdGF0ZXMuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGUtMjogZmFsc2UsICRzdGF0ZS0zOiBmYWxzZSwgJHN0YXRlLTQ6IGZhbHNlLCAkc3RhdGUtNTogZmFsc2UsICRzdGF0ZS02OiBmYWxzZSwgJHN0YXRlLTc6IGZhbHNlLCAkc3RhdGUtODogZmFsc2UsICRzdGF0ZS05OiBmYWxzZSwgJHN0YXRlLTEwOiBmYWxzZSkge1xuICAkc3RhdGU6IGNvbXBhY3QoJHN0YXRlLTEsICRzdGF0ZS0yLCAkc3RhdGUtMywgJHN0YXRlLTQsICRzdGF0ZS01LCAkc3RhdGUtNiwgJHN0YXRlLTcsICRzdGF0ZS04LCAkc3RhdGUtOSwgJHN0YXRlLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZSk7IH1cblxuLy8gU2hvcnRjdXQgdG8gYXBwbHkgYSBuYW1lZCBhbmltYXRpb24gdG8gYW4gZWxlbWVudCwgd2l0aCBhbGwgdGhlIHNldHRpbmdzLlxuLy9cbi8vICAgICAkYW5pbWF0aW9uLTEgICA6IE5hbWUgYW5kIHNldHRpbmdzIGZvciB0aGUgZmlyc3QgYW5pbWF0aW9uLiBbPHZhbHVlcz4gfCBkZWZhdWx0XVxuLy8gICAgIC4uLlxuLy8gICAgICRhbmltYXRpb24tMTAgIDogTmFtZSBhbmQgc2V0dGluZ3MgZm9yIHRoZSB0ZW50aCBhbmltYXRpb24uIDx2YWx1ZXM+XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24tMTogZGVmYXVsdCwgJGFuaW1hdGlvbi0yOiBmYWxzZSwgJGFuaW1hdGlvbi0zOiBmYWxzZSwgJGFuaW1hdGlvbi00OiBmYWxzZSwgJGFuaW1hdGlvbi01OiBmYWxzZSwgJGFuaW1hdGlvbi02OiBmYWxzZSwgJGFuaW1hdGlvbi03OiBmYWxzZSwgJGFuaW1hdGlvbi04OiBmYWxzZSwgJGFuaW1hdGlvbi05OiBmYWxzZSwgJGFuaW1hdGlvbi0xMDogZmFsc2UpIHtcbiAgQGlmICRhbmltYXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkYW5pbWF0aW9uLTE6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUsICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlKSk7IH1cbiAgJGFuaW1hdGlvbjogY29tcGFjdCgkYW5pbWF0aW9uLTEsICRhbmltYXRpb24tMiwgJGFuaW1hdGlvbi0zLCAkYW5pbWF0aW9uLTQsICRhbmltYXRpb24tNSwgJGFuaW1hdGlvbi02LCAkYW5pbWF0aW9uLTcsICRhbmltYXRpb24tOCwgJGFuaW1hdGlvbi05LCAkYW5pbWF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLCAkYW5pbWF0aW9uKTsgfVxuIiwiQG1peGluIHNldC1leHBlcmltZW50YWwtc3VwcG9ydCgkbW96OiBmYWxzZSwgJHdlYmtpdDogZmFsc2UsICRtczogZmFsc2UsICRvOiBmYWxzZSwgJGtodG1sOiBmYWxzZSkge1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGE6ICRtb3o7XG4gICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0OiAkd2Via2l0O1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdDogJG1zO1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhOiAkbztcbiAgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDogJGtodG1sO1xufVxuXG5AbWl4aW4gd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtb3o6IGZhbHNlLCAkd2Via2l0OiBmYWxzZSwgJG1zOiBmYWxzZSwgJG86IGZhbHNlLCAka2h0bWw6IGZhbHNlKSB7XG4gIC8vIENhcHR1cmUgdGhlIGN1cnJlbnQgc3RhdGVcbiAgJG9yaWdpbmFsLW1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLW86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1tczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1raHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG1veiwgJHdlYmtpdCwgJG1zLCAkbywgJGtodG1sKTtcblxuICBAY29udGVudDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG9yaWdpbmFsLW1veiwgJG9yaWdpbmFsLXdlYmtpdCwgJG9yaWdpbmFsLW1zLCAkb3JpZ2luYWwtbywgJG9yaWdpbmFsLWtodG1sKTtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGFzaCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2UpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMTVweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHNoYWtlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXModGFkYSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpKTsgfVxuICAyMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkgcm90YXRlKDApKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoc3dpbmcpIHtcbiAgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBjZW50ZXIpOyB9XG4gIDIwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMGRlZyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdvYmJsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpKTsgfVxuICA0NSUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZykpOyB9XG4gIDc1JSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhwdWxzZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cbiAgICBcbiAgICBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdpZ2dsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9IH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJib3VuY2luZy9ib3VuY2luZy1leGl0c1wiO1xuQGltcG9ydCBcImJvdW5jaW5nL2JvdW5jaW5nLWVudHJhbmNlc1wiOyIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHNjYWxlKDAuMyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dFVwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VPdXRSaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW4pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkRvd24pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZUluVXApIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW5SaWdodCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkxlZnQpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZmFkaW5nL2ZhZGluZy1leGl0c1wiO1xuQGltcG9ydCBcImZhZGluZy9mYWRpbmctZW50cmFuY2VzXCI7IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0VXApIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0TGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRVcEJpZykge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dERvd25CaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRMZWZ0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJbikge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5VcCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJblJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluVXBCaWcpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bkJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluUmlnaHRCaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluTGVmdEJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbik7XG4gIH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KSk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpKTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4pO1xuICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmxpcEluWCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpKTtcbiAgfVxuICA3MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZykpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBPdXRYKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBJblkpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKSk7XG4gIH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwT3V0WSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGxpZ2h0U3BlZWRJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMobGlnaHRTcGVlZE91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7IH0gfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInJvdGF0aW5nL3JvdGF0aW5nLWV4aXRzXCI7XG5AaW1wb3J0IFwicm90YXRpbmcvcm90YXRpbmctZW50cmFuY2VzXCI7XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXREb3duTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvdGF0ZU91dERvd25SaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHJpZ2h0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGNlbnRlciBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbkRvd25MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGxlZnQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMocm90YXRlSW5Eb3duUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGhpbmdlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgMjAlLCA2MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg4MGRlZyk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoNjBkZWcpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wIGxlZnQpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbi1vdXQpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBsZWZ0KTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4tb3V0KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb2xsSW4pIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKSk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvbGxPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZykpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH0gfVxuIiwiLy8gTW9iaWxlIGZpcnN0XG4ubm9kZS0tdHlwZS1hY3R1YWxpdGUsXG4ubm9kZS0tdHlwZS1yZWZlcmVuY2UsXG4ubm9kZS0tdHlwZS1zb3JlZi1hcnRpY2xlIHtcbiAgI21haW4td3JhcHBlciB7XG5cbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LWJvZHktZGVmYXVsdCc7IiwiLy8gVXAgdG8gOTkycHhcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vZGUtLXR5cGUtYWN0dWFsaXRlLFxuICAubm9kZS0tdHlwZS1hbm5leGUsXG4gIC5ub2RlLS10eXBlLXJlZmVyZW5jZSxcbiAgLm5vZGUtLXR5cGUtc29yZWYtYXJ0aWNsZSB7XG4gICAgI21haW4td3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoODUwcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmN3LWJyZWFkY3J1bWIge1xuICBmb250LWZhbWlseTogJGJyZWFkY3J1bWItZm9udDtcbiAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1mb250LXNpemU7XG4gIGJhY2tncm91bmQ6ICRicmVhZGNydW1iLWJnO1xuICBAaWYgKCRicmVhZGNydW1iLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRicmVhZGNydW1iLWdyYWRpZW50LWRlZywgJGJyZWFkY3J1bWItYmcgJGJyZWFkY3J1bWItZ3JhZGllbnQtc3RhcnQsICRicmVhZGNydW1iLWJnLWVuZCAkYnJlYWRjcnVtYi1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuLy8gIC5jdy1icmVhZGNydW1iIHtcbi8vICAgIC5icmVhZGNydW1iIHtcbi8vICAgICAgbWF4LXdpZHRoOiA3MCU7XG4vLyAgICB9XG4vLyAgfVxuLy99XG4iLCIvKioqKioqKioqKioqKiogQ0FSRFMgKioqKioqKioqKioqKiovXG4kY3ctY2FyZHMtdGl0bGUtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGN3LWNhcmRzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGN3LWNhcmRzLXRpdGxlLWZvbnQtc2l6ZTogMS4zcmVtO1xuJGN3LWNhcmRzLXRpdGxlLWxpbmUtaGVpZ2h0OiAxZW07XG4kY3ctY2FyZHMtdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcblxuJGN3LWNhcmRzLWRhdGUtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGN3LWNhcmRzLWRhdGUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuJGN3LWNhcmRzLWRhdGUtZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xuJGN3LWNhcmRzLWRhdGUtbGluZS1oZWlnaHQ6IDFlbTtcbiRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cbiRjdy1jYXJkcy10ZXh0LWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRjdy1jYXJkcy10ZXh0LWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGN3LWNhcmRzLXRleHQtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kY3ctY2FyZHMtdGV4dC1mb250LXNpemU6IDEuMXJlbTtcbiRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0OiAxLjM1ZW07XG4kY3ctY2FyZHMtdGV4dC1sZXR0ZXItc3BhY2luZzogMDtcblxuJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGh1bWI6IDByZW07XG4kY3ctY2FyZHMtbWFyZ2luLXRvcC1zdW1tYXJ5OiAwLjVyZW07XG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS1kYXRlOiAxcmVtO1xuJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGl0bGU6IDFyZW07XG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS10ZXh0OiAxcmVtO1xuXG5AbWl4aW4gY3ctY2FyZHMtaHoge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IGF1dG87XG59XG5cbi5jdy1jYXJkcy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcblxuICAudGl0bGUtaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgfVxufVxuXG4uY3ctY2FyZC1yb3dzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3ctY2FyZC10aHVtYiB7XG4gIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjA2ZScsIDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRodW1iO1xufVxuXG4uY3ctY2FyZC1kYXRlIHtcbiAgZm9udC1mYW1pbHk6ICRjdy1jYXJkcy1kYXRlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN3LWNhcmRzLWRhdGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkY3ctY2FyZHMtZGF0ZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtZGF0ZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nO1xuICBjb2xvcjogJGN3LWNhcmQtZGF0ZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAkY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS1kYXRlO1xuICBAaWYgKCRjdy1jYXJkLWRhdGUtaWNvbikge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkY3ctY2FyZHMtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGl0bGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJGN3LWNhcmRzLXRpdGxlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGl0bGU7XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS10aXRsZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdy1jYXJkLXRleHQge1xuICBmb250LWZhbWlseTogJGN3LWNhcmRzLXRleHQtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGV4dC1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjdy1jYXJkcy10ZXh0LXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRleHQ7XG59XG5cbi8vIE9QVElPTlxuQGlmICRjdy1jYXJkcy1pbWctc2hhZG93IHtcbiAgLmN3LWNhcmQge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG5cbiAgLy8gR2VzdGlvbiBkZXMgcGFkZGluZyBzdXIgbGUgYmxvYyBjYXJvdXNlbCBwZXJtZXR0YW50IGRlcyBvbWJyZXMgcGx1cyDDqXRlbmR1IHN1ciBsZXMgY2FyZHNcbiAgLmJsb2MtY2Fyb3VzZWwge1xuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDBweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1saXN0aW5nIHtcbiAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cbn1cbiIsIi8vIE1JWElOIGN3LWNhcmRzLWFuZHJvbWVkZVxuQG1peGluIGN3LWNhcmRzLWFuZHJvbWVkZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICAuY3ctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBtYXJnaW46IDU1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkY3ctY2FyZC1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1jYXJkLXRodW1iIHtcbiAgICB0b3A6IC0zMXB4O1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgLmN3LWNhcmQtdGh1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAvL1xuXG4gIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGN3LWNhcmRzLW1hcmdpbi10b3Atc3VtbWFyeSAzMHB4IDMwcHg7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxM3JlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5jdy1jYXJkLXRleHQge1xuICAgIGNvbG9yOiAkYmxvYy1hY3R1LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJsb2MtYWN0dS1ib2R5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJsb2MtYWN0dS1ib2R5LWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLmN3LWNhcmQtZGF0ZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdy1jYXJkLWRhdGUtYmc7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuXG4gIC5jdy1jYXJkLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jdy1jYXJkLXNob3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzBweDtcbiAgICBib3R0b206IC0yMHB4O1xuXG4gICAgLmJ0biB7XG4gICAgICBjb2xvcjogJGJsb2MtYWN0dS1saW5rO1xuICAgICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogMzMwcHg7XG4gICAgICBtYXJnaW46IDU1cHggMTBweDtcbiAgICB9XG5cbiAgICAuY3ctY2FyZC1zdW1tYXJ5IC5jdy1jYXJkLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiA5cmVtO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEyMDBweCk7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgJGJ0bi1ib3JkZXItaGVpZ2h0ID4gMCB7XG4gICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNSVhJTiBjdy1jYXJkcy1hbmRyb21lZGUtaHpcbkBtaXhpbiBjdy1jYXJkcy1hbmRyb21lZGUtaHooKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgQGluY2x1ZGUgY3ctY2FyZHMtaHooKTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAvLyBHZXN0aW9uIGRlIGxhIGhhdXRldXIgZXQgbGFyZ2V1ciBkZSBsJ2ltYWdlXG4gICAgICAuY3ctY2FyZC10aHVtYiB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL1xuXG4gICAgICAuY3ctY2FyZC1zaG93IHtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDI1cHggNDBweCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgQGluY2x1ZGUgY3ctY2FyZHMtaHpcbiAgICB9XG4gIH1cbn1cblxuLy8gQ0xBU1Ncbi5jdy1jYXJkcy1hbmRyb21lZGUge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG59XG5cbi5jdy1jYXJkcy1hbmRyb21lZGUtaHoge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGUtaHo7XG59XG5cbi8vXG4uY3ctY2FyZHMtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgLnRpdGxlLWgyIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkZ3JheS00MDA7XG4gICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gIH1cbn1cblxuLy9cbi5jdy1jYXJkLXJvd3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4iLCIkY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0OiAzMTBweDtcbi8vJGN3LWNhcmRzLWJvZGUtaW1nLXdpZHRoOiAyMzVweDtcbi8vJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodC1oejogMzIwcHg7XG4vLyRjdy1jYXJkcy1ib2RlLWltZy13aWR0aC1oejogMzIwcHg7XG4kY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0LW92ZXJmbG93OiAzMTBweDtcbiRjdy1jYXJkcy1ib2RlLWltZy13aWR0aC1vdmVyZmxvdzogMjAwcHg7XG5cbkBtaXhpbiBjdy1jYXJkcy1ib2RlIHtcbiAgLnZpZXctY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDY4MHB4KTtcblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDYycHggMTVweDtcbiAgICB9XG4gIH1cblxuICAuY3ctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICAvL21hcmdpbi10b3A6IGNhbGMoI3skY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0fSAvIDIgKyAjeyRiZXR3ZWVuLXpvbmVzLWxnfSApO1xuICAgIG1hcmdpbjogMzBweCAwIDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjdy1jYXJkLWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG5cbiAgICAuY2FyZC10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICB9XG4gIH1cblxuICAuY3ctY2FyZC10aHVtYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZXgoNTAlKSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICAvL3RvcDogY2FsYygjey0kY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0fSAvIDIpO1xuICAgIC8vbGVmdDogMDtcbiAgICAvL3JpZ2h0OiA1MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgfVxuXG4gIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgLmN3LWNhcmQtdGh1bWIge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjE1LCAwcHgsIDIwcHgsIDQwcHgsIDBweCk7XG4gICAgICAvL3dpZHRoOiAkY3ctY2FyZHMtYm9kZS1pbWctd2lkdGg7XG4gICAgICAvL2hlaWdodDogJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodDtcbiAgICAgIC8vbWF4LXdpZHRoOiAkY3ctY2FyZHMtYm9kZS1pbWctd2lkdGg7XG4gICAgICAvL21heC1oZWlnaHQ6ICRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQ7XG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdy1jYXJkLWJvcmRlci1yYWRpdXM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAvL0BpZiAoJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodCA+ICRjdy1jYXJkcy1ib2RlLWltZy13aWR0aCkge1xuICAgICAgLy8gIG1heC13aWR0aDogY2FsYygxMDAlICsgKCN7JGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodH0gLSAjeyRjdy1jYXJkcy1ib2RlLWltZy13aWR0aH0pKTtcbiAgICAgIC8vfSBAZWxzZSB7XG4gICAgICAvLyAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgLy99XG4gICAgfVxuICB9XG4gIC8vXG5cbiAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6ICRjdy1jYXJkcy1tYXJnaW4tdG9wLXN1bW1hcnkgMzBweCAzMHB4O1xuICAgIC8vbWFyZ2luLXRvcDogY2FsYygoI3skY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0fSArIDgwcHgpIC8gMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGhlaWdodDogMTByZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRibG9jLWFjdHUtYm9keS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRibG9jLWFjdHUtYm9keS1saW5lLWhlaWdodDtcbiAgfVxuXG4gIC5jdy1jYXJkLWRhdGUge1xuICAgIC8vd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGN3LWNhcmQtZGF0ZS1iZztcbiAgICAvL3BhZGRpbmc6IDEwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gIC5jdy1jYXJkLXNob3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogMzBweCk7XG5cbiAgICAuYnRuIHtcbiAgICAgIGNvbG9yOiAkYmxvYy1hY3R1LWxpbms7XG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgIH1cblxuICAgIC5jdy1jYXJkLXN1bW1hcnkgLmN3LWNhcmQtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDlyZW07XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEyMDBweCk7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgJGJ0bi1ib3JkZXItaGVpZ2h0ID4gMCB7XG4gICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1oeiB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgQGluY2x1ZGUgY3ctY2FyZHMtaHo7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDYwcHggMzBweDtcblxuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAvL3dpZHRoOiAkY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtaHo7XG4gICAgICAgICAgLy9oZWlnaHQ6ICRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQtaHo7XG4gICAgICAgICAgLy9tYXgtd2lkdGg6ICRjdy1jYXJkcy1ib2RlLWltZy13aWR0aC1oejtcbiAgICAgICAgICAvL21heC1oZWlnaHQ6ICRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQtaHo7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAvL0BpZiAoJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodC1oeiA+ICRjdy1jYXJkcy1ib2RlLWltZy13aWR0aC1oeikge1xuICAgICAgICAgIC8vICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArICgjeyRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQtaHp9IC0gI3skY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtaHp9KSk7XG4gICAgICAgICAgLy99IEBlbHNlIHtcbiAgICAgICAgICAvLyAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL1xuXG4gICAgICAuY3ctY2FyZC1zdW1tYXJ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OztcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuY3ctY2FyZC1zaG93IHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNnB4IDYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1xdWluY3VueCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMikge1xuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDs7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBjdy1jYXJkcy1ib2RlLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCAuY3ctY2FyZC10aHVtYiB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaW1nLW92ZXJmbG93IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGN3LWNhcmQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBtYXJnaW46IC00MHB4IDA7XG4gICAgICAgICAgLy93aWR0aDogJGN3LWNhcmRzLWJvZGUtaW1nLXdpZHRoLW92ZXJmbG93O1xuICAgICAgICAgIC8vaGVpZ2h0OiAkY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0LW92ZXJmbG93O1xuICAgICAgICAgIC8vbWF4LXdpZHRoOiAkY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtb3ZlcmZsb3c7XG4gICAgICAgICAgLy9tYXgtaGVpZ2h0OiAkY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0LW92ZXJmbG93O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLy9AaWYgKCRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQtb3ZlcmZsb3cgPiAkY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtb3ZlcmZsb3cpIHtcbiAgICAgICAgICAvLyAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoI3skY3ctY2FyZHMtYm9kZS1pbWctaGVpZ2h0LW92ZXJmbG93fSAtICN7JGN3LWNhcmRzLWJvZGUtaW1nLXdpZHRoLW92ZXJmbG93fSkpO1xuICAgICAgICAgIC8vfSBAZWxzZSB7XG4gICAgICAgICAgLy8gIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAvL31cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy9cblxuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGJldHdlZW4tem9uZXMtbGd9ICsgODBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaG92ZXIgeyAvLyBVdGlsaXNlciBhdmVjIGh6XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2MtYWN0dWFsaXRlcyB7XG4gIC8vLnZpZXctY29udGVudCB7XG4gIC8vICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIC8vICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAvL31cbiAgLmN3LWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmJsb2MtYWN0dWFsaXRlcyB7XG4gICAgLmN3LWNhcmQtdGV4dCB7XG4gICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDTEFTU1xuLmN3LWNhcmRzLWJvZGUge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlO1xufVxuXG4uY3ctY2FyZHMtYm9kZS1oeiB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaHo7XG59XG5cbi5jdy1jYXJkcy1ib2RlLWhvdmVyIHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1ob3Zlcjtcbn1cblxuLmN3LWNhcmRzLWJvZGUtaW1nLXJpZ2h0IHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1pbWctcmlnaHQ7XG59XG5cbi5jdy1jYXJkcy1ib2RlLWltZy1vdmVyZmxvdyB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaW1nLW92ZXJmbG93O1xufVxuXG4uY3ctY2FyZHMtYm9kZS1xdWluY3VueCB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtcXVpbmN1bng7XG59XG4iLCIuY3ctY2FyZHMtZmlsZSB7XG4gIC52aWV3cy12aWV3LWdyaWQge1xuICAgIC5yb3cge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAuY3ctY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3ctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9wYXJ0aWN1bGUtZ3VpbGxlbWV0cy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMgKiAyO1xuXG4gICAgLmN3LWNhcmQtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiAgICAgIGNvbG9yOiAkaDEtY29sb3I7XG4gICAgICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcyAvIDM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcyAvIDI7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDY4MHB4KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1jYXJkcy1maWxlIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgbWluLXdpZHRoOiAzMzBweDtcbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5jdy1jYXJkcy1maWxlIHtcbiAgICAudmlld3Mtdmlldy1ncmlkIC5yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZyAqIDI7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDMxJTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAuY3ctY2FyZC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGcgLyAzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMjAwcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICgkY3ctY2FyZHMgPT0gXCJhbmRyb21lZGVcIikge1xuICAuYmxvYy1hY3R1YWxpdGVzIHsgLy8gQmxvYyBhY3R1YWxpdMOpc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWFuZHJvbWVkZTtcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGUtaHo7XG4gICAgLmNhcm91c2VsLWl0ZW0geyAvL1BhdGNoIGVuIGF0dGVuZGFudCAocHJvYmzDqG1lIGF2ZWMgbCdvbWJyZSlcbiAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgICAgLmN3LWNhcmQge1xuICAgICAgICBtYXJnaW46IDU1cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZS1hY3R1YWxpdGVzIHsgLy8gUGFnZSBhY3R1YWxpdMOpc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWFuZHJvbWVkZTtcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGUtaHo7XG4gIH1cblxuICAuY3ctY2FyZC1yb3dzIHsgLy8gUGFnZSBhdmVjIGFydGljbGVzIG91IGFsYnVtc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWFuZHJvbWVkZTtcbiAgICAvL0BpbmNsdWRlIGN3LWNhcmRzLWFuZHJvbWVkZS1oejtcbiAgfVxufVxuXG5AaWYgKCRjdy1jYXJkcyA9PSBcImJvZGVcIikge1xuICAuYmxvYy1hY3R1YWxpdGVzIHsgLy8gQmxvYyBhY3R1YWxpdMOpc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1oejtcbiAgfVxuXG4gIC5wYWdlLWFjdHVhbGl0ZXMgeyAvLyBQYWdlIGFjdHVhbGl0w6lzXG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZTtcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWh6O1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaG92ZXI7XG4gICAgLy9AaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWltZy1yaWdodDtcbiAgICAvL0BpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaW1nLW92ZXJmbG93O1xuICAgIC8vQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1xdWluY3VueDtcbiAgfVxuXG4gIC5jdy1jYXJkLXJvd3MgeyAvLyBQYWdlIGF2ZWMgYXJ0aWNsZXMgb3UgYWxidW1zXG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZTtcbiAgfVxufSIsIi5jdy1jb250ZXh0LXh4eCB7XG4gICRjdy1jb250ZXh0LXh4eC1jb2xvcjogJGJvZHktY29sb3I7XG5cbiAgLmN3LWVsZW1lbnQtaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtYWRyZXNzZSB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY3ctY29udGV4dC14eHgtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJvZHktY29sb3IsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN3LWVsZW1lbnQtaG9yYWlyZSB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtdGVsIHtcbiAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3ctY29udGV4dC14eHgtY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGN3LWNvbnRleHQteHh4LWNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdy1lbGVtZW50LWxlZ2VuZCB7XG5cbiAgfVxuXG4gIC5jdy1lbGVtZW50LWdvb2dsZS1tYXAge1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtZmEge1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtc3ZnIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXJlc2VhdS1zb2NpYWwge1xuICB9XG5cbiAgLmN3LWVsZW1lbnQtcmVzZWF1eC1zb2NpYXV4IHtcbiAgfVxufVxuIiwiLmN3LWRhbWllciB7XHJcbiAgLmNvbC1pbWcge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY29sLWltZy1jZW50ZXIgLmNvbnRlbnQge1xyXG4gICAgICBwYWRkaW5nOiAwIDMwcHggJGJldHdlZW4tem9uZXMgMzBweDtcclxuICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtZGFtaWVyLWNhcmRzO1xyXG4gICAgICAgIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtdHh0LW9uZSwgLmNvbC10eHQtdHdvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAzMHB4IDMwcHg7XHJcbiAgICB6LWluZGV4OiAyOy8vIHBvdXIgcXVlIGxlcyBkcm9wZG93biBidG4gbmUgc29pZW50IHBhcyBjb3Vww6llcyBsb3JzcXUnaWwgZMOpcGFzc2VudCBkZSBsYSBkaXYuXHJcbiAgfVxyXG5cclxuICBoMiwgLmN3LWRhbWllci10aXRsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LWZhbWlseTogJGRhbWllci1oMi1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZGFtaWVyLWgyLWZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XHJcbiAgICBmb250LXNpemU6ICRkYW1pZXItaDItZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRkYW1pZXItaDItbGluZS1oZWlnaHQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgdGV4dC1hbGlnbjogJGRhbWllci1oMi1hbGlnbi14cztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIHRleHQtYWxpZ246ICRkYW1pZXItdHh0LWFsaWduLXhzO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5jdy1kYW1pZXItYnRuIHtcclxuICAgIHRleHQtYWxpZ246ICRkYW1pZXItYnRuLWFsaWduLXhzO1xyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbC10eHQtb25lIC5jb250ZW50IHtcclxuICAgIGNvbG9yOiAkZGFtaWVyLXR4dC1vbmUtY29sb3I7XHJcblxyXG4gICAgaDIsIC5jdy1kYW1pZXItdGl0bGUge1xyXG4gICAgICBjb2xvcjogJGRhbWllci1oMi1vbmUtY29sb3I7XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLW9uZS1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgJGRhbWllci1oMi1hbGlnbi14cyA9PSBsZWZ0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGRhbWllci1oMi11bmRlcmxpbmUtb25lLWNvbG9yKTtcclxuICAgICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhZnRlci1ib3JkZXItYmcoJGhlaWdodDogMHB4LCAkbXQ6IDBweCwgJGZpbGU6ICdwdWNlLWgyLnBuZycsICR0b3A6IDI4cHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGE6bm90KFtjbGFzcyo9XCJkcm9wZG93bi1pdGVtXCJdKSB7XHJcbiAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstb25lLWNvbG9yO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRkYW1pZXItbGluay1vbmUtY29sb3ItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtdHh0LXR3byAuY29udGVudCB7XHJcbiAgICBjb2xvcjogJGRhbWllci10eHQtdHdvLWNvbG9yO1xyXG5cclxuICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlIHtcclxuICAgICAgY29sb3I6ICRkYW1pZXItaDItdHdvLWNvbG9yO1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkZGFtaWVyLWgyLXVuZGVybGluZS10d28tY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XHJcbiAgICAgICAgICAgIEBpZiAkZGFtaWVyLWgyLWFsaWduLXhzID09IGxlZnQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMS5wbmcnLCAkdG9wOiAyOHB4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhOm5vdChbY2xhc3MqPVwiZHJvcGRvd24taXRlbVwiXSkge1xyXG4gICAgICBjb2xvcjogJGRhbWllci1saW5rLXR3by1jb2xvcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstdHdvLWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGFtaWVyLXN0eWxlLW9uZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFtaWVyLWJnLW9uZTtcclxuICAgIEBpZiAoJGRhbWllci1iZy1vbmUtZ3JhZGllbnQpIHtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkYW1pZXItYmctb25lLWdyYWRpZW50LWRlZywgJGRhbWllci1iZy1vbmUgJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtc3RhcnQsICRkYW1pZXItYmctb25lLWVuZCAkZGFtaWVyLWJnLW9uZS1ncmFkaWVudC1lbmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRhbWllci1zdHlsZS10d28ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbWllci1iZy10d287XHJcbiAgICBAaWYgKCRkYW1pZXItYmctdHdvLWdyYWRpZW50KSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGFtaWVyLWJnLXR3by1ncmFkaWVudC1kZWcsICRkYW1pZXItYmctdHdvICRkYW1pZXItYmctdHdvLWdyYWRpZW50LXN0YXJ0LCAkZGFtaWVyLWJnLXR3by1lbmQgJGRhbWllci1iZy10d28tZ3JhZGllbnQtZW5kKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kYW1pZXItc3R5bGUtaW1nIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gIC8qIETDqWdyYWTDqSBkYW1pZXIgKi9cclxuICAuZGFtaWVyLXN0eWxlLW9uZSwgLmRhbWllci1zdHlsZS10d28ge1xyXG4gICAgLmNvbC1pbWcgLmNvbnRlbnQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRkYW1pZXItZ3JhZGllbnQge1xyXG4gICAgLmRhbWllci1zdHlsZS1vbmUgLmNvbC1pbWcgLmNvbnRlbnQ6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGRhbWllci1iZy1vbmUgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcclxuICAgIH1cclxuICAgIC5kYW1pZXItc3R5bGUtdHdvIC5jb2wtaW1nIC5jb250ZW50OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW1wb3J0ICdxdWVyaWVzL2N3LWRhbWllcic7XHJcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAuY3ctZGFtaWVyIHtcbiAgICAuZGFtaWVyLXN0eWxlLW9uZXtcbiAgICAgIC5jb2wtaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhbWllci1zdHlsZS10d297XG4gICAgICAuY29udGVudCBpbWd7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAuY3ctZGFtaWVyIC5kYW1pZXItc3R5bGUtdHdvIC5jb250ZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1kYW1pZXIgLmRhbWllci1zdHlsZS1vbmUgLmNvbC1pbWd7XG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwOXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWRyb2l0ZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMTAwJSwgcmdiYSgwLCAwLCAwLCAwLjg1KSAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLmN3LWRhbWllciB7XG4gICAgLnJvdyA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbC1pbWcgLmNvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtdHh0LVwiXSB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNTUwcHg7XG5cbiAgICAgICAgLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRhbWllci1ncmFkaWVudCB7XG4gICAgICAuZGFtaWVyLXN0eWxlLW9uZSAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgICB9XG4gICAgICAuZGFtaWVyLXN0eWxlLXR3byAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGRhbWllci1iZy10d28gMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZGFtaWVyICB7XG4gICAgLmNvbC1pbWctY2VudGVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS1vbmUge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLW9uZS10eHQtYWxpZ24tbGc7XG4gICAgICB9XG4gICAgICBoMiwgLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctb25lLWgyLWFsaWduLWxnO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctb25lLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jdy1kYW1pZXItYnRuIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRhbWllci1iZy1vbmUtYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtdHdvIHtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRhbWllci1iZy10d28tdHh0LWFsaWduLWxnO1xuICAgICAgfVxuICAgICAgaDIsIC5jdy1kYW1pZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10d28taDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10d28taDItYWxpZ24tbGcgPT0gY2VudGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctdHdvLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdHdvLWJ0bi1hbGlnbi1sZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFtaWVyLXN0eWxlLXRocmVlIHtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRhbWllci1iZy10aHJlZS10eHQtYWxpZ24tbGc7XG4gICAgICB9XG4gICAgICBoMiwgLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtaDItYWxpZ24tbGc7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKDE2MDBweCkge1xuICAuY3ctZGFtaWVyIHtcbiAgICAuY29sLW1kLTYge1xuICAgICAgJltjbGFzcyo9XCJjb2wtdHh0LVwiXSwgJi5jb2wtaW1nLWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdy1jb2wtbGVmdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmN3LWNvbC1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtb25lIC5jb2wtaW1nLWZ1bGwgLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS10d28gLmNvbC1pbWctZnVsbCAuY29udGVudDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE9QVElPTlMgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIENlbnRyYWdlXG5AaWYgJGRhbWllci1jb2wtcmVzc2VycmVyIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1kYW1pZXIge1xuICAgICAgW2NsYXNzKj1cImNvbC10eHQtXCJdOm5vdChbY2xhc3MqPVwib3JkZXItXCJdKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5vcmRlci1sZy0yW2NsYXNzKj1cImNvbC10eHQtXCJdIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuY29sLWltZ1tjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmNvbC1pbWcub3JkZXItbGctMVtjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNvbC1pbWctb3ZlcmZsb3dzXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1kYW1pZXIge1xuICAgIC5jb2wtaW1nLmNvbC1pbWctb3ZlcmZsb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy1vdmVyZmxvd3MgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGZvbmQgc291cyBsJ2ltYWdlIGVuIGTDqWNhbGzDqVxuQGlmICRkYW1pZXItaW1nLWNlbnRlci1iZyB7XG4gIC5jb2wtaW1nLmNvbC1pbWctY2VudGVyIHtcbiAgICBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgIH1cblxuICAgICAgLmN3LWRhbWllci1lbGVtZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3ctZGFtaWVyLWVsZW1lbnQge1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWRhbWllci1ib3JkZXItbnVtYmVycyB7XG4gICAgLnJvdyA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDUwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwiY29sLXR4dC1cIl0ge1xuICAgICAgcGFkZGluZzogNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLmN3LWRhbWllci1ib3JkZXItbnVtYmVycyB7XG4gICAgLnJvdyA+IGRpdiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgICAgICAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yb3c6bnRoLWNoaWxkKDBuKzEpID4gZGl2IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgICAgd2lkdGg6IDUlO1xuICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMzBweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgaDI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIxXCI7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yb3c6bnRoLWNoaWxkKDBuKzIpID4gZGl2IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogOTQuOTUlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMzBweCAzMHB4IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgaDI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIyXCI7XG4gICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5yb3c6bnRoLWNoaWxkKDBuKzMpID4gZGl2IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDUlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMCAwIDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGgyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiM1wiO1xuICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiR0cmFuc2l0aW9uLW1ldGllcjogYWxsIGVhc2Utb3V0IDAuM3M7XG4kZ3JhZGllbnQtbWV0aWVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xuJGdyYWRpZW50LW1ldGllci1vcGFjaXR5OiAwLjU7XG4kZ3JhZGllbnQtbWV0aWVyLW9wYWNpdHktMjogMC41O1xuJGdyYWRpZW50LW1ldGllci1leHRlbmRlZDogODAlO1xuXG4vLyBEZXNrdG9wXG4kbnVtYmVyLWNvbHVtbnM6IDQ7XG4kbnVtYmVyLXJvd3M6IDI7XG4kZ3V0dGVyLW1hcmdlOiAxNXB4O1xuJHNpemUtbWV0aWVyOiAyODBweDtcbiRsYXJnZXVyOiBjYWxjKCgjeyRzaXplLW1ldGllcn0gKiAjeyRudW1iZXItY29sdW1uc30pICsgKCN7JGd1dHRlci1tYXJnZX0gKiAoI3skbnVtYmVyLWNvbHVtbnN9IC0gMSkpKTtcbiRoYXV0ZXVyOiBjYWxjKCgjeyRzaXplLW1ldGllcn0gKiAjeyRudW1iZXItcm93c30pICsgKCN7JGd1dHRlci1tYXJnZX0gKiAoI3skbnVtYmVyLXJvd3N9IC0gMSkpKTtcblxuLy9UYWJsZXR0ZVxuJG51bWJlci1jb2x1bW5zLXRhYjogMjtcbiRudW1iZXItcm93cy10YWI6IDQ7XG4kZ3V0dGVyLW1hcmdlLXRhYjogMTVweDtcbiRzaXplLW1ldGllci10YWI6IDI4MHB4O1xuJGxhcmdldXItdGFiOiBjYWxjKCgjeyRzaXplLW1ldGllci10YWJ9ICogI3skbnVtYmVyLWNvbHVtbnMtdGFifSkgKyAoI3skZ3V0dGVyLW1hcmdlLXRhYn0gKiAoI3skbnVtYmVyLWNvbHVtbnMtdGFifSAtIDEpKSk7XG4kaGF1dGV1ci10YWI6IGNhbGMoKCN7JHNpemUtbWV0aWVyLXRhYn0gKiAjeyRudW1iZXItcm93cy10YWJ9KSArICgjeyRndXR0ZXItbWFyZ2UtdGFifSAqICgjeyRudW1iZXItcm93cy10YWJ9IC0gMSkpKTtcbiRtYXgtd2lkdGgtdGFiOiAxMjAwcHg7XG5cbi8vTW9iaWxlXG4kbnVtYmVyLWNvbHVtbnMtbW9iOiAxO1xuJG51bWJlci1yb3dzLW1vYjogODtcbiRndXR0ZXItbWFyZ2UtbW9iOiAxNXB4O1xuJHNpemUtbWV0aWVyLW1vYjogMjgwcHg7XG4kbGFyZ2V1ci1tb2I6IGNhbGMoKCN7JHNpemUtbWV0aWVyLW1vYn0gKiAjeyRudW1iZXItY29sdW1ucy1tb2J9KSArICgjeyRndXR0ZXItbWFyZ2UtbW9ifSAqICgjeyRudW1iZXItY29sdW1ucy1tb2J9IC0gMSkpKTtcbiRoYXV0ZXVyLW1vYjogY2FsYygoI3skc2l6ZS1tZXRpZXItbW9ifSAqICN7JG51bWJlci1yb3dzLW1vYn0pICsgKCN7JGd1dHRlci1tYXJnZS1tb2J9ICogKCN7JG51bWJlci1yb3dzLW1vYn0gLSAxKSkpO1xuJG1heC13aWR0aC1tb2I6IDYxNXB4O1xuXG5cbi5jdy1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJG51bWJlci1jb2x1bW5zLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgkbnVtYmVyLXJvd3MsIDFmcik7XG4gIGdyaWQtY29sdW1uLWdhcDogJGd1dHRlci1tYXJnZTtcbiAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyLW1hcmdlO1xuICB3aWR0aDogJGxhcmdldXI7XG4gIGhlaWdodDogJGhhdXRldXI7XG5cbiAgLmN3LW1ldGllciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1tZXRpZXI7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1tZXRpZXI7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW1ldGllcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5pbWctbWV0aWVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwLCByZ2JhKCRncmFkaWVudC1tZXRpZXItY29sb3IsICRncmFkaWVudC1tZXRpZXItb3BhY2l0eSkgMCwgcmdiYSgkZ3JhZGllbnQtbWV0aWVyLWNvbG9yLCAkZ3JhZGllbnQtbWV0aWVyLW9wYWNpdHktMikgJGdyYWRpZW50LW1ldGllci1leHRlbmRlZCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tbWV0aWVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMSk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aC10YWIpIHtcbiAgLmN3LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRudW1iZXItY29sdW1ucy10YWIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoJG51bWJlci1yb3dzLXRhYiwgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6ICRndXR0ZXItbWFyZ2UtdGFiO1xuICAgIGdyaWQtcm93LWdhcDogJGd1dHRlci1tYXJnZS10YWI7XG4gICAgd2lkdGg6ICRsYXJnZXVyLXRhYjtcbiAgICBoZWlnaHQ6ICRoYXV0ZXVyLXRhYjtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aC1tb2IpIHtcbiAgLmN3LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRudW1iZXItY29sdW1ucy1tb2IsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoJG51bWJlci1yb3dzLW1vYiwgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6ICRndXR0ZXItbWFyZ2UtbW9iO1xuICAgIGdyaWQtcm93LWdhcDogJGd1dHRlci1tYXJnZS1tb2I7XG4gICAgd2lkdGg6ICRsYXJnZXVyLW1vYjtcbiAgICBoZWlnaHQ6ICRoYXV0ZXVyLW1vYjtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLSAgLkNXLUdSSUQtU0lNUExFIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tICovXG4uY3ctZ3JpZC1zaW1wbGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTBweDtcbiAgLy9vdmVyZmxvdzogYXV0bztcbiAgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmN3LWdyaWQtc2ltcGxlLTIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMjBweDtcbiAgLy9vdmVyZmxvdzogYXV0bztcbiAgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDYge1xuICAgIC5jdy1ncmlkLXNpbXBsZS1jb2wtI3skaX0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGksIDFmcik7XG5cbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNiB7XG4gICAgLmN3LWdyaWQtc2ltcGxlLWNvbC0jeyRpfS1tZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcblxuICAgIH1cbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLSAgLkNXLUdSSUQtUFVaWkxFIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tICovXG4vLyBHcmlkIChwYXMgZGUgcGFkZGluZyBleHTDqXJpZXVyKVxuJGN3LWdyaWQtcHV6emxlLWdhcC14czogM3B4OyAvLyBwYWRkaW5nLCB4cyA+IGxnXG4kY3ctZ3JpZC1wdXp6bGUtY29sLW5ici1zbTogMjsgLy8gY29sb25uZXMgc21cbiRjdy1ncmlkLXB1enpsZS1yb3ctbmJyLXNtOiAzOyAvLyBsaWduZXMgc21cbiRjdy1ncmlkLXB1enpsZS1hcmVhLXNtOiAvKiBsZSBub21icmUgZGUgbGlnbmUgZXQgZGUgY29sb25uZSBkb2l0IMOqdHJlIGNvaMOpcmVudCBhdmVjIGxlcyB2YXJpYWJsZXMgYXUgZGVzc3VzICovXG4gICAgICAgICdvbmUgdHdvJ1xuICAgICAgICAndGhyZWUgZm91cidcbiAgICAgICAgJ2ZpdmUgc2l4JztcblxuJGN3LWdyaWQtcHV6emxlLWdhcC1sZzogMjBweDsgLy8gcGFkZGluZywgbGcgPiArK1xuJGN3LWdyaWQtcHV6emxlLWNvbC1uYnItbGc6IDQ7IC8vIGNvbG9ubmVzIGxnXG4kY3ctZ3JpZC1wdXp6bGUtcm93LW5ici1sZzogMzsgLy8gbGlnbmVzIGxnXG4kY3ctZ3JpZC1wdXp6bGUtYXJlYS1sZzogLyogbGUgbm9tYnJlIGRlIGxpZ25lIGV0IGRlIGNvbG9ubmUgZG9pdCDDqnRyZSBjb2jDqXJlbnQgYXZlYyBsZXMgdmFyaWFibGVzIGF1IGRlc3N1cyAqL1xuICAgICAgICAnb25lIG9uZSB0d28gdGhyZWUnXG4gICAgICAgICdvbmUgb25lIHNpeCBzaXgnXG4gICAgICAgICdmb3VyIGZpdmUgc2l4IHNpeCc7XG5cbi8vIENvdWxldXIvZGVncmFkw6lcbiRjdy1ncmlkLXB1enpsZS1jb2xvcjogcmdiYSgkd2hpdGUsIDAuODUpO1xuJGN3LWdyaWQtcHV6emxlLWNvbG9yLWxpbms6IHJnYmEoJHdoaXRlLCAwLjg1KTtcbiRjdy1ncmlkLXB1enpsZS1jb2xvci1saW5rLWhvdmVyOiAkd2hpdGU7XG5cbi8vIFR5cG9ncmFwaGllXG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtZm9udC13ZWlnaHQ6ICRzZWNvbmRhcnktZm9udC13ZWlnaHQ7XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtZm9udC1zaXplLXhzOiAxLjVyZW07XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtZm9udC1zaXplLWxnOiAycmVtO1xuJGN3LWdyaWQtcHV6emxlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjI7XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGN3LWdyaWQtcHV6emxlLXRpdGxlLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtc2l6ZS14czogMXJlbTtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtc2l6ZS1sZzogMS4ycmVtO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtbGluZS1oZWlnaHQ6IDEuMjtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBDZW50cmFnZVxuJGN3LWdyaWQtcHV6emxlLXRleHQtYWxpZ246IGNlbnRlcjtcblxuLmN3LWdyaWQtcHV6emxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICAucm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ3JpZC1nYXA6ICRjdy1ncmlkLXB1enpsZS1nYXAteHM7XG4gIH1cblxuICAuY29udGVudCwgLmN3LWdyaWQtcHV6emxlLXN1bW1hcnkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGNvbG9yOiAjeyRjdy1ncmlkLXB1enpsZS1jb2xvcn0gIWltcG9ydGFudDtcbiAgYSB7XG4gICAgY29sb3I6ICN7JGN3LWdyaWQtcHV6emxlLWNvbG9yLWxpbmt9ICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI3skY3ctZ3JpZC1wdXp6bGUtY29sb3ItbGluay1ob3Zlcn0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY3ctZ3JpZC1wdXp6bGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY3ctZ3JpZC1wdXp6bGUtdGl0bGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXNpemUteHM7XG4gICAgbGluZS1oZWlnaHQ6ICRjdy1ncmlkLXB1enpsZS10aXRsZS1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY3ctZ3JpZC1wdXp6bGUtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gIH1cblxuICAuY3ctZ3JpZC1wdXp6bGUtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY3ctZ3JpZC1wdXp6bGUtdGV4dC1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtc2l6ZS14cztcbiAgICBsaW5lLWhlaWdodDogJGN3LWdyaWQtcHV6emxlLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRjdy1ncmlkLXB1enpsZS10ZXh0LWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY3ctZ3JpZC1wdXp6bGUtdGV4dC10ZXh0LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC5yb3cge1xuICAgIC5jdy1ncmlkLXB1enpsZS1zdW1tYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEzNXB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0ZXh0LWFsaWduOiAkY3ctZ3JpZC1wdXp6bGUtdGV4dC1hbGlnbjtcblxuICAgICAgJltocmVmKj1cIi9cIl06aG92ZXIge1xuICAgICAgICAuY3ctZ3JpZC1wdXp6bGUtZmlsdHJlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3ctZ3JpZC1wdXp6bGUtdGl0bGUsIC5jdy1ncmlkLXB1enpsZS10ZXh0IHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmJ0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY3ctZ3JpZC1wdXp6bGUgLnJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KCRjdy1ncmlkLXB1enpsZS1yb3ctbmJyLXNtLCAxZnIpIC8gcmVwZWF0KCRjdy1ncmlkLXB1enpsZS1jb2wtbmJyLXNtLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICRjdy1ncmlkLXB1enpsZS1hcmVhLXNtO1xuICAgIG1pbi1oZWlnaHQ6IDYzMHB4O1xuXG4gICAgLm9uZSB7XG4gICAgICBncmlkLWFyZWE6IG9uZTtcbiAgICB9XG5cbiAgICAudHdvIHtcbiAgICAgIGdyaWQtYXJlYTogdHdvO1xuICAgIH1cblxuICAgIC50aHJlZSB7XG4gICAgICBncmlkLWFyZWE6IHRocmVlO1xuICAgIH1cblxuICAgIC5mb3VyIHtcbiAgICAgIGdyaWQtYXJlYTogZm91cjtcbiAgICB9XG5cbiAgICAuZml2ZSB7XG4gICAgICBncmlkLWFyZWE6IGZpdmU7XG4gICAgfVxuXG4gICAgLnNpeCB7XG4gICAgICBncmlkLWFyZWE6IHNpeDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZ3JpZC1wdXp6bGUgLnJvdyB7XG4gICAgZ3JpZC1nYXA6ICRjdy1ncmlkLXB1enpsZS1nYXAtbGc7XG4gICAgZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KCRjdy1ncmlkLXB1enpsZS1yb3ctbmJyLWxnLCAxZnIpIC8gcmVwZWF0KCRjdy1ncmlkLXB1enpsZS1jb2wtbmJyLWxnLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6JGN3LWdyaWQtcHV6emxlLWFyZWEtbGc7XG4gIH1cbn1cblxuLmN3LWdyaWQtcHV6emxlIC5jb2wge1xuICAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbisxKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTEtbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rMikgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGUyLW1vYi5qcGcnKTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzMpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMy1tb2IuanBnJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbis0KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTQtbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rNSkgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGU1LW1vYi5qcGcnKTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzYpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNi1tb2IuanBnJyk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZ3JpZC1wdXp6bGUgLmNvbCB7XG4gICAgJjpudGgtY2hpbGQoMG4rMSkgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTEuanBnJyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMG4rMikgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTIuanBnJyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMG4rMykgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTMuanBnJyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMG4rNCkgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTQuanBnJyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMG4rNSkgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTUuanBnJyk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMG4rNikgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTYuanBnJyk7XG4gICAgfVxuICB9XG59XG5cbi5jdy1ncmlkLXB1enpsZS1maWx0cmUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQpO1xuICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDUwZGVnLCByZ2JhKCRncmF5LTkwMCwgMSkgMCwgcmdiYSgkZ3JheS05MDAsIDEpIDEwMCUpO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4iLCIuY3ctdGltZWxpbmUtdmVydGljYWwge1xuICAkY3ctdGltZWxpbmUtdmVydGljYWw6ICRib2R5LWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmxpbmUge1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cblxuICAuY3ctZWxlbWVudC1zdmcge1xuICAgIGZpbGw6ICRwcmltYXJ5O1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICB9XG4gIH1cblxuICAuY3ctZWxlbWVudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkaDEtY29sb3I7XG4gIH1cblxuICAuY3ctZWxlbWVudC10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY3ctdGltZWxpbmUtdmVydGljYWw7XG4gICAgLy9tYXJnaW46IGF1dG87XG4gICAgLy9tYXgtd2lkdGg6IDI2MHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmN3LXRpbWVsaW5lLXZlcnRpY2FsIHtcbiAgICAkY3ctY29udGV4dC1jaHJvbm9sb2dpZTogJGJvZHktY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmxpbmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMHB4KSA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcbiAgICAgIGJvcmRlci13aWR0aDogMHB4IDBweCAwcHggMnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB9XG5cbiAgICAuY3ctY2hpbGRyZW4tcXVpbmN1bngtbWQge1xuICAgICAgPiBkaXY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFjY29yZGlvbiB7IC8vIHZvaXIgcHJvamV0IDIyMDViYzEwMjJcbiAgd2lkdGg6IDEwMCU7XG4gIC5jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgIGkge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgLy9jb2xvcjogJHByaW1hcnk7XG5cbiAgICAgICAgaTpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpOmFmdGVyIHtcbiAgICAgICAgICAvL2NvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICAgaTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAvL2NvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY2FyZC1kZXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYm9keSA+IGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgJltjbGFzcyo9XCJjdy1iZy1cIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuY3ctYmctb25lIHtcbiAgICAuY2FyZCwgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb25lO1xuICAgIH1cbiAgfVxuXG4gICYuY3ctYmctdHdvIHtcbiAgICAuY2FyZCwgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctdHdvO1xuICAgIH1cbiAgfVxuXG4gICYuY3ctYmctZ3JheSB7XG4gICAgLmNhcmQsIC5jYXJkLWhlYWRlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSk7XG4gICAgfVxuICB9XG5cbiAgJi5jdy1iZy1kYXJrIHtcbiAgICAuY2FyZCwgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi50ZXh0LXdoaXRlIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJHdoaXRlLCAxMCUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24td2l0aC1tYXJnaW4ge1xuICAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gIH1cblxuICAuY2FyZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAkY2FyZC1ib3JkZXItd2lkdGggJGNhcmQtYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcblxuICAgICY6bnRoLWxhc3QtY2hpbGQobikge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMCAzMHB4IDI0cHg7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1pLXJpZ2h0LWZhIHtcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZy1yaWdodDogODBweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIC8vQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjIpKSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgY29udGVudDogJ1xcZjM1YSc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEV4ZW1wbGUgZGUgYWNjb3JkaW9uID4gY2FyZCA+IGNsYXNzIHBlcnNvbm5hbGlzw6llXG4uYWNjb3JkaW9uIHtcbiAgLmNhcmQtY3VzdG9tLW9uZSB7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmctb25lLCA1JSkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLW9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMjRweCAzMHB4O1xuICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjcyKTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuOCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWN1c3RvbS10d28ge1xuICAgIC5jYXJkLWhlYWRlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZy10d28sIDEwJSkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5jYXJkLWJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLXR3byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMjRweCAzMHB4O1xuICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjcyKTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuOCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgICAgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBY2NvcmRpb24gPiBjYXJkID4gaW1hZ2UgYmdcbi5hY2NvcmRpb24gLmNhcmQuYWNjb3JkaW9uLWltZy1iZyB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN3LWNhcmQtYmcgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyNHB4IDgwcHggMjRweCAzMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tY2FyZC1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkY3ctY2FyZC1iZyAwJSwgcmdiYSgkY3ctY2FyZC1iZywgMC45KSAwJSwgcmdiYSgkY3ctY2FyZC1iZywgMC44KSA1MCUsIHJnYmEoJGN3LWNhcmQtYmcsIDAuOCkgNzAlKTtcbiAgICB9XG4gIH1cblxuICAuY2FyZC10aXRsZSwgLmFjY29yZGlvbi1jYXJkLWRlc2Mge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgfVxuXG4gIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDI0cHggMzBweDtcbiAgfVxufVxuXG4vLyBBY2NvcmRpb24gPiBjYXJkID4gaW1hZ2Ugw6AgZ2F1Y2hlXG4uYWNjb3JkaW9uIC5jYXJkLmFjY29yZGlvbi1pbWctbGVmdCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMzAwO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLWNhcmQtaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgZGlzcGxheTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgLmNhcmQtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE0NXB4O1xuICB9XG5cbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMjRweCAzMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmFjY29yZGlvbiAuY2FyZC5hY2NvcmRpb24taW1nLWJnIHtcbiAgICAuY2FyZC10aXRsZSwgLmFjY29yZGlvbi1jYXJkLWRlc2Mge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJGN3LWNhcmQtYmcgMCUsICRjdy1jYXJkLWJnIDIwJSwgcmdiYSgyNDksIDI0OSwgMjQ5LCAwLjgpIDM4JSwgcmdiYSgyNDksIDI0OSwgMjQ5LCAwKSA3MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24gLmNhcmQuYWNjb3JkaW9uLWltZy1sZWZ0IHtcbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMjRweCA4MHB4IDI0cHggMjMwcHg7XG4gICAgfVxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY2FyZC1pbWcge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29sLWxnLTYgLmFjY29yZGlvbiAuY2FyZC1oZWFkZXIge1xuICAgIC5hY2NvcmRpb24tY2FyZC1pbWcge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg2NmRlZywgJGN3LWNhcmQtYmcgMCUsICRjdy1jYXJkLWJnIDIwJSwgcmdiYSgyNDksIDI0OSwgMjQ5LCAwLjgpIDM4JSwgcmdiYSgyNDksIDI0OSwgMjQ5LCAwKSA3MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29sLWxnLTYgLmFjY29yZGlvbiB7XG4gICAgLmNhcmQuYWNjb3JkaW9uLWltZy1iZyB7XG4gICAgICAuY2FyZC10aXRsZSwgLmFjY29yZGlvbi1jYXJkLWRlc2Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNoZWFkZXIge1xyXG4gIGRpc3BsYXk6IGluaXRpYWw7XHJcbn1cclxuXHJcbi5jdy1uYXZiYXIge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDEwNzA7XHJcbn1cclxuXHJcbiNuYXZiYXItdG9wIHtcclxuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRuYXZiYXItdG9wLWJnLCAkbmF2YmFyLXRvcC1vcGFjaXR5KSwgJG5hdmJhci10b3AtYmcpO1xyXG4gIC5jb250ZW50IHtcclxuICAgIC8vZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBjb2xvcjogJG5hdmJhci10b3AtY29sb3I7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnJlZ2lvbi10b3AtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcclxuICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNuYXZiYXItbWFpbiB7XHJcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQteHM7XHJcbiAgLm1lbnUtLXNlY29uZGFyeSB7XHJcbiAgICBhIHtcclxuICAgICAgZm9udC1zaXplOiBjYWxjKCN7JG5hdmJhci1mb250LXNpemV9IC0gMC4wNXJlbSk7XHJcbiAgICAgIHBhZGRpbmc6IDExcHggMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIge1xyXG4gIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJG5hdmJhci1iZywgJG5hdmJhci1vcGFjaXR5KSwgJG5hdmJhci1iZyk7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XHJcbiAgcGFkZGluZzogMDtcclxuICBmb250LWZhbWlseTogJG5hdmJhci1mb250LWZhbWlseTtcclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDE5MjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1sb2dvIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxNXB4O1xyXG4gICAgLy9tYXJnaW4tbGVmdDogMTBweDtcclxuICAgIGltZyB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZS1pbi1vdXQpO1xyXG4gICAgICBtYXgtd2lkdGg6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoO1xyXG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQteHN9IC0gMjBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLWJyYW5kIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogJG5hdmJhci12ZXJ0aWNhbC1jZW50ZXJpbmctYTtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIC8vbWluLXdpZHRoOiAyNTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbiA6Y29sdW1uO1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqIDEuMTtcclxuICAgICAgY29sb3I6ICRuYXZiYXItYnJhbmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmxvY2stZmxvYXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2l0ZS1uYW1lIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hbWUtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXdlaWdodDogJG5hdmJhci1uYW1lLWZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmFtZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLW5hbWUtbGluZS1oZWlnaHQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgY29sb3I6ICM5ZjdjNmU7XHJcbiAgfVxyXG5cclxuICAuc2l0ZS1zbG9nYW4ge1xyXG4gICAgZm9udC1mYW1pbHk6ICRuYXZiYXItc2xvZ2FuLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItc2xvZ2FuLWZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItc2xvZ2FuLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXNsb2dhbi1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJG5hdmJhci1zbG9nYW4tbGluZS1oZWlnaHQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XHJcbiAgICBvcGFjaXR5OiAkbmF2YmFyLXNsb2dhbi1vcGFjaXR5O1xyXG4gICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgY29sb3I6ICM1NjRjM2M7XHJcbiAgICAmOmZpcnN0LWxldHRlciB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci10b2dnbGVyIHtcclxuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLXRvZ2dsZXItbGluZS1jb2xvci1leHBhbmRlZC10cnVlO1xyXG4gICAgICB3aWR0aDogMjJweDtcclxuICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHhcclxuICAgIH1cclxuICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZDogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLXRvZ2dsZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgI3RvZ2dsZXItbGluZS0xIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpKTtcclxuICAgIH1cclxuXHJcbiAgICAjdG9nZ2xlci1saW5lLTIge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICN0b2dnbGVyLWxpbmUtMyB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC03cHgpIHJvdGF0ZSgtNDVkZWcpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vJHRvZ2dsZS1jb2xvcjogXCIyNTUsMjU1LDI1NSwgMC45XCI7XHJcbiAgLy8ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XHJcbiAgLy8gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyOCN7JHRvZ2dsZS1jb2xvcn0lMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xyXG4gIC8vfVxyXG5cclxuICBuYXYge1xyXG4gICAgLm5hdiBsaSBhIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLWZvbnQtZmFtaWx5O1xyXG4gICAgICBmb250LXdlaWdodDogJG5hdmJhci1mb250LXdlaWdodDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgIGZvbnQtc2l6ZTogJG5hdmJhci1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCRpdGVtLWEtY29sb3IsICRpdGVtLWEtY29sb3Itb3BhY2l0eSk7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBAaWYgJG5hdmJhci1vcGFjaXR5ICE9IDEge1xyXG4gICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRpdGVtLWEtY29sb3IsICRpdGVtLWEtY29sb3Itb3BhY2l0eSksICRpdGVtLWEtY29sb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpZiAkaXRlbS1hLWFjdGl2ZS1ib2xkIHtcclxuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwcHggJGl0ZW0tYS1jb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxyXG4gICAgLm5hdiA+IGxpID4gYTpob3ZlcixcclxuICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXHJcbiAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcclxuICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxyXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmcteHM7XHJcbiAgICAgIEBpZiAkaXRlbS1hLWFjdGl2ZS1ib2xkIHtcclxuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggJGl0ZW0tYS1hY3RpdmUtY29sb3IteHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2IC5kcm9wZG93biA+IGEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkZHJvcG1lbnUtYmcsICRkcm9wbWVudS1iZy1vcGFjaXR5KSwgJGRyb3BtZW51LWJnKTtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgQGlmICRuYXZiYXItZHJvcGRvd24tbWVudS1zaGFkb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjA1LCAwcHgsIDJweCwgNHB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGkuZHJvcGRvd24taXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaWYgJGRyb3BtZW51LWJvcmRlciB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRyb3BtZW51LWJvcmRlci1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLWQtbWVudS1mb250LWZhbWlseTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbmF2YmFyLWQtbWVudS1mb250LXdlaWdodDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLWQtbWVudS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJG5hdmJhci1kLW1lbnUtZm9udC1zaXplO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRuYXZiYXItZC1tZW51LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweCAkaXRlbS1hLXBhZGRpbmcteDtcclxuICAgICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRkcm9wbWVudS1pdGVtLWEtY29sb3IsICRkcm9wbWVudS1pdGVtLWEtY29sb3Itb3BhY2l0eSksICRkcm9wbWVudS1pdGVtLWEtY29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICYuYWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcG1lbnUtaXRlbS1hLWFjdGl2ZS1iZztcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdiAuZHJvcGRvd24tbWVudS5zaG93IHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1idG4ge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgLy9ib3gtc2hhZG93OiB1bnNldDtcclxuICB9XHJcblxyXG4gIC5uYXZiYXItZm9ybSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci10b2dnbGUuaXMtYWN0aXZlIHtcclxuICAgIC5pY29uLWJhcjpudGgtY2hpbGQoMykge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWJhcjpudGgtY2hpbGQoMikge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZykpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWJhcjpudGgtY2hpbGQoNCkge1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTQ1ZGVnKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWZmaXgtc2Nyb2xsIC5uYXZiYXIge1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xyXG4gIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJG5hdmJhci1iZywgJG5hdmJhci1vcGFjaXR5LWFmZml4LXNjcm9sbCksICRuYXZiYXItYmcpO1xyXG59XHJcblxyXG5AaW1wb3J0ICdxdWVyaWVzL25hdmJhcic7IiwiLyoqXG5Qb3NpdGlvbiBkZSBsYSBuYXZiYXIgZW4gaGF1dCBkZSBsYSBwYWdlIMOgIGFqdXN0ZXIgZW4gZm9uY3Rpb25cbmRlIGxhIGhhdXRldXIgZHUgaGVhZGVyIHBvdXIgcXVlIGwnZXNwYWNlIGVudHJlIGxlcyBkZXV4IHJlc3RlXG5zaW1pbGFpcmUgcXVlbHF1ZSBzb2l0IGxhIGxhcmdldXIgZGUgbCfDqWNyYW4uXG4gKi9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5jdy1uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5uYXZiYXIge1xuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJHhzLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgQGlmICR4cy1zaG93LW5hbWUgPT0gZmFsc2UgYW5kICR4cy1zaG93LXNsb2dhbiA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtbmFtZSB7XG4gICAgICBAaWYgJHhzLXNob3ctbmFtZSA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkeHMtc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93biB7XG4gICAgICAuY2FyZXQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW4gLmNhcmV0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5uYXYtbWVudS1wci5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci10b3Age1xuICAgIG9yZGVyOiAyO1xuXG4gICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLmFmZml4LXNjcm9sbCB7XG4gICAgI25hdmJhci10b3Age1xuICAgICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICBvcmRlcjogMTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIHotaW5kZXg6IDIxMDtcbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4zNXMgZWFzZSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgQGlmICgkbmF2YmFyLXRvZ2dsZXItZ3JhZGllbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWNvbG9yLTIgMCUsICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMTtcbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiA0NDBweDtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICAgICYubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10b3AtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzaW5nIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjM1cyBlYXNlKVxuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhciBuYXYgLm5hdiAuZHJvcGRvd24tbWVudSBsaS5kcm9wZG93bi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubmF2YmFyIHtcbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIG1pbi13aWR0aDogJG5hdmJhci1icmFuZC13aWR0aDtcbiAgICB9XG5cbiAgICAuYmxvY2stZmxvYXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBtYXJnaW46IDAuM2VtO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSA+IGEubmF2LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiAkbmF2YmFyLXZlcnRpY2FsLWNlbnRlcmluZy1hICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRuYXZiYXItaG9yaXpvbnRhbC1jZW50ZXJpbmctYTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgbmF2IHtcbiAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci1sZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmctbGc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRuYXZiYXItbGktd2lkdGgtZnVsbCB7XG4gICAgICAubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgLm5hdiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBuYXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLXRvcCB7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LS1tYWluIHtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC40cyBlYXNlLWluLW91dCk7XG4gICAgLm5hdiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWR9IC0gKCN7JG5hdmJhci1oZWlnaHQtbmF2YmFyLW5hdn0gKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICAubmF2IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogJG5hdmJhci1ob3Jpem9udGFsLWNlbnRlcmluZy1saTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJGxnLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSAtIDIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLW5hbWUge1xuICAgICAgQGlmICRsZy1zaG93LW5hbWUgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkbGctc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBAaWYgJGxnLXNob3ctbmFtZSA9PSBmYWxzZSBhbmQgJGxnLXNob3ctc2xvZ2FuID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5kcm9wZG93biB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItZHJvcG1lbnUtcmFkaXVzO1xuICAgICAgICBAaWYgJG5hdmJhci1kcm9wZG93bi1tZW51LXNoYWRvdyB7XG4gICAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KCRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wLCAwcHgsIDZweCwgNnB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtOmxhc3QtY2hpbGQuZHJvcGRvd24sIC5kcm9wZG93bi5kcm9wZG93bi1yaWdodCB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vLmN3LWZsYiB7XG4gICAgLy8gIGRpc3BsYXk6IG5vbmU7XG4gICAgLy99XG4gIH1cblxuICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAubWVudS0tbWFpbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGw7XG4gICAgICAubmF2IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gI3skbmF2YmFyLWhlaWdodC1uYXZiYXItbmF2fSk7XG4gICAgICB9XG4gICAgfVxuICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm5hdmJhciAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICAubmF2YmFyIC5uYXZiYXItYnJhbmQgYSB7XG4gICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICNuYXZiYXItbWFpbiAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItYnJhbmQtd2lkdGg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKG1kLCBsZykge1xuICAubmF2YmFyIG5hdiAubmF2IGxpIGEge1xuICAgIHBhZGRpbmc6IDEwcHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG5AaWYgJGxvZ28tb3V0LW5hdmJhciB7XG4gICNuYXZiYXItbWFpbiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gKyAxMHB4KTtcbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1sb2dvIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6ICRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdDtcbiAgICB9XG5cbiAgICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kLWFmZml4LXNjcm9sbH0gKyA3cHgpO1xuICAgICAgfVxuXG4gICAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obGVmdCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgbGVmdDogY2FsYygjeyRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdH0gLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRsb2dvLWJnIHtcbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iZztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5hZmZpeC1zY3JvbGwge1xuICAgICAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRuYXZiYXItdG9wIHtcbiAgLm5hdmJhciBuYXYubWVudS0tc2Vjb25kYXJ5IC5uYXYgbGkgYSB7XG4gICAgY29sb3I6IHJnYmEoJG5hdmJhci10b3AtY29sb3IsIDAuNik7XG4gIH1cblxuICAubmF2YmFyIG5hdi5tZW51LS1zZWNvbmRhcnkge1xuICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgIC5uYXYgPiBsaSA+IGE6aG92ZXIsXG4gICAgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYSxcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci10b3AtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHdpZHRoOiA0MHZ3O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRuYXZiYXItZm9udC1zaXplfSAtIDAuMDVyZW0pO1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAxNHB4O1xuICAgICAgICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy91bCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAvLyAgcGFkZGluZzogN3B4IDI1cHggN3B4IDE0cHg7XG4gICAgICAgIC8vfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hZmZpeC1zY3JvbGwge1xuICAgICAgI25hdmJhci10b3Age1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAwLjRzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgaGVpZ2h0OiAkbmF2YmFyLXRvcC1oZWlnaHQtYWZmaXgtc2Nyb2xsLWxnO1xuICAgICAgfVxuXG4gICAgICAjbmF2YmFyLW1haW4ge1xuICAgICAgICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAwLjRzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICB0b3A6IC0gJG5hdmJhci10b3AtaGVpZ2h0LWFmZml4LXNjcm9sbC1sZztcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgMC40cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIETDqWdyYWTDqSBlbiBhZmZpeC10b3AgcG91ciBhbcOpbGlvcmVyIGxpc2liaWxpdMOpIHBvdXIgbmF2YmFyIHRyYW5zcGFyZW50ZVxuQGlmICRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wIHtcbiAgLm5hdmJhciB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLWNvbG9yLTEsICRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLW9wYWNpdHktMSkgMCUsIHJnYmEoJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3AtY29sb3ItMiwgJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0yKSA3MCUpKTtcbiAgfVxuICAuYWZmaXgtc2Nyb2xsIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmVcbiAgfVxufVxuXG4vLyBDb3VsZXVycyBkZSBsYSBuYXZiYXIgZGlmZsOpcmVudHMgYXUgYWZmaXgtc2Nyb2xsXG5AaWYgJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbCB7XG4gIC5hZmZpeC1zY3JvbGwge1xuICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCBhIHsgLy8gc2xvZ2FuXG4gICAgICBjb2xvcjogJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmFmZml4LXNjcm9sbCAubmF2YmFyLCAubmF2YmFyIC5uYXZiYXItdG9nZ2xlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24geyAvLyB0b2dnbGVyXG4gICAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLm5hdmJhciBuYXYge1xuICAgICAgLm5hdiBsaSBhIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAgIC5uYXZiYXIgbmF2IHtcbiAgICAgICAgLm5hdiBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgICAgICAubmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuICAgICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT21icmUgZGUgbGEgbmF2YmFyXG5AaWYgJG5hdmJhci1zaGFkb3cge1xuICAuY3ctbmF2YmFyIHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coJG5hdmJhci1zaGFkb3ctb3BhY2l0eS1hZmZpeC10b3AsIDBweCwgNnB4LCA2cHgsIDBweCwgJG5hdmJhci1zaGFkb3ctY29sb3IpO1xuICB9XG4gIC5hZmZpeC1zY3JvbGwgLmN3LW5hdmJhciB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KCRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtc2Nyb2xsLCAwcHgsIDZweCwgNnB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcbiAgfVxufVxuXG4vLyBFZmZldCBmbG91IHN1ciBoZWFkZXIgKGxvcnNxdWUgbGEgbmF2YmFyIMOgIHVuZSBvcGFjaXTDqSlcbkBpZiAkbmF2YmFyLW9wYWNpdHkgIT0gMSB7XG4gIC5maWx0ZXItYmx1ciB7XG4gICAgZmlsdGVyOiBibHVyKDVweCk7XG4gIH1cbn1cblxuLy8gQWZmaWNoZSBtaW5pLWxvZ28tc2Nyb2xsZWQucG5nIGxvcnMgZHUgc2Nyb2xsXG5AaWYgJHNob3ctbWluaS1sb2dvLWFmZml4LXNjcm9sbCB7XG4gIC5uYXZiYXIge1xuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vZmlsZXMvbWluaS1sb2dvLXNjcm9sbGVkLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLm5hdmJhciB7XG4gICAgICAubmF2YmFyLWxvZ28ge1xuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGJvZHkubG9hZGVkLmFmZml4LXNjcm9sbCAubmF2YmFyLWxvZ28ge1xuICAgICAgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmdsZXQgYXZlYyBsaWduZSBlbiBkZXNzb3VzXG5AaWYgJG5hdmJhci1hLXVuZGVybGluZS1hY3RpdmUge1xuICAjbmF2YmFyLW1haW4sICNuYXZiYXItdG9wIHtcbiAgICBuYXYgLm5hdiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMjBweCAxNXB4O1xuICAgIH1cblxuICAgIG5hdiAubmF2IC5kcm9wZG93bi1tZW51IGxpLmRyb3Bkb3duLWl0ZW0gYSB7XG4gICAgICBwYWRkaW5nOiAxMHB4ICRpdGVtLWEtcGFkZGluZy14O1xuICAgIH1cblxuICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBhLm5hdi1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkbmF2YmFyLWEtdW5kZXJsaW5lLWhlaWdodDtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHsgLy8gJi5pcy1hY3RpdmUgcG91ciBsJ29uZ2xldCBBY2N1ZWlsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCg5MGRlZywgJG5hdmJhci1hLXVuZGVybGluZS1jb2xvciAwJSwgJG5hdmJhci1hLXVuZGVybGluZS1jb2xvciAxMDAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgI25hdmJhci1tYWluLCAjbmF2YmFyLXRvcCB7XG4gICAgICBuYXYgLm5hdiBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAkaXRlbS1hLXBhZGRpbmcteDtcbiAgICAgIH1cblxuICAgICAgYS5uYXYtbGluayB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgKCRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlLXBvc2l0aW9uID09IGNlbnRlcikge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaWYgKCRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlLXBvc2l0aW9uID09IGNlbnRlcikge1xuICAgICAgICAgICAgICB3aWR0aDogJG5hdmJhci1hLXVuZGVybGluZS13aWR0aDtcbiAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoI3skbmF2YmFyLWEtdW5kZXJsaW5lLXdpZHRofSAvIDIpKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB3aWR0aDogJG5hdmJhci1hLXVuZGVybGluZS13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTG9nbyBwcmVuZHMgbGEgaGF1dGV1ciBkZSBsYSBuYXZiYXIgcHJpbmNpcGFsIHBsdXMgbGEgbmF2YmFyIHNlY29uZGFpcmVcbkBpZiAkbmF2YmFyLXRvcC1sb2dvLW92ZXIgYW5kICRuYXZiYXItdG9wIHtcbiAgLm1lbnUtLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKCRuYXZiYXItdG9wLWJnLCAwKSAxMCUsIGRhcmtlbigkbmF2YmFyLXRvcC1iZywgMyUpIDcwJSk7XG4gIH1cblxuICAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWR9ICsgI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gMTBweCk7XG4gICAgfVxuICAgIC5hZmZpeC1zY3JvbGwgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyBpbWcge1xuICAgICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWQtYWZmaXgtc2Nyb2xsfSArICN7JG5hdmJhci10b3AtaGVpZ2h0LWFmZml4LXNjcm9sbC1sZ30gLSAxMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbG9nbyBjZW50csOpXG5AaWYgJGxvZ28tY2VudGVyLW5hdmJhciB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAjYmxvY2stY3ctc2Fzcy1iczQtbWFpbi1tZW51IC5uYXYsIC5uYXZiYXItY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2Jsb2NrLWN3LXNhc3MtYnM0LW1haW4tbWVudSB7XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDtcblxuICAgICAgbGkubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGxvZ28tY2VudGVyLW5hdmJhci1wb3NpdGlvbn0pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBjYXJvdXNlbCBkYW5zIGp1bWJvdHJvblxuLmp1bWJvdHJvbi1jYXJvdXNlbCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQsXG4uanVtYm90cm9uLWNhcm91c2VsIC5jb250ZW50IC5maWVsZCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkIC5jYXJvdXNlbCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIsXG4uanVtYm90cm9uLWNhcm91c2VsIC5jb250ZW50IC5maWVsZCAuY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jbWFpbiAuY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4gIFtjbGFzcyo9XCJjYXJvdXNlbC1jb250cm9sLVwiXSB7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmLmp1bWJvdHJvbi1jYXJvdXNlbC1mciB7XG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MyLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MzLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvdHRvbTogLTVweDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cblxuICAvLyBQZXJtZXQgZGUgZMOpY2VudHJlciB1bmUgc2xpZGUgZHUgY2Fyb3VzZWwgKHBvdXIgbGUgbW9iaWxlLCB2b2lyIGxlIHJlbmR1IGVuIDE5MjBweClcbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC04NXB4O1xuICAvL31cbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMikge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC01NXB4O1xuICAvL31cbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xMTVweDtcbiAgLy99XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgJi5qdW1ib3Ryb24tY2Fyb3VzZWwtZnIge1xuICAgICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MyLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMy5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmp1bWJvdHJvbi1jYXJvdXNlbC1uZiB7XG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLmpwZycpO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMi1zbGltLmpwZycpO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMy1zbGltLmpwZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjYXJvdXNlbCBjb250ZW5hbnQgdW5pcXVlbWVudCBkdSB0ZXh0ZVxuLmN3LWNhcm91c2VsLXR4dCB7XG4gIC5jaXRhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRzZWNvbmRhcnktZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbiAgLmF1dGV1ciB7XG4gICAgZm9udC1mYW1pbHk6ICRkYW1pZXItaDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDAuMDUpO1xuICB9XG5cbiAgLmNhcm91c2VsLWlubmVyIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4wNSk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1jYXJvdXNlbC10eHQge1xuICAgIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG59XG5cbi5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwsIC5qdW1ib3Ryb24tYmxvYy1jdXN0b20sIC5qdW1ib3Ryb24tYmxvYy1pbmZvcyB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5qdW1ib3Ryb24tYmxvYy1ibG9jLXByaW5jaXBhbC1jaGlsZC0yIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWxvZ28gaW1nIHtcbiAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpKTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWRlbm9taW5hdGlvbiB7XG4gIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDEpO1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUteHM7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgdGV4dC10cmFuc2Zvcm06ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLXRleHQtdHJhbnNmb3JtO1xuICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KTtcbiAgfVxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodC1zdHJvbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1zbG9nYW4ge1xuICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAxKTtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGp1bWJvdHJvbi1zbG9nYW4tZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLXhzO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi1zbG9nYW4tbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgdGV4dC10cmFuc2Zvcm06ICRqdW1ib3Ryb24tc2xvZ2FuLXRleHQtdHJhbnNmb3JtO1xuICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KTtcbiAgfVxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLXNsb2dhbi1mb250LXdlaWdodC1zdHJvbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi10ZWxlcGhvbmUgYSB7XG4gIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDAuODUpO1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi10ZWwtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLXRlbC1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLXRlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLXRlbC1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICB0ZXh0LXRyYW5zZm9ybTogJGp1bWJvdHJvbi10ZWwtdGV4dC10cmFuc2Zvcm07XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICB9XG4gIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAgLy90ZXh0LXNoYWRvdzogJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1hZHJlc3NlIGEge1xuICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tYWRyZXNzZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tYWRyZXNzZS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLWFkcmVzc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi1hZHJlc3NlLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWFkcmVzc2UtdGV4dC10cmFuc2Zvcm07XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICB9XG4gIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAvLyB0ZXh0LXNoYWRvdzogJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ib3V0b24tMSAge1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tYm91dG9uLTEtZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWJvdXRvbi0xLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWJvdXRvbi0xLXRleHQtdHJhbnNmb3JtO1xuICBhIHtcbiAgICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KSk7XG4gICAgfVxuICB9XG59XG5cbi5qdW1ib3Ryb24tYm91dG9uLTIge1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tYm91dG9uLTItZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWJvdXRvbi0yLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWJvdXRvbi0yLXRleHQtdHJhbnNmb3JtO1xuICBhIHtcbiAgICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIC8vICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpKTtcbiAgICB9XG4gIH1cbn1cblxuLm5vdC1mcm9udCAucmVnaW9uLWp1bWJvdHJvbiB7XG4gIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udDtcblxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgbWluLWhlaWdodDogJGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gIH1cblxuICAubm90LWZyb250IC5jdy1qdW1ib3Ryb24ge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgICAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS1sZy1uZjtcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAkanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUtbGctbmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnO1xuICB9XG4gIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS1sZztcbiAgfVxufVxuXG5AaWYgJG5hdmJhci1vcGFjaXR5IDwgMSB7XG4gIC5jdy1uYXZiYXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBNQVJHRVNcbi5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWRlbm9taW5hdGlvbjtcbn1cbi5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLXNsb2dhbjtcbn1cbi5qdW1ib3Ryb24tYWRyZXNzZSB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1hZHJlc3NlO1xufVxuLmp1bWJvdHJvbi10ZWxlcGhvbmUge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtdGVsZXBob25lO1xufVxuLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1ib3V0b24tMTtcbn1cbi5qdW1ib3Ryb24tYm91dG9uLTIge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYm91dG9uLTI7XG59XG4uanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTI7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb247XG4gIH1cbiAgLmp1bWJvdHJvbi1zbG9nYW4ge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1zbG9nYW47XG4gIH1cbiAgLmp1bWJvdHJvbi1hZHJlc3NlIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtYWRyZXNzZTtcbiAgfVxuICAuanVtYm90cm9uLXRlbGVwaG9uZSB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTtcbiAgfVxuICAuanVtYm90cm9uLWJvdXRvbi0xIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtYm91dG9uLTE7XG4gIH1cbiAgLmp1bWJvdHJvbi1ib3V0b24tMiB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0yO1xuICB9XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMiB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yO1xuICB9XG5cbiAgLm5vdC1mcm9udCB7XG4gICAgLmp1bWJvdHJvbi1kZW5vbWluYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1kZW5vbWluYXRpb247XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3Atc2xvZ2FuO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWFkcmVzc2Uge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1hZHJlc3NlO1xuICAgIH1cbiAgICAuanVtYm90cm9uLXRlbGVwaG9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWJvdXRvbi0yIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYm91dG9uLTI7XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMiB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTI7XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBKVU1CT1RST04gQU5EUk9NRURFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cbi5yZWdpb24tanVtYm90cm9uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuXG4gIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gIHRleHQtYWxpZ246ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nO1xuXG4gIC5maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4ucmVnaW9uLWp1bWJvdHJvbiwgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbltjbGFzcyo9XCJqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtXCJdIHtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ubm90LWZyb250IHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcbiAgICB9XG4gICAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZiA9PSBmYWxzZSB7XG4gICAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLW1vYi5qcGcnKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtc2xpbS1tb2IuanBnJyk7XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIC5maWVsZCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSk7XG4gICAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9ICsgNjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1sb2dvIGltZyB7XG4gICAgbWF4LWhlaWdodDogJGpibmYtbG9nby1tYXgtaGVpZ2h0O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAubm90LWZyb250IC5qdW1ib3Ryb24tbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQtbWR9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSk7XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pO1xuICB9XG5cblxuICAubm90LWZyb250IHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IGZhbHNlIHtcbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC5jb250ZXh0dWFsLXJlZ2lvbiB7IC8vIFLDqWluaXRpYWxpc2UgbGUgcG9zaXRpb24gcmVsYXRpdmUgZHUgbW9kZSBjb25uZWN0w6kuXG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSBhbmQgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IGZhbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtc2xpbS5qcGcnKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYgPT0gZmFsc2Uge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLmpwZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAuZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0xe1xuICAgICAgICAgIGZsZXg6MSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0ye1xuICAgICAgICAgIGZsZXg6IDIhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cImp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC1cIl0ge1xuICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nID09IFwiYmV0d2VlblwiIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nID09IFwiYmV0d2VlblwiIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1wb3NpdGlvbiA9PSB0b3Age1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICB0b3A6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHM7XG4gIH1cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICB0b3A6IHVuc2V0O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgIHRvcDogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZztcbiAgICB9XG4gIH1cbn1cblxuLy9cbkBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSk7XG5cbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICBib3R0b206IDN2aDtcbiAgICB9XG4gIH1cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KTtcblxuICAgICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgICBib3R0b206IDEwdmg7XG4gICAgICB9XG4gICAgfVxuICAgIC5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogM3ZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSBhbmQgJGp1bWJvdHJvbi1ibG9jLWluZm9zLXBvc2l0aW9uID09IHRvcCB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1ibGFuYyB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIHdpZHRoOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWZvbmQtYmxhbmMtd2lkdGg7XG4gIH1cblxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTEge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtYnRuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vXG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtYmxhbmMge1xuICAuanVtYm90cm9uLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IGNhbGMoMzB2aCArIDJyZW0pO1xuICAgIHdpZHRoOiBjYWxjKDMwdmggKyAycmVtKTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8vIEJvdXRvbnMgY8O0dGUgw6AgY8O0dGUgZW4gZnJvbnRcbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWJvdXRvbnMtZW4tbGlnbmUge1xuICAuanVtYm90cm9uLWJvdXRvbi0xIHtcbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuYnRuOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5vdC1mcm9udCB7XG4gICAgICAuanVtYm90cm9uLWJvdXRvbi0xIHtcbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIGF1dG87XG4gICAgICAgICAgLy9tYXJnaW46IDAgYXV0byAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2VudHJhZ2UgZGVzIHRleHRlcyBkdSBqdW1ib3Ryb24gZXQgY2Fyb3VzZWwtY2FwdGlvbiBlbiBmcm9udFxuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IGxlZnQgT1IgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gY2VudGVyIE9SICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IHJpZ2h0IHtcbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgdGV4dC1hbGlnbjogJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmc7XG4gIH1cbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmc7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSBsZWZ0Y2VudGVyIE9SICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IHJpZ2h0Y2VudGVyIHtcbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IHJpZ2h0Y2VudGVyIHtcbiAgICAucGF0aC1mcm9udHBhZ2UgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cbiAgLnBhdGgtZnJvbnRwYWdlIFtjbGFzcyo9XCJqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtXCJde1xuICAgIG1heC13aWR0aDogJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC13aWR0aDtcbiAgfVxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIDIgY29sb25uZXNcbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLTItY29sIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwgLmZpZWxkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3dnc7XG4gICAgfVxuICB9XG59XG5cbi8vIEF2YW50L0FwcsOocyBlbiAyIGNvbG9ubmVzIGVuIGZyb250XG5AaWYgJGp1bWJvdHJvbi1hdmFudC1hcHJlcy1mcm9udCB7XG4gIC5ub3QtZnJvbnQge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLnBhdGgtZnJvbnRwYWdlIHtcbiAgICAgIC5yZWdpb24tanVtYm90cm9uIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAuYmVlci1zbGlkZXIge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxMnB4ICR3aGl0ZTtcbiAgICAgICAgICAuYmVlci1oYW5kbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeSwgMC41KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdGlmIG92ZXJsYXkgc2FucyBjYXJvdXNlbFxuQGlmICRqdW1ib3Ryb24tb3ZlcmxheSBhbmQgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IGZhbHNlIHtcbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZi1qdW1ib3Ryb24sIHRydWUsIDAuMyk7XG4gICAgfVxuICB9XG59XG5cbi8vIETDqWdyYWTDqSBzYW5zIGNhcm91c2VsXG5AaWYgJGp1bWJvdHJvbi1ncmFkaWVudCB7XG4gIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gZmFsc2Uge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS14cykgMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLXhzKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZCk7XG4gICAgICB9XG4gICAgICAmLmNvbnRleHR1YWwtcmVnaW9uIHsgLy8gUsOpaW5pdGlhbGlzZSBsZSBwb3NpdGlvbiByZWxhdGl2ZSBkdSBtb2RlIGNvbm5lY3TDqS5cbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICAgIC5ub3QtZnJvbnQge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbi1uZiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZiwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnLW5mKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGctbmYpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkLW5mKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGcpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZiA9PSB0cnVlIHtcbiAgICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mLXhzID09IGZhbHNlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAubm90LWZyb250IHtcbiAgICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3JpZW50YXRpb24tbmYsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS1sZy1uZikgMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZiwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLWxnLW5mKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZC1uZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJ2p1bWJvdHJvbi1hbmRyb21lZGUtbmF2YmFyJztcbkBpbXBvcnQgJ2p1bWJvdHJvbi1hbmRyb21lZGUtYmxvYy1pbmZvcyc7XG5AaW1wb3J0ICdqdW1ib3Ryb24tYW5kcm9tZWRlLWNhcm91c2VsJztcbiIsIi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogSlVNQk9UUk9OIEFORFJPTUVERSBCTE9DIElORk9TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogTkFWQkFSIFBSSU5DSVBBTCAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gVHJhbnNwYXJlbnRlXG5AaWYgJG5hdmJhci1vcGFjaXR5IDwgMSB7XG4gIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSkgIWltcG9ydGFudDtcbiAgfVxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNjBweCArICN7JG5hdmJhci1oZWlnaHQteHN9ICsgI3skbmF2YmFyLXRvcC1oZWlnaHR9KTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSAtICN7JG5hdmJhci1oZWlnaHQteHN9KSAhaW1wb3J0YW50O1xuICB9XG4gIC5ub3QtZnJvbnQge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNjBweCArICN7JG5hdmJhci1oZWlnaHQtbWR9ICsgI3skbmF2YmFyLXRvcC1oZWlnaHR9KTtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBOQVZCQVIgVE9QICAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gTG9nbyBvdmVyXG4vLyBMb2dvIHByZW5kcyBsYSBoYXV0ZXVyIGRlIGxhIG5hdmJhciBwcmluY2lwYWwgcGx1cyBsYSBuYXZiYXIgc2Vjb25kYWlyZVxuQGlmICRuYXZiYXItdG9wLWxvZ28tb3ZlciBhbmQgJG5hdmJhci10b3Age1xuICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQteHN9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSk7XG4gICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC14c30pO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICAgICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBKVU1CT1RST04gQU5EUk9NRURFIEJMT0MgSU5GT1MgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4uanVtYm90cm9uLWJsb2MtaW5mb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZywgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkpO1xuICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWJsb2MtaW5mb3MtZ3JhZGllbnQtZGVnLCByZ2JhKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZywgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkpICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1zdGFydCwgcmdiYSgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctZW5kLCAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSkgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWVuZCk7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcGFkZGluZzogMTVweCAwLjVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgY29sb3I6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jb2xvcjtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jb2xvci1saW5rO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jb2xvci1saW5rLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5qdW1ib3Ryb24tYmxvYy1pbmZvcyB7XG4gICAgbWluLWhlaWdodDogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZztcblxuICAgIC5maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLy8+IGRpdiB7XG4gICAgICAvLyAgZmxleDogMTtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogSlVNQk9UUk9OIEFORFJPTUVERSBDQVJPVVNFTCAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4uanVtYm90cm9uLWNhcm91c2VsIHtcbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGJvdHRvbTogY2FsYygjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9ICsgM3ZoKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmc7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB9XG4gIH1cblxuICBbY2xhc3MqPVwiY2Fyb3VzZWwtY29udHJvbC1cIl0ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuICB9XG59XG5cbi5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgICAgYm90dG9tOiAxMiU7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgYm90dG9tOiBjYWxjKCN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30gKyA1dmgpO1xuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pO1xuICAgIH1cbiAgfVxuXG4gIC5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgLmNhcm91c2VsLWl0ZW0ge1xuICAgICAgbWluLWhlaWdodDogJGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm90dG9tOiBjYWxjKCN7JG5hdmJhci1oZWlnaHQteHN9ICsgMC43NXJlbSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG5cbkBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gZmFsc2Uge1xuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtbW9iLmpwZycpO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLW1vYi5qcGcnKTtcblxuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS5qcGcnKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA8IDEpIHtcbiAgICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEuanBnJyk7XG5cbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IHRydWUge1xuICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLXhzID09IHRydWUge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLXhzID09IGZhbHNlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLW1vYi5qcGcnKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSB7XG4gICAgICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1tb2IuanBnJyk7XG5cbiAgICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW90aWYgb3ZlcmxheSBhdmVjIGNhcm91c2VsXG5AaWYgJGp1bWJvdHJvbi1vdmVybGF5IGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gdHJ1ZSB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtanVtYm90cm9uLCB0cnVlLCAwLjMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEw6lncmFkw6kgYXZlYyBsZSBjYXJvdXNlbFxuQGlmICRqdW1ib3Ryb24tZ3JhZGllbnQgYW5kICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSB0cnVlIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEteHMpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi14cykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAubm90LWZyb250IHtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3JpZW50YXRpb24tbmYsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS1sZy1uZikgMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZiwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLWxnLW5mKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZC1uZik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmp1bWJvdHJvbi1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGcpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBEw6lncmFkw6kgc2V1bGVtZW50IGF2ZWMgY2Fyb3VzZWwgZW4gbGdcbkBpZiAkanVtYm90cm9uLWdyYWRpZW50IHtcbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSBmYWxzZSBhbmQgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3JpZW50YXRpb24sIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS14cykgMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLXhzKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLXhzID09IGZhbHNlIGFuZCAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSAhPSAxIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEteHMpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi14cykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIG1pbmkgY2Fyb3VzZWwgZGFucyBsZSBqdW1ib3Ryb24gKGTDqXNhY3RpdmVyIGJsb2MpXG5AaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW1pbmkge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHdpZHRoOiAzOHZ3O1xuICAgICAgfVxuICAgICAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDQydncgLSAxMjBweCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQydncgLSAxMjBweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAucGF0aC1mcm9udHBhZ2UgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KGxnKSB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgfVxuICAgICAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICAgIGhlaWdodDogY2FsYyg1MHZ3IC0gMTIwcHgpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MHZ3IC0gMTIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnJlZ2lvbi1mb290ZXItc2Vjb25kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZ2lvbi1mb290ZXItc2Vjb25kLWJnO1xufVxuXG4uYmxvY2stZnQtY29vcmRvbm5lZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxvYy1mdC1jb29yZG9ubmVlcy1iZztcbn1cblxuLmJsb2NrLXdmLWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxvYy13Zi1jb250YWN0LWJnO1xufVxuXG4uZnQtZGVub21pbmF0aW9uIHtcbiAgY29sb3I6ICRmb290ZXItZGVub21pbmF0aW9uLWNvbG9yO1xufVxuXG4uZnQtc2xvZ2FuIHtcbiAgY29sb3I6ICRmb290ZXItc2xvZ2FuLWNvbG9yO1xufVxuXG4uZnQtYWRyZXNzZSB7XG4gIGNvbG9yOiAkZm9vdGVyLWFkcmVzc2UtY29sb3I7XG59XG5cbi5mdC10ZWxlcGhvbmUgYSB7XG4gIGNvbG9yOiAkZm9vdGVyLXRlbC1jb2xvcjtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRmb290ZXItdGVsLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi5mdC1ob3JhaXJlIHtcbiAgY29sb3I6ICRmb290ZXItaG9yYWlyZS1jb2xvcjtcbn1cbiIsIiRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGNvbnRhY3QtZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0OiAkdGl0bGUtbm9ybWFsLXdlaWdodDtcbiRjb250YWN0LWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LXNpemU6IDJyZW07XG4kY29udGFjdC1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuJGNvbnRhY3QtZGVub21pbmF0aW9uLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRjb250YWN0LXNsb2dhbi1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRjb250YWN0LXNsb2dhbi1mb250LXdlaWdodDogJHRpdGxlLW5vcm1hbC13ZWlnaHQ7XG4kY29udGFjdC1zbG9nYW4tZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kY29udGFjdC1zbG9nYW4tbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuJGNvbnRhY3QtYWRyZXNzZS1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRjb250YWN0LWFkcmVzc2UtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kY29udGFjdC1hZHJlc3NlLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRjb250YWN0LXRlbGVwaG9uZS1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRjb250YWN0LXRlbGVwaG9uZS1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRjb250YWN0LXRlbGVwaG9uZS1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG4kY29udGFjdC1ob3JhaXJlLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJGNvbnRhY3QtaG9yYWlyZS1mb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiRjb250YWN0LWhvcmFpcmUtbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuXG4uYmxvY2stZnQtY29vcmRvbm5lZXMge1xuICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAzMHB4O1xuICBmb250LWZhbWlseTogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG59XG5cbi5ibG9jay13Zi1jb250YWN0IHtcbiAgcGFkZGluZzogJGJldHdlZW4tem9uZXMgMzBweDtcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5mdC1sb2dvIGltZyB7XG4gIG1heC13aWR0aDogMzAwcHggIWltcG9ydGFudDtcbn1cblxuLmZ0LWRlbm9taW5hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29udGFjdC1kZW5vbWluYXRpb24tZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY29udGFjdC1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3QtZGVub21pbmF0aW9uLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbn1cblxuLmZ0LXNsb2dhbiBzdHJvbmcge1xuICBmb250LWZhbWlseTogJGNvbnRhY3Qtc2xvZ2FuLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3Qtc2xvZ2FuLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LXNsb2dhbi1saW5lLWhlaWdodDtcbn1cblxuLmZ0LWFkcmVzc2Uge1xuICBmb250LWZhbWlseTogJGNvbnRhY3QtYWRyZXNzZS1mb250O1xuICBmb250LXNpemU6ICRjb250YWN0LWFkcmVzc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3QtYWRyZXNzZS1saW5lLWhlaWdodDtcbn1cblxuLmZ0LXRlbGVwaG9uZSB7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC10ZWxlcGhvbmUtZm9udDtcbiAgZm9udC1zaXplOiAkY29udGFjdC10ZWxlcGhvbmUtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3QtdGVsZXBob25lLWxpbmUtaGVpZ2h0O1xufVxuXG4uZnQtaG9yYWlyZSB7XG4gIGZvbnQtZmFtaWx5OiAkY29udGFjdC1ob3JhaXJlLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3QtaG9yYWlyZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC1ob3JhaXJlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyAqKioqKioqKioqKioqKioqIFFVRVJJRVMgKioqKioqKioqKioqKioqKlxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5yZWdpb24tZm9vdGVyLXNlY29uZCAuc2VjdGlvbi13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTIzMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLmJsb2NrLWZ0LWNvb3Jkb25uZWVzIHtcbiAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyAkYmV0d2Vlbi16b25lcztcbiAgfVxuXG4gIC5ibG9jay13Zi1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyAkYmV0d2Vlbi16b25lcztcbiAgfVxufVxuIiwiLnJlZ2lvbi1mb290ZXItZmlmdGgge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMgKiAwLjY1O1xuICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXMgKiAwLjY1O1xuICBiYWNrZ3JvdW5kOiAkYm90dG9tLWJnO1xuICBAaWYgKCRib3R0b20tZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGJvdHRvbS1ncmFkaWVudC1kZWcsICRib3R0b20tYmcgJGJvdHRvbS1ncmFkaWVudC1zdGFydCwgJGJvdHRvbS1iZy1lbmQgJGJvdHRvbS1ncmFkaWVudC1lbmQpO1xuICB9XG59XG5cbi5pbmZvcy1ib3R0b20ge1xuICBmb250LWZhbWlseTogJGJvdHRvbS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYm90dG9tLWZvbnQtc2l6ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGJvdHRvbS1jb2xvciwgMSksICRib3R0b20tY29sb3IpO1xuXG4gIGEsIGFbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGJvdHRvbS1jb2xvciwgMSksICRib3R0b20tY29sb3IpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgYTpob3ZlciwgYVt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkYm90dG9tLWNvbG9yLCAwLjgpLCAkYm90dG9tLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuY3JlYSBpbWcge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICB9XG59XG5cbi8vICoqKioqKioqKioqKioqKiogUVVFUklFUyAqKioqKioqKioqKioqKioqXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuaW5mb3MtYm90dG9tIHtcbiAgICAuY3JlYSBpbWcge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiA0cHggMCAwIDE1cHg7XG4gICAgfVxuICB9XG59XG4iLCJodG1sIHtcbiAgZm9udC1zaXplOiAkY3ctZm9udC1zaXplLXhzO1xufVxuXG5ib2R5IHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xufVxuXG4udGFibGUge1xuICB0aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGN3LWZvbnQtc2l6ZS1tZDtcbiAgfVxuXG4gIC5wYXRoLWZyb250cGFnZSB7XG4gICAgaDEudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplICogMS4zO1xuICAgIH1cblxuICAgIC50aXRsZS1oMiwgLmJsb2NrLXdmLWNvbnRhY3QgLnRpdGxlLWgyIHtcbiAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAqIDEuMztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRjdy1mb250LXNpemUtbGc7XG4gIH1cbn1cblxuLm5vZGVfX2NvbnRlbnQge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gIGNvbG9yOiAkaDEtY29sb3I7XG4gIC8vc3BhbiB7XG4gIC8vICBmb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuICAvL31cbn1cblxuLmgxLCBoMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6ICRoMS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoMS1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRoMS10ZXh0LXRyYW5zZm9ybTtcbiAgbGluZS1oZWlnaHQ6ICRoMS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMS1sZXR0ZXItc3BhY2luZztcbiAgY29sb3I6ICRoMS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgMCA2MHB4O1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogJGgxLWZvbnQtd2VpZ2h0O1xuICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYmdcIiB7XG4gICAgICBAaW5jbHVkZSBsaW5lLWJhY2tncm91bmQoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcbiAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JvdHRvbVwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICB9XG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcbiAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDIwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDEucG5nJywgJHRvcDo0MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmgyLCBoMiwgLnRpdGxlLWgyIHtcbiAgZm9udC1mYW1pbHk6ICRoMi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoMi1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRoMi10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICBtYXJnaW46IDMwcHggMCAyMHB4O1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JnXCIge1xuICAgICAgQGluY2x1ZGUgbGluZS1iYWNrZ3JvdW5kKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG5hIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGEge1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ud293IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2VydmljZSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjhyZW07XG59XG5cbi5mb3JtLWFjdGlvbnMubWItMyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuc21hbGwsIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbiNkcnVwYWwtbGl2ZS1hbm5vdW5jZSB7XG4gIGhlaWdodDogMDtcbn1cbiIsIi5jb250ZXh0dWFsLXJlZ2lvbiAuY29udGV4dHVhbCB7XG4gIHotaW5kZXg6IDk5OTk7XG5cbiAgLmNvbnRleHR1YWwtbGlua3MgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG59XG5cbi8vIGNrZWRpdG9yIGZvcmNlIGZvbmQgYmxhbmMgc3VyIGZvbnQgbm9pcmUuIChwZXJtZXQgZGUgdG91am91ciB2b2lyIGxlIHRleHRlIG3Dqm1lIGxvcnNxdWUgbGUgcHJvamV0IGVzdCBzdXIgZm9uZCBub2lyKVxuLmNrZV9lZGl0YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSwgYTpob3ZlciB7XG4gICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICB9XG4gIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmN3LWlib3gsIC5jdy1pYm94IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRvYXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgei1pbmRleDogMTI3MDtcbiAgd2lkdGg6IDM1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTgpO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuZ2luLS12ZXJ0aWNhbC10b29sYmFyIHtcbiAgICAjYmxvY2std2lkZ2V0c29ib3gsICNibG9jay13aWRnZXRiaWltYm94IHtcbiAgICAgIGxlZnQ6IDY1cHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAjYWRtaW4tdG9vbGJhci1tb2JpbGUtc2VhcmNoLXRhYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBib2R5Om5vdCgudG9vbGJhci1ob3Jpem9udGFsKSB7XG4gICAgJi50b29sYmFyLWZpeGVkLmFmZml4LXRvcCAjbmF2YmFyLW1haW4ge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYudG9vbGJhci1maXhlZC5hZmZpeC1zY3JvbGwgI25hdmJhci1tYWluIHtcbiAgICAgIHRvcDogMzlweDtcbiAgICB9XG4gIH1cblxufVxuXG5AaWYgJG5hdmJhci1vcGFjaXR5IDwgMSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC51c2VyLWxvZ2dlZC1pbiAuY3ctbmF2YmFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAudXNlci1sb2dnZWQtaW4gLmN3LW5hdmJhciB7IC8vIExvcnNxdWUgbGEgbmF2YmFyIGVzdCB0cmFuc3BhcmVudGUsIGxlIG1lbnUgZGUgZ2F1Y2hlIGzDoCBwb3Vzc2Ugw6AgZHJvaXRlIMOgIGNhdXNlIGR1IGZpeGVkLlxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiI21haW4ge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5ub3QtZnJvbnQgI21haW4ge1xuICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG59XG5cbi5ibG9jay1wYWdlLXRpdGxlLWJsb2NrIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZm9ybS51c2VyLWxvZ2luLWZvcm0sIC8vIGZvcm11bGFpcmUgZGUgY29ubmV4aW9uXG4ubm9kZS0tdHlwZS13ZWJmb3JtIC5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB7IC8vIHBhZ2UgZm9ybXVsYWlyZSAoZXggOiBwYWdlIGNvbnRhY3QpXG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG59XG5cbi5zZi1hcnRpY2xlcy1zZWN0aW9uLCAuc2YtZ2FsZXJpZS1zZWN0aW9uLCAuY3ctY2FyZHMtc2VjdGlvbi5nYWxlcmllcy1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDE5MjBweCk7XG59XG5cbmJvZHkucGF0aC1zaXRlbWFwIC5jb250ZW50IC5zaXRlbWFwIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKCk7XG59XG5cbi5jb250YWluZXIteHMge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoNDAwcHgpO1xufVxuLmNvbnRhaW5lci1zbSB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig1MjBweCk7XG59XG5cbi5jb250YWluZXItbWQge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoODUwcHgpO1xufVxuLmNvbnRhaW5lci1sZyB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMDAwcHgpO1xufVxuXG4uY29udGFpbmVyLXh4bCB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxNDAwcHgpO1xufVxuXG4uY29udGFpbmVyLXh4eGwge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTYwMHB4KTtcbn1cblxuLmNvbnRhaW5lci1mdWxsIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDE5MjBweCk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLW9uZS1iZztcbiAgY29sb3I6ICRidG4tb25lLWZvbnQtY29sb3I7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5ib3hzaGFkb3d7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDhweCA5cHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgI21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5ub3QtZnJvbnQgI21haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgLmNvbC14cy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59IiwiLmJsb2NrLWFkZHRvYW55IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC50aXRsZS1oNCB7XG4gICAgY29sb3I6ICRhZGR0b2FueS10aXRsZTtcbiAgfVxuXG4gIC5hMmFfa2l0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vQGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSgxMDAlKSk7IC8vIEFmZmljaGFnZSBlbiBub2lyIGV0IGJsYW5jXG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuXG4gICAgICBzcGFuLmEyYV9zdmcge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjFzIGVhc2UtaW4tb3V0KTtcblxuICAgICAgc3Bhbi5hMmFfc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDBweCA2cHggNnB4IHJnYmEoJGJsYWNrLCAwLjEpKSk7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuLmEyYV9zdmcge1xuICAgIGhlaWdodDogNjNweDtcbiAgICB3aWR0aDogNjNweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vZmlyZWZveFxuICAgICAgbWF4LWhlaWdodDogMTAwJTsgLy9maXJlZm94XG4gICAgICBwYWRkaW5nOiAxM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkZHRvYW55LWJnO1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJGFkZHRvYW55LWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGFkZHRvYW55LWJhY2tncm91bmQgPT0gXCJjaXJjbGVcIiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRhZGR0b2FueS1iYWNrZ3JvdW5kID09IFwiY2lyY2xlLXRoaW5cIiB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRhZGR0b2FueS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtYWN0aW9ucy1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4udGl0bGUtaDQge1xuICBmb250LWZhbWlseTogJGFkZHRvYW55LXRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGFkZHRvYW55LXRpdGxlLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGFkZHRvYW55LXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRhZGR0b2FueS10aXRsZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkYWRkdG9hbnktdGl0bGUtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkYWRkdG9hbnktdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbn1cbiIsIi5ibG9jay1jYWxsLXRvLWFjdGlvbiB7XG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkY2FsbC1hY3Rpb24taDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjYWxsLWFjdGlvbi1oMi1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNhbGwtYWN0aW9uLWgyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJGNhbGwtYWN0aW9uLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhbGwtYWN0aW9uLWgyLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkY2FsbC1hY3Rpb24taDItbGV0dGVyLXNwYWNpbmc7XG4gICAgY29sb3I6ICRjYWxsLWFjdGlvbnMtdGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdGEtbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY2FsbC1hY3Rpb24tbnVtYmVycy10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhbGwtYWN0aW9uLW51bWJlcnMtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I7XG5cbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGNvbG9yOiAkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3IsIDEwJSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLWNhbGwtdG8tYWN0aW9uLWFkcmVzc2Uge1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgY29sb3I6ICRjYWxsLWFjdGlvbnMtbnVtYmVycy1jb2xvcjtcbn1cbiIsIi5wYXJhbGxheCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7Ly8gY3VzdG9tIGJhY2tncm91bmQtcG9zaXRpb25cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSBcXDkgIWltcG9ydGFudDsvLyBpZTcsOCw5LSBncmFjZWZ1bCBkZWdyYWRhdGlvblxuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgQGlmICRvdmVybGF5LXBhcmFsbGF4IHtcbiAgICAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtcGFyYWxsYXgsIHRydWUsIDAuMyk7XG4gICAgfVxuICB9XG59XG5cbltjbGFzcyo9XCJibG9jay1wYXJhbGxheC1cIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0NXZoO1xuICAuY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZm9udC1mYW1pbHk6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJsb2MtcGFyYWxsYXgtY29udGVudC1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtY29sb3I7XG4gICAgLy9ib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAudGV4dC1sb3VkLCAubG91ZC10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmxvYy1wYXJhbGxheC10aXRsZS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYmxvYy1wYXJhbGxheC10aXRsZS1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvYy1wYXJhbGxheC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgIGZvbnQtc2l6ZTogJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRibG9jLXBhcmFsbGF4LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgICAgIGNvbG9yOiAkYmxvYy1wYXJhbGxheC10aXRsZS1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjU0KSAxMDAlLCByZ2JhKDAsIDAsIDAsIDAuNTQpIDEwMCUpO1xuICB9XG4gIEBpZiAkcGFyYWxsYXgtZ3JhZGllbnQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1wYXJhbGxheC1mcm9udCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhcmFsbGF4LWZyb250LW1vYi5qcGcnKTtcbn1cblxuLmJsb2NrLXBhcmFsbGF4LW5vdC1mcm9udCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYXJhbGxheC1ub3QtZnJvbnQtbW9iLmpwZ1wiKTtcbn1cblxuQGltcG9ydCAncXVlcmllcy9wYXJhbGxheCc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIFtjbGFzcyo9XCJibG9jay1wYXJhbGxheC1cIl0ge1xuICAgIC5jb250ZW50IHtcbiAgICAgIC50ZXh0LWxvdWQsIC5sb3VkLXRleHQge1xuICAgICAgICBmb250LXNpemU6ICRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtc2l6ZSAqIDEuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuYmxvY2stcGFyYWxsYXgtZnJvbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhcmFsbGF4LWZyb250LmpwZycpO1xuICB9XG4gIC5ibG9jay1wYXJhbGxheC1ub3QtZnJvbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhcmFsbGF4LW5vdC1mcm9udC5qcGcnKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIFtjbGFzcyo9XCJibG9jay1wYXJhbGxheC1cIl0ge1xuICAgIG1pbi1oZWlnaHQgOiAkcGFyYWxsYXgtbWluLWhlaWdodDtcbiAgfVxufVxuIiwiLnJlZ2lvbi1mZWF0dXJlZC1ib3R0b20tZmlyc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVnaW9uLWZlYXR1cmVkLWZpcnN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmctYm9keS5qcGdcIik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGlmICRvdmVybGF5LWNhbGwtdG8tYWN0aW9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLWNhbGwtdG8tYWN0aW9uLCB0cnVlLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLnJlZ2lvbi1mZWF0dXJlZC1ib3R0b20tc2Vjb25kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5ibG9jay1mb3JjZXMge1xuICBjb2xvcjogJGZvcmNlcy1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGZvcmNlcy1iZztcbiAgQGlmICgkZm9yY2VzLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRmb3JjZXMtZ3JhZGllbnQtZGVnLCAkZm9yY2VzLWJnICRmb3JjZXMtZ3JhZGllbnQtc3RhcnQsICRmb3JjZXMtYmctZW5kICRmb3JjZXMtZ3JhZGllbnQtZW5kKTtcbiAgfVxuXG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRmb3JjZXMtdGl0bGU7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmEge1xuICAgIGZvbnQtc2l6ZTogODVweDtcbiAgfVxuXG4gIC5zcnYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIEBpZiAkb3ZlcmxheS1mb3JjZXMge1xuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtZm9yY2VzLCB0cnVlLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXJlZmVyZW5jZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkcmVmZXJlbmNlcy1jb2xvcjtcbiAgYmFja2dyb3VuZDogJHJlZmVyZW5jZXMtYmc7XG4gIEBpZiAoJHJlZmVyZW5jZXMtZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJHJlZmVyZW5jZXMtZ3JhZGllbnQtZGVnLCAkcmVmZXJlbmNlcy1iZyAkcmVmZXJlbmNlcy1ncmFkaWVudC1zdGFydCwgJHJlZmVyZW5jZXMtYmctZW5kICRyZWZlcmVuY2VzLWdyYWRpZW50LWVuZCk7XG4gIH1cblxuICAudGl0bGUtaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAkcmVmZXJlbmNlcy10aXRsZTtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDIwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG92ZXJsYXktcmVmZXJlbmNlcyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZi1yZWZlcmVuY2VzLCB0cnVlLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBNQVAgOiBWT0lSIENBVEFMT0dVRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbiRtYXAtc3VwZXJwb3NpdGlvbi1zaGFkb3c6IHRydWU7IC8vYWN0aXZlIHVuIHNoYWRvdyBkZXJyacOocmUgbGEgbWFwXG4kbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmc6IC02MHB4OyAvLyBkw6lmaW5pIGwnZXNwYWNlIGVudHJlIGxhIG1hcCBldCAjYm90dG9tLiBOb21icmUgcG9zaXRpZjogbWFwIHZpZW50IHNlIHN1cGVycG9zZXIgc3VyICNib3R0b20uIE5vbWJyZSBuZWdhdGlmOiBtYXAgYXUgZGVzc3VzIGRlICNib3R0b20gYXZlYyB1biBlc3BhY2UuXG5cbi5yZWdpb24tZm9vdGVyLXRoaXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZ2lvbi1mb290ZXItdGhpcmQtYmc7XG59XG5cbi5ibG9jay1tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAubWFwIGE6bm90KFtjbGFzcyo9XCJjb250ZXh0dWFsLWxpbmtzXCJdKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0NDVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiBvciBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgIC5tYXAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXAtbW9iLmpwZycpO1xuICAgIH1cbiAgfVxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWNlbnRlclwiIHtcbiAgICAubWFwIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC0xLmpwZ1wiKTtcbiAgICB9XG4gIH1cbiAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1kb3VibGVcIiB7XG4gICAgLm1hcCB7XG4gICAgICBhOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXAtMS5qcGdcIik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCB3aGl0ZTtcbiAgICAgIH1cbiAgICAgIGE6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC0yLmpwZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLW1hcC1pbnRlcnZlbnRpb24ge1xuICAudGl0bGUtaDIge1xuICAgIGNvbG9yOiAkbWFwLWludGVydmVudGlvbi10aXRsZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAkbWFwLWludGVydmVudGlvbi1mYS1jb250ZW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGNvbG9yOiAkbWFwLWludGVydmVudGlvbi1mYTtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICB3aWR0aDogMzFweDsgLy9uZSBwYXMgbWV0dHJlIGZpdC1jb250ZW50IHRhbnQgcXVlIHBhcyBiaWVuIGfDqXLDqSBzdXIgdG91dCBsZXMgbmF2aWdhdGV1cnMgZGVwdWlzIDVhbnNcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRwcmltYXJ5IDAlLCAkc2Vjb25kYXJ5IDEwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXAtYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogJG1hcC1pbnRlcnZlbnRpb24tY29udGVudDtcbn1cblxuQGltcG9ydCAncXVlcmllcy9tYXAnO1xuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuYmxvY2stbWFwIHtcbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiBvciBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgICAgLm1hcCBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWFwLmpwZycpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWNlbnRlclwiIHtcbiAgICAgIC5tYXAge1xuICAgICAgICBwYWRkaW5nOiA1MHB4O1xuXG4gICAgICAgIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDVweCAkd2hpdGU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC40KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiB7XG4gICAgICAubWFwIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1kb3VibGVcIiB7XG4gICAgICAubWFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0NDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBhOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCB3aGl0ZTtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgIC5ibG9jay1tYXAge1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDg4MHB4KTtcbiAgICAgIC5tYXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICAgICAgICBhIHtcbiAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICB0b3A6ICRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiA0NDVweDtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICAgICAgICAgIEBpZiAkbWFwLXN1cGVycG9zaXRpb24tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI3KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJG1hcC1zdXBlcnBvc2l0aW9uLXBvc2l0aW9uaW5nIDwgMCB7XG4gICAgICAucmVnaW9uLWZvb3Rlci1zZWNvbmQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLSAkbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmc7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmcgPiAwIHtcbiAgICAgIC5mb290ZXItaW5mb3Mge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygzcmVtICsgI3skbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmd9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLXN1cGVycG9zaXRpb25cIiB7XG4gICAgLmJsb2NrLW1hcCB7XG5cbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMDQwcHgpO1xuICAgICAgLm1hcCB7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLW1hcC1pbnRlcnZlbnRpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiJG1hcC13aXRoLWNvbnRlbnQtaGVpZ2h0LXhzOiA3MDBweDtcbiRtYXAtd2l0aC1jb250ZW50LWhlaWdodC1sZzogNzAwcHg7XG5cbiRtYXAtZGVub21pbmF0aW9uLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kbWFwLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDogJHRpdGxlLW5vcm1hbC13ZWlnaHQ7XG4kbWFwLWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRtYXAtZGVub21pbmF0aW9uLWZvbnQtc2l6ZTogMnJlbTtcbiRtYXAtZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRtYXAtZGVub21pbmF0aW9uLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRtYXAtc2xvZ2FuLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC1zbG9nYW4tZm9udC1zaXplOiAxLjJyZW07XG4kbWFwLXNsb2dhbi1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG4kbWFwLWFkcmVzc2UtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLWFkcmVzc2UtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ6IDEuNDtcbiRtYXAtdGVsZXBob25lLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC10ZWxlcGhvbmUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG1hcC10ZWxlcGhvbmUtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLXRlbGVwaG9uZS1saW5lLWhlaWdodDogJG1hcC1hZHJlc3NlLWxpbmUtaGVpZ2h0O1xuJG1hcC1ob3JhaXJlLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC1ob3JhaXJlLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJG1hcC1ob3JhaXJlLWxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG4kbWFwLW1haWwtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLW1haWwtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG1hcC1tYWlsLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJG1hcC1tYWlsLWxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG5cbiRtYXAtY29sb3I6ICRib2R5LWNvbG9yO1xuJG1hcC1kZW5vbWluYXRpb24tY29sb3I6ICRtYXAtY29sb3I7XG4kbWFwLXNsb2dhbi1jb2xvcjogJG1hcC1jb2xvcjtcbiRtYXAtYWRyZXNzZS1jb2xvcjogJG1hcC1jb2xvcjtcbiRtYXAtdGVsLWNvbG9yOiAkbWFwLWNvbG9yO1xuJG1hcC10ZWwtY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yO1xuJG1hcC1ob3JhaXJlLWNvbG9yOiAkbWFwLWNvbG9yO1xuXG5cbi8vIFR5cG9ncmFwaGllXG4ubWFwLWRlbm9taW5hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAkbWFwLWRlbm9taW5hdGlvbi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRtYXAtZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJG1hcC1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJG1hcC1kZW5vbWluYXRpb24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJG1hcC1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG59XG5cbi5tYXAtc2xvZ2FuIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLXNsb2dhbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLXNsb2dhbi1saW5lLWhlaWdodDtcbn1cblxuLm1hcC1hZHJlc3NlIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtYWRyZXNzZS1mb250O1xuICBmb250LXNpemU6ICRtYXAtYWRyZXNzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG59XG5cbi5tYXAtdGVsZXBob25lIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtdGVsZXBob25lLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkbWFwLXRlbGVwaG9uZS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLXRlbGVwaG9uZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLXRlbGVwaG9uZS1saW5lLWhlaWdodDtcbn1cblxuLm1hcC1ob3JhaXJlIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtaG9yYWlyZS1mb250O1xuICBmb250LXNpemU6ICRtYXAtaG9yYWlyZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLWhvcmFpcmUtbGluZS1oZWlnaHQ7XG59XG5cbi5tYXAtbWFpbCB7XG4gIGZvbnQtZmFtaWx5OiAkbWFwLW1haWwtZm9udDtcbiAgZm9udC13ZWlnaHQ6ICRtYXAtbWFpbC1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLW1haWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJG1hcC1tYWlsLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBDb2xvclxuLm1hcC1kZW5vbWluYXRpb24ge1xuICBjb2xvcjogJG1hcC1kZW5vbWluYXRpb24tY29sb3I7XG59XG5cbi5tYXAtc2xvZ2FuIHtcbiAgY29sb3I6ICRtYXAtc2xvZ2FuLWNvbG9yO1xufVxuXG4ubWFwLWFkcmVzc2Uge1xuICBjb2xvcjogJG1hcC1hZHJlc3NlLWNvbG9yO1xufVxuXG4ubWFwLXRlbGVwaG9uZSBhIHtcbiAgY29sb3I6ICRtYXAtdGVsLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbWFwLXRlbC1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4ubWFwLWhvcmFpcmUge1xuICBjb2xvcjogJG1hcC1ob3JhaXJlLWNvbG9yO1xufVxuXG4ubWFwLW1haWwgYSB7XG4gIGNvbG9yOiAkbWFwLWhvcmFpcmUtY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYXAtdGVsLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtd2l0aC1jb250ZW50XCIge1xuICAuYmxvY2stbWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblxuICAgIC5tYXAgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQteHM7XG4gICAgfVxuXG4gICAgLm1hcCBhOm5vdChbY2xhc3MqPVwiY29udGV4dHVhbC1saW5rc1wiXSkge1xuICAgICAgaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQteHM7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5tYXAtYmxvYy1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAyMDVweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDs7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAqIDM7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG5cbiAgICAgICAgLm1hcC1wdWNlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA2NSUsIDUwJSAxMDAlLCAwIDY1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmJsb2NrLW1hcCB7XG4gICAgICAubWFwIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQtbGc7XG4gICAgICB9XG5cbiAgICAgIC5tYXAgYTpub3QoW2NsYXNzKj1cImNvbnRleHR1YWwtbGlua3NcIl0pIHtcbiAgICAgICAgaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQtbGc7XG4gICAgICB9XG5cbiAgICAgIC5tYXAtYmxvYy1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQ2MHB4IC8gMik7XG4gICAgICAgIC5jYXJkIC5tYXAtcHVjZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgNjUlLCA1MCUgMTAwJSwgMCA2NSUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtdWxhaXJlc1xuJGlucHV0LXRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXG5AaWYgJGlucHV0LWJnLWRhcmsgPT0gdHJ1ZSB7XG4gICRpbnB1dC1jb2xvcjogbGlnaHRlbigkaW5wdXQtYmcsIDc1JSk7XG4gICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogbGlnaHRlbigkaW5wdXQtYmcsIDYwJSk7XG59XG5cbi8vIEZvcm11bGFpcmUgZHUgYmxvYyBmbG9hdC1ibG9jayBlbiBwYWdlIGQnYWNjdWVpbFxuQGlmICRpbnB1dC1iZy1mbG9hdC1ibG9jay1kYXJrID09IHRydWUge1xuICAkaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s6IGxpZ2h0ZW4oJGlucHV0LWJnLWZsb2F0LWJsb2NrLCA3NSUpO1xuICAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItZmxvYXQtYmxvY2s6IGxpZ2h0ZW4oJGlucHV0LWJnLWZsb2F0LWJsb2NrLCA2MCUpO1xufVxuXG4vLyBGb3JtdWxhaXJlIGR1IGJsb2MgZm9vdGVyIGVuIHBhZ2UgZCdhY2N1ZWlsXG5AaWYgJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QtZGFyayA9PSB0cnVlIHtcbiAgJGlucHV0LWNvbG9yLWJsb2NrLWNvbnRhY3Q6IGxpZ2h0ZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDc1JSk7XG4gICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1ibG9jay1jb250YWN0OiBsaWdodGVuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCA2MCUpO1xufVxuXG4vLyBDb3VsZXVyc1xuLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC10ZXh0LXRyYW5zZm9ybTtcbiAgICAvL2ZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IHNvbGlkIDFweCBkYXJrZW4oJGlucHV0LWJnLCAzJSk7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRsaW5lLWZvcm0tY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5mbGItYmxvY2sge1xuICAuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZsb2F0LWJsb2NrO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yLWZsb2F0LWJsb2NrO1xuICAgIH1cblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4IGRhcmtlbigkaW5wdXQtYmctZmxvYXQtYmxvY2ssIDMlKTtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5lLWZvcm0tY29sb3ItYmxvY2stZmxvYXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay13Zi1jb250YWN0IHtcbiAgLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1ibG9jay1jb250YWN0O1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItYmxvY2stY29udGFjdDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItYmxvY2stY29udGFjdDtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAxcHggZGFya2VuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCAzJSk7XG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1pc2UgZW4gZm9ybWUgZXQgcG9saWNlc1xuLndlYmZvcm0tZmxleGJveCB7XG4gIG1hcmdpbjogMCAtMC4zcmVtIDAuNnJlbTtcbn1cblxuLndlYmZvcm0tZmxleC0tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAuM3JlbTtcbn1cblxuLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAudGl0bGUtaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgY29sb3I6ICRmb3JtLWJsb2MtaDItY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb3JtLXRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS10aXRsZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkZm9ybS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkZm9ybS10aXRsZS1sZXR0ZXItc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRmb3JtLWJsb2MtaDItdW5kZXJsaW5lLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGZvcm0tYmxvYy1oMi11bmRlcmxpbmUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAyMHB4LCAkbXQ6IDBweCwgJGZpbGU6ICdwdWNlLWgyLnBuZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiAkZm9ybS1ibG9jLXJncGQgIWltcG9ydGFudDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRmb3JtLWJsb2MtcmdwZC1saW5rO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRmb3JtLWJsb2MtcmdwZC1saW5rLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1pdGVtLWFjY2VwdGF0aW9uLXJncGQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIC53ZWJmb3JtLWVsZW1lbnQtZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBmb250LXNpemU6IDAuNjlyZW07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAucGFnZS1ub2RlLTIgLm5vZGVfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg3KTtcbiAgICAgIC8vQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KDEpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuYmxvY2stYWN0dWFsaXRlcyB7XG4gIC8vYmFja2dyb3VuZDogJGJsb2MtYWN0dS1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWJvZHkuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBAaWYgKCRibG9jLWFjdHUtZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGJsb2MtYWN0dS1ncmFkaWVudC1kZWcsICRibG9jLWFjdHUtYmcgJGJsb2MtYWN0dS1ncmFkaWVudC1zdGFydCwgJGJsb2MtYWN0dS1iZy1lbmQgJGJsb2MtYWN0dS1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLnRpdGxlLWgyLCAudmlldy1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTMwMHB4KTtcbiAgfVxuXG4gIC52aWV3LWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogMC4xMmVtO1xuICAgIGNvbG9yOiAjODdiMGNiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTd2dztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg3YjBjYjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuY3ctY2FyZHMtaHoge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuY2Fyb3VzZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ub2RlLS10eXBlLWFjdHVhbGl0ZSB7XG4gICYgPiAubm9kZV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmFjdHUtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmFjdHUtZGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LWZhbWlseTogJGN3LWNhcmRzLWRhdGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy1kYXRlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRjdy1jYXJkcy1kYXRlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGN3LWNhcmRzLWRhdGUtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nO1xuICAgIGNvbG9yOiAkY3ctY2FyZC1kYXRlLWNvbG9yO1xuICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzO1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLzI7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9hY3R1YWxpdGVzJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLmJsb2NrLWFjdHVhbGl0ZXMge1xuICAgIC52aWV3LWhlYWRlciB7XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vZGUtLXR5cGUtYWN0dWFsaXRlLCAubm9kZS0tdHlwZS1yZWZlcmVuY2Uge1xuICAgICNtYWluLXdyYXBwZXIge1xuICAgICAgLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmdhbGVyaWVzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtcGhvdG9zXCJdLCAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtdmlkZW9zXCJdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzIDAgMDtcblxuICAuZmllbGRfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC41JTtcbiAgfVxufVxuXG5bY2xhc3MqPVwiY3ctZ2FsZXJpZS1taW5pLVwiXSB7XG4gIC5maWVsZC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA1cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4uY3ctZ2FsZXJpZS1taW5pLTEge1xuICAuZmllbGQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNCAqIDVweCkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY3ctZ2FsZXJpZS1taW5pLTIge1xuICAuZmllbGQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiA1cHgpICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9nYWxlcmllJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLmZpZWxkX19pdGVtIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIC5maWVsZF9faXRlbSB7XG4gICAgICB3aWR0aDogMzIlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gKioqKioqKiBNYXNvbnJ5IGdhbGxlcnkgKioqKioqKioqXG4kbWFzLWNvbC14MTogMTAwJTtcbiRtYXMtY29sLXgyOiA1MCU7XG4kbWFzLWNvbC14MzogMzMuMzMzMzMzMzMzMyU7XG4kbWFzLWNvbC14NDogMjUlO1xuJG1hcy1jb2wteDU6IDIwJTtcbiRtYXMtY29sLXg2OiAxNi42NjY2NjY2NjY3JTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogICAgTk9URTogTGUgbm9tYnJlIGRlIGNvbG9ubmVzIGVuIFwibGdcIiBlc3QgZMOpZmluaSBkaXJlY3RlbWVudCB2aWEgbGEgZ2FsZXJpZSBkYW5zIGRydXBhbFxuICAgICAgICAgIHBvdXIgbGFpc3NlciBsZSBjaG9peCDDoCBsJ3V0aWxpc2F0ZXVyLiBTZXVsIGxlIG5iIGRlIGNvbG9ubmVzIGVuIG1vYmlsZSBlc3QgZMOpZmluaSBpY2kuICAgICoqKioqL1xuXG4kbmItY29sLXhzOiAkbWFzLWNvbC14MTsgLyoqKiBvbiBkw6l0ZXJtaW5lIGljaSBsZSBub21icmUgZGUgY29sb25uZXMgcGFyIHJlc29sdXRpb24gKioqL1xuJG5iLWNvbC1zbTogJG1hcy1jb2wteDI7XG4kbmItY29sLW1kOiAkbWFzLWNvbC14MztcblxuJGd1dHRlci1pbWc6IDVweDtcbi8qKiogZMOpdGVybWluZSBlc3BhY2VtZW50IGVudHJlIGxlcyBpbWcuIE1ldHRyZSAwIHBvdXIgcXUnZWxsZXMgc29pZW50IGNvbGzDqWVzIGVuc2VtYmxlLlxuXG4vKiAtLS0tIGdyaWQgLS0tLSAqL1xuLmdhbGVyaWUtbWFuc29uYXJ5IHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgLmdyaWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDNyZW0gMCAwO1xuICB9XG5cbiAgLyogY2xlYXIgZml4ICovXG4gIC5ncmlkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8qIC0tLS0gLmdyaWQtaXRlbSAtLS0tICovXG5cbiAgLmdyaWQtc2l6ZXIsXG4gIC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiAkbmItY29sLXhzO1xuICB9XG5cbiAgLmdyaWQtaXRlbSB7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWltZztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLmdyaWQtaXRlbS1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy16b29tLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLCB0cmFuc2Zvcm0gMS4ycyBlYXNlKTtcbiAgICAgIH1cblxuICAgICAgaW1nOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgICAgICBAaW5jbHVkZSB4LW9wYWNpdHkoMC4zKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL21hc29ucnknOyIsIi5nYWxlcmllLW1hbnNvbmFyeSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuZ3JpZC1zaXplcixcbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAkbmItY29sLXNtO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZ3JpZC1zaXplcixcbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAkbmItY29sLW1kO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuZ3JpZCB7XG4gICAgICAvL21heC13aWR0aDogMTkyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm5iX2NvbF8zIHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14MztcbiAgICB9XG4gICAgLm5iX2NvbF80IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NDtcbiAgICB9XG4gICAgLm5iX2NvbF81IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NTtcbiAgICB9XG4gICAgLm5iX2NvbF82IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NjtcbiAgICB9XG4gIH1cbn0iLCIucGFnZS1tdWx0aS1ibG9jLW1hcmdpbiB7XG4gIC5tdWx0aWJsb2M6bnRoLWxhc3QtY2hpbGQoMW4rMikge1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnICogMS41O1xuICB9XG59XG5cbi5ub2RlLS10eXBlLW11bHRpLWJsb2Mge1xuICAvLy5wYWdlLW11bHRpLWJsb2Mge1xuICAvLyAgcGFkZGluZzogMTVweDtcbiAgLy99XG5cbiAgLmN3LWJnLWdyYXksIC5jdy1iZy1ncmF5LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAubXVsdGlibG9jIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgfVxuXG4gICAgLm11bHRpYmxvYy1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAuNSU7XG4gICAgfVxuXG4gICAgLm11bHRpYmxvYy1pbWcge1xuICAgICAgcGFkZGluZzogMC41JTtcbiAgICB9XG5cbiAgICAubXVsdGlibG9jLXRleHQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLmN3LWJnLWdyYXkgLm11bHRpYmxvYyB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgYmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSk7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMmRlZywgcmdiYShkYXJrZW4oJGJvZHktYmcsIDIlKSwgMSkgMCUsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAwLjUlKSwgMSkgOTAlKTtcbiAgICB9XG4gIH1cbiAgLmN3LWJnLWdyYXktY29udGVudCAubXVsdGlibG9jLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoZGFya2VuKCRib2R5LWJnLCAxJSksIDEpO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjJkZWcsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAyJSksIDEpIDAlLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMC41JSksIDEpIDkwJSk7XG4gICAgfVxuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cbn1cblxuLnBhZ2UtbXVsdGktYmxvYy10ZW1wbGF0ZS0xIHtcbiAgLm11bHRpYmxvYzpudGgtbGFzdC1jaGlsZCgxbisyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAxLjU7XG4gIH1cblxuICAubXVsdGlibG9jLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubXVsdGlibG9jLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm11bHRpYmxvYy10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICB9XG5cbiAgLm11bHRpYmxvY1tjbGFzcyo9XCJjdy1ncmlkLWNvbC1cIl0ge1xuICAgIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuW2NsYXNzKj1cImN3LWdyaWQtY29sLVwiXSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAzMHB4O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1ncmlkLWNvbC1tZC0zMy02NiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICB9XG5cbiAgLmN3LWdyaWQtY29sLW1kLTQ0LTU1IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDRmciA1ZnI7XG4gIH1cblxuICAuY3ctZ3JpZC1jb2wtbWQtNTAtNTAge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuXG4gIC5jdy1ncmlkLWNvbC1tZC01NS00NCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1ZnIgNGZyO1xuICB9XG5cbiAgLmN3LWdyaWQtY29sLW1kLTY2LTMzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG4gIH1cbn1cblxuIiwiI3NmLXNlY3RldXJzIHtcbiAgLmludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uc2YtYXJ0aWNsZXMtc2VjdGlvbiB7XG5cbn1cblxuLnNmLWdhbGVyaWUtc2VjdGlvbiB7XG5cbn1cblxuLm5vZGUtLXR5cGUtc29yZWYtYXJ0aWNsZSB7XG4gICYgPiAubm9kZV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5maWVsZC0tbmFtZS1maWVsZC1hcnRpY2xlLWltYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0byA1NXB4O1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLXNvcmVmLWFydGljbGUtaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmJsb2NrLXNvcmVmLXF1ZXJpZXMsIC5zb3JlZi1zZWN0aW9uLWFjdGl2aXRpZXMteHhsIHtcbiAgbWFyZ2luLXRvcDogNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIC50aXRsZS1oMiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogJGdyYXktNDAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY3ctaW5saW5lLXVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmN3LWxpc3QtdWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMTFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgfVxuICB9XG59XG5cbi5zb3JlZi1zZWN0aW9uIHtcbiAgLmN3LWxpc3QtdWwge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG5cbiNzb3JlZi1mb290ZXItY29udGVudC1jb2xsYXBzZSB7XG4gIG1heC1oZWlnaHQ6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjdzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgLy9mb250LXNpemU6IDE0cHg7XG4gIHotaW5kZXg6IDEwMDAwO1xuXG4gICYuc2hvdyB7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjVzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgLnNvcmVmLWZvb3Rlci1jb250ZW50IHtcbiAgICAvL2ZvbnQtc2l6ZTogMTNweDtcbiAgICBhLCBhOmxpbmssIGE6aG92ZXIsIGE6dmlzaXRlZCB7XG4gICAgICAvL2NvbG9yOiAjNDA0MDQwO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwYzhcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkZ3JheS0yMDAsIDAuNDApLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGdyYXktNjAwLCAwLjQzKSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkZ3JheS0yMDAsIDAuNDApLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGdyYXktNjAwLCAwLjQzKSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc29yZWYtZm9vdGVyLXR4dCBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5zb3JlZi1mb290ZXItdGl0bGUge1xuICAgICAgLy9mb250LXNpemU6IDEuMWVtO1xuICAgICAgLy9saW5lLWhlaWdodDogMS4yZW07XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgfVxuICB9XG59XG5cbi5zb3JlZi1ib3R0b20ge1xuICBmb250LWZhbWlseTogJGJvdHRvbS1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYm90dG9tLWZvbnQtc2l6ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGJvdHRvbS1jb2xvciwgMSksICRib3R0b20tY29sb3IpO1xuXG4gIGE6bGluaywgYTpob3ZlciwgYTp2aXNpdGVkIHtcbiAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkYm90dG9tLWNvbG9yLCAxKSwgJGJvdHRvbS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQGltcG9ydCAncXVlcmllcy9zb3JlZic7XG4iLCIvLyAtLS0tLS0tLS0tLSBNRURJQSBRVUVSSUVTIC0tLS0tLS0tLVxuLy8gVXAgdG8gOTkycHhcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmFjdGl2aXRpZXMteHhsLXVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHVsIHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICB9XG5cbiAgLm5vZGUtLXR5cGUtc29yZWYtYXJ0aWNsZSB7XG4gICAgLmZpZWxkLS1uYW1lLWZpZWxkLXNvcmVmLWFydGljbGUtaW1hZ2Uge1xuICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMC41cmVtLCAxcmVtLCAwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqIEdMT0JBTEUgKioqKioqKioqKioqKiovXG4vLyBFc3BhY2UgLSBUYWlsbGVcbiRmbGItdG9wOiAxMjBweDtcbiRmbGItd2lkdGg6IDI3MHB4O1xuXG4vLyBDb3VsZXVyXG4kZmxiLXRpdGxlLWNvbG9yOiAkd2hpdGU7XG4kZmxiLXRpdGxlLWJnOiAkcHJpbWFyeTtcbiRmbGItY29udGVudC1jb2xvcjogJGJvZHktY29sb3I7XG4kZmxiLWNvbnRlbnQtYmc6ICR3aGl0ZTtcbiRmbGItbGFiZWwtY29sb3I6ICRncmF5LTUwMDtcblxuLy8gVHlwb2dyYXBoaWVcbiRmbGItZm9udCA6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cbiRmbGItZGVuby1mb250LWZhbWlseTogJGZsYi1mb250O1xuJGZsYi1kZW5vLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiRmbGItZGVuby10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmbGItZGVuby1mb250LXNpemU6ICRmb250LXNpemUtbGc7XG4kZmxiLWRlbm8tbGluZS1oZWlnaHQ6IDEuMjtcbiRmbGItZGVuby1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRmbGItbWV0aWVyLWZvbnQtZmFtaWx5OiAkZmxiLWZvbnQ7XG4kZmxiLW1ldGllci1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRmbGItbWV0aWVyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGZsYi1tZXRpZXItZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuJGZsYi1tZXRpZXItbGluZS1oZWlnaHQ6IDEuMjtcbiRmbGItbWV0aWVyLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJGZsYi1hZHItZm9udC1mYW1pbHk6ICRmbGItZm9udDtcbiRmbGItYWRyLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGZsYi1hZHItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZmxiLWFkci1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiRmbGItYWRyLWxpbmUtaGVpZ2h0OiAxLjI7XG4kZmxiLWFkci1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRmbGItdGVsLWZvbnQtZmFtaWx5OiAkZmxiLWZvbnQ7XG4kZmxiLXRlbC1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRmbGItdGVsLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGZsYi10ZWwtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kZmxiLXRlbC1saW5lLWhlaWdodDogMS4yO1xuJGZsYi10ZWwtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4uZmxiLWJ0biB7XG4gIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxufVxuXG4vLyBFbiBjb25uZWN0w6kgKGFmaW4gZGUgdm9pcilcbi51c2VyLWxvZ2dlZC1pbiB7XG4gIC5ibG9jay1mbG9hdCA+IC5jb250ZXh0dWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMzVweDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xuICB9XG4gIC5mbGItYmxvY2sge1xuICAgIHRvcDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSArIDM1cHgpO1xuICB9XG59XG5cbi5mbGItYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAtMXB4O1xuICB0b3A6ICRmbGItdG9wO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygtNXB4IDdweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSkpO1xuXG4gIC5mbGItbGFiZWwge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgxODBkZWcpO1xuICAgIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnRuLXRleHQtdHJhbnNmb3JtO1xuICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgdGV4dC1vcmllbnRhdGlvbjogbWl4ZWQ7XG4gIH1cblxuICAuZmxiLWljb24ge1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5mbGItdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRmbGItdGl0bGUtYmcsIDEpLCAkZmxiLXRpdGxlLWJnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQwcHg7IC8vTG9yc3F1ZSB3cml0aW5nLW1vZGUgYmllbiBnw6lyw6kgc3VyIGZpcmVmb3ggcGFzc2VyIGVuIG1pbi13aWR0aFxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMCAkcmFkaXVzO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJGZsYi10aXRsZS1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZmxiLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxLjVzIGVhc2UtaW4tb3V0KTtcbiAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRmbGItY29udGVudC1iZywgMSksICRmbGItY29udGVudC1iZyk7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTAsIC01cHgsIDdweCwgMjVweCwgMHB4KTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB3aWR0aDogJGZsYi13aWR0aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwICRyYWRpdXM7XG4gICAgLmZsYi13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAkZmxiLWNvbnRlbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6ICRmbGItd2lkdGg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZm9ybSAud2ViZm9ybS1mbGV4Ym94IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1mbG9hdC1kZW5vbWluYXRpb24ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItZGVuby1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZmxiLWRlbm8tZm9udC13ZWlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGZsYi1kZW5vLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLWRlbm8tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmbGItZGVuby1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICB9XG5cbiAgICAuYmxvY2stZmxvYXQtbWV0aWVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZmxiLW1ldGllci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZmxiLW1ldGllci1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmxiLW1ldGllci10ZXh0LXRyYW5zZm9ybTtcbiAgICAgIGZvbnQtc2l6ZTogJGZsYi1tZXRpZXItZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmbGItbWV0aWVyLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIH1cblxuICAgIC5ibG9jay1mbG9hdC1hZHJlc3NlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZmxiLWFkci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZmxiLWFkci1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmxiLWFkci10ZXh0LXRyYW5zZm9ybTtcbiAgICAgIGZvbnQtc2l6ZTogJGZsYi1hZHItZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmbGItYWRyLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRmbGItYWRyLWxldHRlci1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5ibG9jay1mbG9hdC10ZWxlcGhvbmUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItdGVsLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItdGVsLWZvbnQtd2VpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRmbGItdGVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLXRlbC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi10ZWwtbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGZsYi10ZWwtbGV0dGVyLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBwYWRkaW5nOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gIGZvcm0ge1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5jYXB0Y2hhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBmaWx0ZXIoZ3JheXNjYWxlKDEwMCUpKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgLy9AaW5jbHVkZSBpbnB1dC1zdHlsZSgyOHB4LCAkZmxiLWlucHV0LWJnLCAkZmxiLWlucHV0LWNvbG9yLCAkZmxiLXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgICAgY29sb3I6ICRmbGItbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLmpzLWZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAvL0BpbmNsdWRlIGlucHV0LXN0eWxlKDI4cHgsICRmbGItaW5wdXQtYmcsICRmbGItaW5wdXQtY29sb3IsICRmbGItcGxhY2Vob2xkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gICAgICAgIC8vQGluY2x1ZGUgc3VibWl0LXN0eWxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG4gIH1cbn1cblxuLmZsYi1ibG9jay5taW5pIHtcbiAgcmlnaHQ6IC00MnB4O1xuXG4gIC5mbGItY29udGVudCB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC41cyBlYXNlLWluLW91dCk7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cblxuLmZsYi1ibG9jayB7XG4gIC53ZWJmb3JtLXByb2dyZXNzYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLndlYmZvcm0tZGF0ZXBpY2tlciA+ICoge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiB3ZWJmb3JtLWNvbXBvbmVudC1yYWRpby1jaGVja2JveC1yZ3BkICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5mbGItYmxvY2sge1xuICAuY29udGVudCBmb3JtIC53ZWJmb3JtLWNvbXBvbmVudC0tdGVsZXBob25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZvcm0tcmdwZCB7XG4gICAgaW5wdXQuZm9ybS1yZ3BkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogUkFQUEVMIEdSQVRVSVQgRU4gUkVTUE9OU0lWRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuLm92ZXJsYXktbW9iaWxlIHsgLy9vdmVybGF5IG5vaXIgc3VyIGJvZHlcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDgwO1xuICB9XG59XG5cbkBpbXBvcnQgXCJxdWVyaWVzL2Zsb2F0LWJsb2NrXCI7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5mbGItYmxvY2subWluaSB7XG4gICAgcmlnaHQ6IC0xcHg7XG4gIH1cblxuICAuZmxiLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi5wYWdpbmF0aW9uIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcy1sZyAqIDI7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG5cbiAgLnBhZ2VyX19pdGVtLS1uZXh0IGFbcmVsPVwibmV4dFwiXSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gIH1cblxuICAucGFnZS1pdGVtIGFbcmVsPVwicHJldlwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0NXB4O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSBhW3RpdGxlPVwiQWxsZXIgw6AgbGEgcGFnZSBwcsOpY8OpZGVudGVcIl0ge1xuICAgIEBpbmNsdWRlIGNoZXZyb24tYWZ0ZXIoXCJcXGYwNTNcIiwgbGVmdCk7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2VyX19pdGVtLS1uZXh0IGFbdGl0bGU9XCJBbGxlciDDoCBsYSBwYWdlIHN1aXZhbnRlXCJdIHtcbiAgICBAaW5jbHVkZSBjaGV2cm9uLWFmdGVyKFwiXFxmMDU0XCIsIHJpZ2h0KTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZS1pdGVtIGFbdGl0bGU9XCJBbGxlciDDoCBsYSBwcmVtacOocmUgcGFnZVwiXSB7XG4gICAgQGluY2x1ZGUgY2hldnJvbi1hZnRlcihcIlxcZjA1M1xcZjA1M1wiLCBsZWZ0KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtaXRlbSBhW3RpdGxlPVwiQWxsZXIgw6AgbGEgZGVybmnDqHJlIHBhZ2VcIl0ge1xuICAgIEBpbmNsdWRlIGNoZXZyb24tYWZ0ZXIoXCJcXGYwNTRcXGYwNTRcIiwgcmlnaHQpO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiJGdyZXktY29va2llOiAjOWQ5ZDlkO1xuJHByaW1hcnktY29va2llOiAjOTA5MDkwO1xuJHByaW1hcnktLWxpZ2h0LWNvb2tpZTogbGlnaHRlbigkcHJpbWFyeS1jb29raWUsIDIwJSk7XG4kYm9keS1jb2xvci1jb29raWU6ICM1NDQ4M2M7XG5cbmJvZHkgI3RhcnRlYXVjaXRyb25Sb290IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuXG4gIGJ1dHRvbiB7IC8vIEJvdXRvbiBnw6luw6lyYWxcbiAgICBtYXJnaW4tdG9wOiAxMHB4IWltcG9ydGFudDtcbiAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi50YXJ0ZWF1Y2l0cm9uQWxsb3cgeyAvLyBCb3V0b24gQXV0b3Jpc2VyIGfDqW7DqXJhbFxuICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMGMnOyAvL2ZvbnQgYXdlc29tZSBmYS1jaGVja1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi50YXJ0ZWF1Y2l0cm9uRGVueSB7IC8vIEJvdXRvbiBSZWZ1c2VyIGfDqW7DqXJhbFxuICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwMGQnOyAvL2ZvbnQgYXdlc29tZSBmYS10aW1lc1xuICAgIH1cbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8vKioqKioqIGJhbmRlYXUgY29va2llcyBib3R0b20qKioqKi9cbiAgc3BhbiN0YXJ0ZWF1Y2l0cm9uRGlzY2xhaW1lckFsZXJ0IHsgLy9cbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIC5jb29raWUtYmlnLXR4dCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgI3RhcnRlYXVjaXRyb25BbGVydEJpZyB7IC8vICoqKiBiYW5kZWF1IGNvb2tpZXMgYm90dG9tICoqKioqL1xuXG4gICAgYnV0dG9uLnRhcnRlYXVjaXRyb25BbGxvdyB7IC8vIEJvdXRvbiBUT1VUIEFjY2VwdGVyIHBvdXIgYmFuZGVhdSBlbiBib3R0b21cbiAgICAgIC8vQGluY2x1ZGUgYnRuLWN3KCk7XG4gICAgICBAaW5jbHVkZSBidG4tY29sb3IoJHdoaXRlLCAkYm9keS1jb2xvci1jb29raWUpO1xuICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHByaW1hcnktY29va2llLCRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvci1jb29raWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uLnRhcnRlYXVjaXRyb25EZW55IHsgLy8gQm91dG9uIFRPVVQgUmVmdXNlciBwb3VyIGJhbmRlYXUgZW4gYm90dG9tXG4gICAgICAvL0BpbmNsdWRlIGJ0bi1jdygpO1xuICAgICAgQGluY2x1ZGUgYnRuLWNvbG9yKCRkYXJrLCAkYm9keS1jb2xvci1jb29raWUpO1xuICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHdoaXRlLCAkcHJpbWFyeS0tbGlnaHQtY29va2llLCAxLCAxKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5pdGlhbDtcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3ItY29va2llO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLnRhcnRlYXVjaXRyb25DVEFCdXR0b24geyAvLyBib3V0b25zIENUQSAoYWNjZXB0ZXIgLyByZWZ1c2VyKVxuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzLWJ0bik7XG4gICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yNSwgMHB4LCA0cHgsIDEycHgsIDBweCk7XG4gICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiN0YXJ0ZWF1Y2l0cm9uQ2xvc2VBbGVydCwgLy8gYm91dG9ucyBwZXJzb25uYWxpc2VyIGV0IHBvbGl0aXF1ZSBkZSBjb25mXG4gICAgYnV0dG9uI3RhcnRlYXVjaXRyb25Qcml2YWN5VXJsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uI3RhcnRlYXVjaXRyb25DbG9zZUFsZXJ0IHsgLy8gYm91dG9ucyBwZXJzb25uYWxpc2VyXG4gICAgICBtYXJnaW4tdG9wOiAyNXB4IWltcG9ydGFudDtcbiAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgY29udGVudDogJ1xcZjAxMyc7IC8vZm9udCBmYS1jb2dcbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uI3RhcnRlYXVjaXRyb25Qcml2YWN5VXJsIHsgLy8gYm91dG9ucyBwb2xpdGlxdWUgZGUgY29uZlxuICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiAnXFxmMDIzJzsgLy9mb250IGF3ZXNvbWUgZmEtbG9ja1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvLyoqKioqKiBQYXJhbcOodHJlcyBwb3AgdXAgY29va2llcyAqKioqKi9cbiAgI3RhcnRlYXVjaXRyb25TZXJ2aWNlcyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg1cHgpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXG4gICAgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uRGV0YWlscyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI1LCAwcHgsIDRweCwgMTJweCwgMHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTWFpbkxpbmUgeyAvLyBwYXJ0aWUgdG9wIGRlIGxhIHBvcCB1cCBjb29raWUgKFRpdHJlICsgZGVzY3JpcHRpb24gKyBidG4gdG91dCBhY2NlcHRlciAvIHJlZnVzZXIpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAudGFydGVhdWNpdHJvbkgxLCAudGFydGVhdWNpdHJvbkgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICAgICAgfVxuXG4gICAgICAudGFydGVhdWNpdHJvbkgxIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgfVxuICAgICAgLnRhcnRlYXVjaXRyb25IMiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzM3B4O1xuICAgICAgfVxuXG4gICAgICAjdGFydGVhdWNpdHJvbkluZm8geyAvLyBkZXNjcmlwdGlvbiBwb3B1cCBjb29raWVcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAjdGFydGVhdWNpdHJvblByaXZhY3lVcmxEaWFsb2cge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjAyMyc7IC8vZm9udCBhd2Vzb21lIGZhLWxvY2tcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0KVxuICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25Cb3JkZXIgeyAvLyBwYXJ0aWUgYm90dG9tIHBvcCB1cCBjb29raWUgYXZlYyBsaXN0aW5nIGRlcyBjb29raWVzICsgYnRuIGF1dG9yaXNlciAvIHJlZnVzZXJcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZmRmZGYhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgLnRhcnRlYXVjaXRyb25UaXRsZSwgLy8gVGl0cmUgZHUgY29va2llIGVuIHF1ZXN0aW9uXG4gICAgICAudGFydGVhdWNpdHJvbkxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uVGl0bGUgPiBidXR0b24geyAvLyBib3V0b24gc3VyIGxlIG5vbSBkdSBjb29raWUgcXVpIG91dnJlIHVuZSBkaXYgY29udGVuYW50IGRlc2NyaXB0aW9uIGR1IGNvb2tpZVxuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uTmFtZSB7IC8vIHRpdHJlICsgaW5mbyArIG5iIGNvb2tpZSBxdWkgcGV1dCDDqnRyZSBkw6lwb3NlclxuICAgICAgICAudGFydGVhdWNpdHJvbkgzLCAudGFydGVhdWNpdHJvbkxpc3RDb29raWVzIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgICAudGFydGVhdWNpdHJvbkxpc3RDb29raWVzIHsgLy8gbmIgZGUgY29va2llIHBvdXZhbnQgw6p0cmUgZMOpcG9zw6kgKHBhciB0eXBlIGRlIGNvb2tpZSlcbiAgICAgICAgICBjb2xvcjogI2I5YjliOTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRhcnRlYXVjaXRyb25Bc2sgeyAvLyBidG4gYWNjZXB0ZXIgLyByZWZ1c2VyIGR1IGNvb2tpZSBlbiBxdWVzdGlvblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzVGl0bGVfbWFuZGF0b3J5IHsgLy8gcHJlbWllciBjb29raWUgb2JsaWdhdG9pcmVcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgLnRhcnRlYXVjaXRyb25MaXN0Q29va2llcyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqIFNUWUxFUyBERVMgQk9VVE9OUyBERSBMQSBQT1AgVVAgQ09PS0lFICoqKioqL1xuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFzayB7XG4gICAgICAudGFydGVhdWNpdHJvbkFsbG93LCAjdGFydGVhdWNpdHJvbkFsbEFsbG93ZWQsXG4gICAgICAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgLy9AaW5jbHVkZSBidG4tY3coKTtcbiAgICAgICAgLy9AaW5jbHVkZSBidG4tY29sb3IoJGRhcmssICRwcmltYXJ5KTtcbiAgICAgICAgLy9AaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkd2hpdGUsICRwcmltYXJ5LCAxLCAwLjIpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yNSwgMHB4LCA0cHgsIDEycHgsIDBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgICAgbWluLXdpZHRoOiAxMjVweDtcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFydGVhdWNpdHJvbkFsbG93IHsgLy8gYm91dG9uIFwiQWNjZXB0ZXJcIlxuICAgICAgICBAaW5jbHVkZSBidG4tY29sb3IoJHdoaXRlLCAkYm9keS1jb2xvci1jb29raWUpO1xuICAgICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkcHJpbWFyeS1jb29raWUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgICAmOmRpc2FibGVkIHsgLy9ib3V0b24gXCJBY2NlcHRlclwiIG9ibGlnYXRvaXJlIChwYXMgZGUgc3Vydm9sIG5pIGQnYWN0aW9uIHBvc3NpYmxlIGRlc3N1cylcbiAgICAgICAgICBAaW5jbHVkZSBidG4tY29sb3IoJHdoaXRlLCAkd2hpdGUpO1xuICAgICAgICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICRwcmltYXJ5LWNvb2tpZSwgJHByaW1hcnktY29va2llLCAxLCAxKTtcbiAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvci1jb29raWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCB7IC8vIGJvdXRvbiBcIlRPVVQgQWNjZXB0ZXJcIlxuICAgICAgICBAaW5jbHVkZSBidG4tYm9yZGVyKDJweCwgJGdyZXktY29va2llLCAkcHJpbWFyeS0tbGlnaHQtY29va2llLCAxLCAwKTtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWNvbG9yKCR3aGl0ZSwgJGJvZHktY29sb3ItY29va2llKTtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJGdyZXktY29va2llLCAkcHJpbWFyeS0tbGlnaHQtY29va2llLCAxLCAxKTtcbiAgICAgIH1cblxuICAgICAgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQgeyAvLyBib3V0b24gXCJUT1VUIHJlZnVzZXJcIlxuICAgICAgICBAaW5jbHVkZSBidG4tYm9yZGVyKDJweCwgJGdyZXktY29va2llLCB0cmFuc3BhcmVudCwgMSwgMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uRGVueSwgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQgeyAvLyBib3V0b24gXCJyZWZ1c2VyXCIgZXQgXCJ0b3V0IHJlZnVzZXJcIlxuICAgICAgICBAaW5jbHVkZSBidG4tY29sb3IoJGRhcmssICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICR3aGl0ZSwgJHByaW1hcnktLWxpZ2h0LWNvb2tpZSwgMSwgMSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDAuMik7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yLWNvb2tpZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFydGVhdWNpdHJvbkxpbmUudGFydGVhdWNpdHJvbklzQWxsb3dlZCB7IC8vIHN0eWxlcyBkZSB0b3VzIGxlcyBib3V0b25zIFwiYWNjZXB0ZXJcIiBzaSBib3V0b24gXCJ0b3V0IGFjY2VwdGVyXCIgc8OpbGVjdGlvbm7DqVxuICAgICAgLnRhcnRlYXVjaXRyb25BbGxvdywgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29va2llO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgJHByaW1hcnktY29va2llO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZS50YXJ0ZWF1Y2l0cm9uSXNEZW5pZWQgeyAvLyBzdHlsZXMgZGUgdG91cyBsZXMgYm91dG9ucyBcInJlZnVzZXJcIiBzaSBib3V0b24gXCJ0b3V0IHJlZnVzZXJcIiBzw6lsZWN0aW9ubsOpXG4gICAgICAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1jb29raWUsIDEpO1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IC8vc3VyY2hhZ2UgbGEgbWl4aW4gIGJ0bi1jb2xvcigpIHF1aSBhIHVuICFpbXBvcnRhbnQuLi5cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGFydGVhdWNpdHJvbkFsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktY29va2llO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCB7IC8vIHN0eWxlIGJ0biBcIlRPVVQgYWNjZXB0ZXJcIiBzaSBzw6lsZWN0aW9ubsOpXG4gICAgICAmLnRhcnRlYXVjaXRyb25Jc1NlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29va2llO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHsgLy8gc3R5bGUgYnRuIFwiVE9VVCByZWZ1c2VyXCIgc2kgc8OpbGVjdGlvbm7DqVxuICAgICAgJi50YXJ0ZWF1Y2l0cm9uSXNTZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvb2tpZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFydGVhdWNpdHJvbkxpbmUgLnRhcnRlYXVjaXRyb25BbGxvdywgLy8gcmVuZCBsJ29wYWNpdMOpIMOgIDEgcXVhbmQgc3Vydm9sIGRlcyBidG4gXCJyZWZ1c2VyXCIgZXQgXCJhY2NlcHRlclwiXG4gICAgLnRhcnRlYXVjaXRyb25MaW5lIC50YXJ0ZWF1Y2l0cm9uRGVueSB7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDEhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN0YXJ0ZWF1Y2l0cm9uICN0YXJ0ZWF1Y2l0cm9uQ2xvc2VQYW5lbCB7IC8vKioqKiBCb3V0b24gRmVybWVyIGRlIGxhIHBvcCB1cCBjb29raWVcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAyOHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgLmNsb3NlLWNvb2tpZS14IHtcbiAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIEJsb2MgaW5mb3MtYm90dG9tXG4jdGFydGVhdWNpdHJvbk1hbmFnZXIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogaW5pdGlhbDtcbn1cblxuLyoqKiBUYWJsZWF1IGNvb2tpZSAqKiovXG5cbi5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYi1jb29raWUgdGhlYWQgdHIgdGQge1xuICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY3ctdGFibGUtY29udGFpbmVyIC5jdy10YWItY29va2llIHRib2R5IHRyIHRkIHAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vKioqKioqKioqIFFVRVJJRVMgKioqKioqKioqKiovXG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gIGh0bWwgYm9keSAjdGFydGVhdWNpdHJvblJvb3Qge1xuICAgICN0YXJ0ZWF1Y2l0cm9uICN0YXJ0ZWF1Y2l0cm9uU2VydmljZXNUaXRsZV9tYW5kYXRvcnkgeyAvLyBjYWNoZSBsZSBidG4gXCJyZWZ1c2VyXCIgbm9uIGV4aXN0YW50IHBvdXIgbGVzIGNvb2tpZXMgb2JsaWdhdG9pcmUgZW4gbW9iaWxlIGNhciBwcmVuZCBkZSBsYSBwbGFjZVxuICAgICAgLnRhcnRlYXVjaXRyb25EZW55IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgICN0YXJ0ZWF1Y2l0cm9uICN0YXJ0ZWF1Y2l0cm9uQ2xvc2VQYW5lbCB7IC8vIGNoYW5nZSBwb3NpdGlvbiBidG4gZmVybWVyIGVuIG1vYmlsZVxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIC50YXJ0ZWF1Y2l0cm9uQm9yZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4vKioqIFRhYmxlYXUgY29va2llICoqKi9cbi5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIge1xuXHRcdHRkOmJlZm9yZSB7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH0gXG5cdFx0dGQ6bnRoLWNoaWxkKDEpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gTm9tIGR1IGNvb2tpZSAtXCI7XG5cdFx0fVxuXHRcdHRkOm50aC1jaGlsZCgyKTpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCItIEVkaXRldXIgZHUgY29va2llIC1cIjtcblx0XHR9XG5cdFx0dGQ6bnRoLWNoaWxkKDMpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gRmluYWxpdGUgLyBGb25jdGlvbiAtXCI7XG5cdFx0fVxuXHRcdHRkOm50aC1jaGlsZCg0KTpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCItIENvbnNlcnZhdGlvbiAtXCI7XG5cdFx0fVxuXHR9XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICBib2R5ICN0YXJ0ZWF1Y2l0cm9uUm9vdCB7XG5cbiAgICBidXR0b24geyAvL2JvdXRvbiBnw6luw6lyYWxcbiAgICAgIG1hcmdpbi10b3A6IDBweCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI3RhcnRlYXVjaXRyb25TZXJ2aWNlcyAudGFydGVhdWNpdHJvbkxpbmUgLnRhcnRlYXVjaXRyb25Bc2sgeyAvLyBib3V0b24gcmVmdXNlciAvIGFjY2VwdGVyIGRlIGNoYXF1ZSBjb29raWVcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3csICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCwgLnRhcnRlYXVjaXRyb25EZW55LCAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggN3B4O1xuICAgICAgfVxuICAgIH1cbiAgICBzcGFuI3RhcnRlYXVjaXRyb25EaXNjbGFpbWVyQWxlcnQgeyAvLyBiYW5kZWF1IGNvb2tpZSBib3R0b206IHRpdHJlIFwiQ2Ugc2l0ZSB1dGlsaXNlIGRlcyBjb29raWVzLi4uXCJcbiAgICAgIC5jb29raWUtYmlnLXR4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICBib2R5ICN0YXJ0ZWF1Y2l0cm9uUm9vdCB7XG4gICAgI3RhcnRlYXVjaXRyb25TZXJ2aWNlcyAudGFydGVhdWNpdHJvbkxpbmUgLnRhcnRlYXVjaXRyb25Bc2sgeyAvLyBib3V0b24gcmVmdXNlciAvIGFjY2VwdGVyIGRlIGNoYXF1ZSBjb29raWVcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3csICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCwgLnRhcnRlYXVjaXRyb25EZW55LCAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuLyoqKiBUYWJsZWF1IGNvb2tpZSAqKiovXG5cdC5jdy10YWJsZS1jb250YWluZXIgIC5jdy10YWItY29va2llIHRib2R5IHRyIHRkIHtcblx0XHR3aGl0ZS1zcGFjZTogdW5zZXQhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAyNSUhaW1wb3J0YW50O1xuXHR9XG5cdC5jdy10YWJsZS1jb250YWluZXIgIC5jdy10YWItY29va2llIHRib2R5IHRyIHRkOm50aC1jaGlsZCgwbisxKSxcblx0LmN3LXRhYmxlLWNvbnRhaW5lciAgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDBuKzIpLFxuXHQuY3ctdGFibGUtY29udGFpbmVyICAuY3ctdGFiLWNvb2tpZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcblx0XHRtYXgtd2lkdGg6IDE1JTtcblx0fVxuXG59XG5cbi5mb3JtLXJncGQge1xuICBpbnB1dC5mb3JtLXJncGQge1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBjb2xvcjogbGlnaHRlbigkYm9keS1jb2xvciwgMjUlKTtcbiAgfVxufVxuXG4ucmFwcGVsLWdyYXR1aXQsXG4uZmxvdHRhbnQtcmFwcGVsLWdyYXR1aXQsXG4uZmxvdHRhbnQtcmVzZXJ2YXRpb24ge1xuICAuY29udGVudCBmb3JtIC53ZWJmb3JtLWNvbXBvbmVudC0tdGVsZXBob25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLmZvcm0tcmdwZCB7XG4gICAgaW5wdXQuZm9ybS1yZ3BkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxuICB9XG59XG4iLCIvL2h0dHBzOi8vcGVwc2l6ZWQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA5L2JlZXJzbGlkZXIvZGVtby9pbmRleC5odG1sXG5cbiRwcmVmaXg6IFwiYmVlclwiO1xuJGluaXRpYWwtcmV2ZWFsOiA1MCU7XG5cbi5hdmFudC1hcHJlcy1nYWxlcmllLXBob3RvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogM3JlbSAwIDA7XG59XG5cbi4jeyRwcmVmaXh9LXNsaWRlciB7XG4gICosXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgMTVweCAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgbWF4LXdpZHRoOiA1NDBweDtcbiAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xNSwgMHB4LCAwLjVyZW0sIDFyZW0sIDBweCk7XG4gIH1cblxuICBpbWcsIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gICYgPiAqIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi4jeyRwcmVmaXh9LXJldmVhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJSAtICRpbml0aWFsLXJldmVhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cztcblxuICAmID4gOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJSoxMDAlLyRpbml0aWFsLXJldmVhbDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJiA+IGltZzpmaXJzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi4jeyRwcmVmaXh9LXJhbmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWwgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6IDMwMHZoO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogMzAwdmg7XG4gIH1cblxuICAmOjotbXMtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi4jeyRwcmVmaXh9LWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcywgYm94LXNoYWRvdyAwLjNzLCBvcGFjaXR5IDAuNXMgMC4yNXM7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4O1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cblxuLiN7JHByZWZpeH0tcmFuZ2U6Zm9jdXMgfiAuI3skcHJlZml4fS1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44NSk7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbi4jeyRwcmVmaXh9LXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyLFxuLiN7JHByZWZpeH0tcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtYmVlci1sYWJlbCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7XG59XG5cbi4jeyRwcmVmaXh9LXNsaWRlcltkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgcmlnaHQ6IDEuNXJlbTtcbn1cblxuLiN7JHByZWZpeH0tcmV2ZWFsW2RhdGEtYmVlci1sYWJlbF06YWZ0ZXIge1xuICBsZWZ0OiAxLjVyZW07XG59XG5cbi4jeyRwcmVmaXh9LXNsaWRlcltkYXRhLWJlZXItbGFiZWw9XCJcIl06YWZ0ZXIsXG4uI3skcHJlZml4fS1yZXZlYWxbZGF0YS1iZWVyLWxhYmVsPVwiXCJdOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLiN7JHByZWZpeH0tcmVhZHkge1xuICAuI3skcHJlZml4fS1yZXZlYWwsIC4jeyRwcmVmaXh9LWhhbmRsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiJGF2aXNnby1iZzogJHdoaXRlO1xuJGF2aXNnby1iZy1kYXJrOiB0cnVlO1xuJGF2aXNnby1jb2xvcjogJGJvZHktY29sb3I7XG5cbi5hdmlzZ28ge1xuICBjb2xvcjogJGF2aXNnby1jb2xvcjtcbn1cblxuLmF2aXNnby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYXZpc2dvLWJnLCAxKTtcbiAgYm94LXNoYWRvdzogM3B4IDE3cHggMjBweCA3cHggIzFhNDY4ZjEyO1xufVxuXG4uYXZpc2dvLWJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhdmlzZ28tYmc7XG59XG5cbi5hdmlzZ28tYXZpcy1ub3RlIGIge1xuICAgIGNvbG9yOiAkYXZpc2dvLWNvbG9yO1xufVxuLmF2aXNnby1hdmlzIC5hdmlzZ28tYXZpcy10aXRsZSBhIHtcbiAgY29sb3I6ICRhdmlzZ28tY29sb3I7XG59XG4iLCIvLyBQb3VyIGxlcyBNQUogZXQgcmV0b3VyIGxpdnJhaXNvbiBkaXJlY3RlbWVudCByw6lhbGlzw6lzIGVuIERFVlxuIiwiLy8gUG91ciBsZXMgTUFKIGV0IHJldG91ciBsaXZyYWlzb24gZGlyZWN0ZW1lbnQgcsOpYWxpc8OpcyBlbiBQUk9EXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5maWVsZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uYnVsbGUtMSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9zaXRlcy81ODQ1Y3cxMjIzL2ZpbGVzL2J1bGxlLTEucG5nXCIpO1xufVxuLmJ1bGxlLTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc2l0ZXMvNTg0NWN3MTIyMy9maWxlcy9idWxsZS0yLnBuZ1wiKTtcbn1cbi5idWxsZS0zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3NpdGVzLzU4NDVjdzEyMjMvZmlsZXMvYnVsbGUtMy5wbmdcIik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAuaDEgc3BhbjphZnRlciwgaDEgc3BhbjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYnVsbGVzIHtcbiAgLmN3LXBpY3RvcyA+IGRpdiA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgfVxuICAuY3ctcGljdG9zIC5waWN0by1sZWdlbmRlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgLmN3LXBpY3RvcyAucGljdG8ge1xuICAgIGhlaWdodDogMjkwcHg7XG4gICAgd2lkdGg6IDI5MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnNlcGFyYXRldXIge1xuICB3aWR0aDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBNkVnQ0EsNENBQTRDO0FBQzVDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUdqQzVDLE9BQU8sQ0FBQyx5RkFBSTtBQ2tDWixrREFBa0Q7QUFDbEQsZ0NBQWdDO0FBQ2hDLGtEQUFrRDtBTXJDbEQsdUNBQXVDO0FBYXZDLDRDQUE0QztBQXNCNUMsc0NBQXNDO0FBYXRDLDhDQUE4QztBQVc5Qyx1Q0FBdUM7QUFVdkMsc0NBQXNDO0FBQ3RDLHNDQUFzQztBQUN0QyxzQ0FBc0M7QUFrRHRDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBc0IzQyxrQ0FBa0M7QUk1R2xDLHVDQUF1QztBQUN2Qyx1Q0FBdUM7QUFDdkMsdUNBQXVDO0FBR3ZDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNB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QUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQW1DO0lBSTdDLFNBQVMsRUFBRSxJQUFtQyxHRFdyQztFQUlMLEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUVyQyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRXJEMUJKLEVBQUUsR3FEMEJvQjtFQUc1QyxBQUFBLFdBQVcsQ0FBVztJ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LEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQW1DO0lBSTdDLFNBQVMsRUFBRSxRQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZE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QUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsU0FBUyxDQUFXO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQW1DO0lBSTdDLFNBQVMsRUFBRSxHQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQW1DO0lBSTdDLFNBQVMsRUFBRSxTQUFtQyxHRFdyQztFQUZELEFBQUEsVUFBVSxDQUFVO0lDYjVCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQW1DO0lBSTdDLFNBQVMsRUFBRSxJQUFtQyxHRFdyQztFQUlMLEFBQUEsZUFBZSxDQUFPO0lBQUUsS0FBSyxFQUFFLEVBQUUsR0FBSTtFQUVyQyxBQUFBLGNBQWMsQ0FBTztJQUFFLEtBQUssRXJEMUJKLEVBQUUsR3FEMEJvQjtFQUc1QyxBQUFBLFdBQVcsQ0FBVztJQUFFLEtBQUss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SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKcFo1QixHQUFHO0l2S05vRCxpQkFBb0IsRXNCMFpuRSxpQkFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGlCQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsaUJBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGlCQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxpQkFBb0I7RWlKbFo1QixHQUFHO0l2S1JvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSmhaNUIsR0FBRztJdktWb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxpQkFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsaUJBQW9CO0VpSjlZNUIsR0FBRztJdktab0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUo1WTVCLElBQUk7SXZLZG1ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7O0ErSXBYeEIsa0JBQWtCLENBQWxCLE1BQWtCO0VFcEN0QixFQUFFO0l2S0ZxRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnRaNUIsR0FBRztJdktKb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpwWjVCLEdBQUc7SXZLTm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUpsWjVCLEdBQUc7SXZLUm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKaFo1QixHQUFHO0l2S1ZvRCxpQkFBb0IsRXNCMFpuRSxpQkFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGlCQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsaUJBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGlCQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxpQkFBb0I7RWlKOVk1QixHQUFHO0l2S1pvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSjVZNUIsSUFBSTtJdktkbUQsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFB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d1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxhQUFvQjtFaUp0WDVCLEdBQUc7SXZLdEJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFg1QixHQUFHO0l2S3hCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSmxYNUIsR0FBRztJdksxQm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpoWDVCLEdBQUc7SXZLNUJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKOVc1QixHQUFHO0l2SzlCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSjVXNUIsR0FBRztJdktoQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUoxVzVCLEdBQUc7SXZLbENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKeFc1QixHQUFHO0l2S3BDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSnRXNUIsR0FBRztJdkt0Q29ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwVzVCLElBQUk7SXZLeENtRCxpQkFBb0IsRXNCNFluRSxhQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsYUFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGFBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGFBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGFBQW9COztBK0l0V3hCLGtCQUFrQixDQUFsQixLQUFrQjtFRWxCdEIsRUFBRTtJdktwQnFELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7RWlKdFg1QixHQUFHO0l2S3RCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBYNUIsR0FBRztJdkt4Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUpsWDVCLEdBQUc7SXZLMUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKaFg1QixHQUFHO0l2SzVCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjlXNUIsR0FBRztJdks5Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUo1VzVCLEdBQUc7SXZLaENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKMVc1QixHQUFHO0l2S2xDb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnhXNUIsR0FBRztJdktwQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUp0VzVCLEdBQUc7SXZLdENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFc1QixJQUFJO0l2S3hDbUQsaUJBQW9CLEVzQjRZbkUsYUFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGFBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxhQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxhQUFvQjs7QStJald4QixhQUFhLENBQWIsS0FBYTtFRXZCakIsRUFBRTtJdktwQnFELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7RWlKdFg1QixHQUFHO0l2S3RCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBYNUIsR0FBRztJdkt4Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUpsWDVCLEdBQUc7SXZLMUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKaFg1QixHQUFHO0l2SzVCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjlXNUIsR0FBRztJdks5Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUo1VzVCLEdBQUc7SXZLaENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKMVc1QixHQUFHO0l2S2xDb0QsaUJBQW9CLEVzQjRZbkUs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LGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwWDVCLEdBQUc7SXZLeEJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKbFg1QixHQUFHO0l2SzFCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSmhYNUIsR0FBRztJdks1Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUo5VzVCLEdBQUc7SXZLOUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKNVc1QixHQUFHO0l2S2hDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdllt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WUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSmhXdEIsR0FBRztJdkt4SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjlWdEIsR0FBRztJdksxSG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSjVWdEIsR0FBRztJdks1SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjFWdEIsR0FBRztJdks5SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnhWdEIsR0FBRztJdktoSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSnRWdEIsR0FBRztJdktsSW9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnBWdEIsR0FBRztJdktwSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmxWdEIsR0FBRztJdkt0SW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmhWdEIsSUFBSTtJdkt4SW1ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjOztBK0lsYmxCLGtCQUFrQixDQUFsQixNQUFrQjtFRThFdEIsRUFBRTtJdktwSHFELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmxXdEIsR0FBRztJdkt0SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSmhXdEIsR0FBRztJdkt4SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjlWdEIsR0FBRztJdksxSG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSjVWdEIsR0FBRztJdks1SG9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjFWdEIsR0FBRztJdks5SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnhWdEIsR0FBRztJdktoSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSnRWdEIsR0FBRztJdktsSW9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnBWdEIsR0FBRztJdktwSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmxWdEIsR0FBRztJdkt0SW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmhWdEIsSUFBSTtJdkt4SW1ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjOztBK0k3YWxCLGFBQWEsQ0FBYixNQUFhO0VFeUVqQixFQUFFO0l2S3BIcUQsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFd0QixHQUFHO0l2S3RIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKaFd0QixHQUFHO0l2S3hIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKOVZ0QixHQUFHO0l2SzFIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKNVZ0QixHQUFHO0l2SzVIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKMVZ0QixHQUFHO0l2SzlIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKeFZ0QixHQUFHO0l2S2hJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKdFZ0QixHQUFHO0l2S2xJb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKcFZ0QixHQUFHO0l2S3BJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFZ0QixHQUFHO0l2S3RJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKaFZ0QixJ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ZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSjFWdEIsR0FBRztJdks5SG9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnhWdEIsR0FBRztJdktoSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSnRWdEIsR0FBRztJdktsSW9ELGlCQUFvQixFc0J3ZG5FLFlBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFlBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFlBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsWUFBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxZQUFjO0VpSnBWdEIsR0FBRztJdktwSW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmxWdEIsR0FBRztJdkt0SW9ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxXQUFjO0VpSmhWdEIsSUFBSTtJdkt4SW1ELGlCQUFvQixFc0J3ZG5FLFdBQWM7SXRCdGRvQyxjQUFpQixFc0JzZG5FLFdBQWM7SXRCcmRxQyxhQUFnQixFc0JxZG5FLFdBQWM7SXRCcGRzQyxZQUFlLEVzQm9kbkUsV0FBYztJdEJuZHlDLFNBQVksRXNCbWRuRSxX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 */
