@charset "UTF-8";
/************** ************ **************/
/************** Variables CW **************/
/************** ************ **************/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;600&display=swap");
/************** ****************** **************/
/**************  **************/
/************** ****************** **************/
/************** GLOBALE **************/
/************** LOGO / BRAND **************/
/************** ONLGET **************/
/************** MENU DEROULANT **************/
/************** TOGGLER **************/
/************** ****** **************/
/************** OPTION **************/
/************** ****** **************/
/************** ******* **************/
/************** 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: #FF9900;
  --secondary: #fff;
  --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: #fff;
  text-align: left;
  background-color: #1E1E1E; }

[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: #FF9900;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #ffad33;
    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: #1E1E1E;
  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: #fff;
  background-color: #1b1b1b; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #111111; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #111111; }
  .table tbody + tbody {
    border-top: 2px solid #111111; }

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

.table-bordered {
  border: 1px solid #111111; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #111111; }
  .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: #111111; }

.table-hover tbody tr:hover {
  color: #fff;
  background-color: #111111; }

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

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

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

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

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

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

.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: #111111; }

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

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

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

.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: #2d2d2d;
  background-color: #f9f9f9;
  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: #2d2d2d;
    background-color: #f9f9f9;
    border-color: #ffcc80;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 0.25); }
  .form-control::placeholder {
    color: #adadad;
    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 #2d2d2d; }

select.form-control:focus::-ms-value {
  color: #2d2d2d;
  background-color: #f9f9f9; }

.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: #fff;
  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, #f9f9f9 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, #f9f9f9 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: #fff;
  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: #2d2d2d;
  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: #FF9900;
    background-color: #FF9900; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #ffcc80; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #ffe0b3;
    border-color: #ffe0b3; }
  .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: #f9f9f9;
    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: #FF9900;
  background-color: #FF9900; }

.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(255, 153, 0, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(255, 153, 0, 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(255, 153, 0, 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: #f9f9f9;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(255, 153, 0, 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: #2d2d2d;
  vertical-align: middle;
  background: #f9f9f9 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: #ffcc80;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 0.25); }
    .custom-select:focus::-ms-value {
      color: #2d2d2d;
      background-color: #f9f9f9; }
  .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 #2d2d2d; }

.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: #ffcc80;
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 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: #2d2d2d;
  background-color: #f9f9f9;
  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: #2d2d2d;
    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 #1E1E1E, 0 0 0 0rem rgba(255, 153, 0, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #1E1E1E, 0 0 0 0rem rgba(255, 153, 0, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #1E1E1E, 0 0 0 0rem rgba(255, 153, 0, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #FF9900;
    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: #ffe0b3; }
  .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: #FF9900;
    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: #ffe0b3; }
  .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: #FF9900;
    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: #ffe0b3; }
  .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: #1E1E1E;
    border-color: #dedede #dedede #1E1E1E; }
  .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: #FF9900; }

.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: #1b1b1b;
  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: #111111; }

.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: #FF9900;
    text-decoration: none;
    background-color: transparent;
    border-color: #dedede; }
  .page-link:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 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: #FF9900;
  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: #FF9900; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #181818;
    background-color: #cc7a00; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 153, 0, 0.5); }

.badge-secondary {
  color: #181818;
  background-color: #fff; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #181818;
    background-color: #e6e6e6; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(255, 255, 255, 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: #855000;
  background-color: #ffebcc;
  border-color: #ffe2b8; }
  .alert-primary hr {
    border-top-color: #ffd89f; }
  .alert-primary .alert-link {
    color: #523100; }

.alert-secondary {
  color: #858585;
  background-color: white;
  border-color: white; }
  .alert-secondary hr {
    border-top-color: #f2f2f2; }
  .alert-secondary .alert-link {
    color: #6c6c6c; }

.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: #FF9900;
  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: #fff;
    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: #FF9900;
    border-color: #FF9900; }
  .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: #855000;
  background-color: #ffe2b8; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #855000;
    background-color: #ffd89f; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #855000;
    border-color: #855000; }

.list-group-item-secondary {
  color: #858585;
  background-color: white; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #858585;
    background-color: #f2f2f2; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #858585;
    border-color: #858585; }

.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 #111111;
  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 #111111;
  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: #fff; }

.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: #FF9900 !important; }

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

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

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #e6e6e6 !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 #111111 !important; }

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

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

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

.border-left {
  border-left: 1px solid #111111 !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: #FF9900 !important; }

.border-secondary {
  border-color: #fff !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: #FF9900 !important; }

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

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

a.text-secondary:hover, a.text-secondary:focus {
  color: #d9d9d9 !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: #fff !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: #111111; }
  .table .thead-dark th {
    color: inherit;
    border-color: #111111; } }

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: 500;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: uppercase;
  overflow: hidden; }

/************** ******************* **************/
/************** PARAMETRAGE DE BASE **************/
/************** ******************* **************/
.btn {
  border-radius: 0;
  -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: 500;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  text-transform: uppercase;
  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: 0;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    transition: 0.2s; }

.btn-primary, .button-primary {
  color: #111111 !important;
  background-color: #ff9900; }
  .btn-primary:hover, .button-primary:hover {
    color: #111111 !important; }
  .btn-primary:hover, .button-primary:hover {
    background-color: white; }

.btn-secondary, .button-secondary {
  color: #fff !important;
  background-color: white; }
  .btn-secondary:hover, .button-secondary:hover {
    color: #fff !important; }
  .btn-secondary:hover, .button-secondary:hover {
    background-color: #111111; }

.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: #111111 !important;
  background-color: #ff9900; }
  .all-actus:hover {
    color: #111111 !important; }
  .all-actus:hover {
    background-color: white; }

/************** BLOC AVIS CLIENT (front)**************/
#avis-client .view-footer .btn-avis .btn-primary {
  color: #111111 !important;
  background-color: #ff9900; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    color: #111111 !important; }
  #avis-client .view-footer .btn-avis .btn-primary:hover {
    background-color: white; }

/************** AVIS CLIENT **************/
.page-node-add-message .form-actions .webform-submit, .page-node-add-message .form-actions #edit-submit {
  color: #111111 !important;
  background-color: #ff9900; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    color: #111111 !important; }
  .page-node-add-message .form-actions .webform-submit:hover, .page-node-add-message .form-actions #edit-submit:hover {
    background-color: white; }

/************** FORMULAIRE BLOC BOTTOM ACCUEIL **************/
/************** FORMULAIRE PAGE CONTACT **************/
/* ************************************************************* */
/* ************************ BTN EXEMPLE ************************ */
/* ************************************************************* */
.btn-0 {
  color: #111111 !important;
  background-color: #ff9900; }
  .btn-0:hover {
    color: #111111 !important; }
  .btn-0:hover {
    background-color: white; }

.btn-1 {
  color: #111111 !important;
  background: linear-gradient(90deg, #ff9900, transparent 70%) #d68100;
  transition: background-color 0.8s; }
  .btn-1:hover {
    color: #111111 !important; }
  .btn-1:hover {
    background: linear-gradient(90deg, #d68100, transparent 70%) #d68100;
    background-color: #ffa31a;
    transition: background-color 1s; }

.btn-2 {
  color: #111111 !important;
  background: linear-gradient(90deg, #ff9900, transparent 70%) white;
  transition: background-color 0.8s; }
  .btn-2:hover {
    color: #111111 !important; }
  .btn-2:hover {
    background-color: #2b2b2b;
    transition: background-color 1s; }

.btn-img {
  color: #111111 !important;
  background-image: url("../images/bg-bouton-2.jpg");
  background-position: center center;
  background-repeat: repeat; }
  .btn-img:hover {
    color: #111111 !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: 575.98px) {
  body .btn-slide {
    min-width: 250px !important; }
    body .btn-slide span {
      position: relative;
      right: 15px;
      color: #fff; }
    body .btn-slide:after {
      width: 100%; }
  body .btn-slide-primary {
    min-width: 250px !important; }
    body .btn-slide-primary span {
      position: relative;
      right: 15px;
      color: #fff; }
    body .btn-slide-primary:after {
      width: 100%; }
  body .btn-slide-secondary {
    min-width: 250px !important; }
    body .btn-slide-secondary span {
      position: relative;
      right: 15px;
      color: #fff; }
    body .btn-slide-secondary:after {
      width: 100%; } }

.btn-slide {
  text-align: left;
  box-shadow: none;
  padding: 15px;
  padding-left: 62px;
  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;
    text-align: center;
    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: #FF9900;
    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;
    right: 15px; }
  .btn-slide:hover:after {
    width: 100%;
    height: 100%; }

.btn-slide-primary {
  text-align: left;
  box-shadow: none;
  padding: 15px;
  padding-left: 62px;
  min-height: 50px; }
  .btn-slide-primary 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;
    color: #FF9900; }
  .btn-slide-primary: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;
    text-align: center;
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 1px;
    width: 50px;
    min-height: 50px;
    color: #fff;
    font-size: 25px;
    padding: 7.5px; }
  .btn-slide-primary: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: #FF9900;
    border-radius: 30px; }
  .btn-slide-primary: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;
    right: 15px; }
  .btn-slide-primary:hover:after {
    width: 100%;
    height: 100%; }

.btn-slide-secondary {
  text-align: left;
  box-shadow: none;
  padding: 15px;
  padding-left: 62px;
  min-height: 50px; }
  .btn-slide-secondary 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;
    color: #fff; }
  .btn-slide-secondary: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;
    text-align: center;
    position: absolute;
    z-index: 1;
    top: 2px;
    left: 1px;
    width: 50px;
    min-height: 50px;
    color: #fff;
    font-size: 25px;
    padding: 7.5px; }
  .btn-slide-secondary: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: #fff;
    border-radius: 30px; }
  .btn-slide-secondary: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;
    right: 15px; }
  .btn-slide-secondary:hover:after {
    width: 100%;
    height: 100%; }

.btn-slide.btn-slide-white {
  color: #fff !important; }
  .btn-slide.btn-slide-white:after {
    background-color: #fff; }

.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: #1b1b1b; }
  .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-none img {
  border-radius: 0 !important; }

.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-bg-drop_filter_blur {
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px); }

.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: #FF9900 !important; }

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

.cw-bg-three {
  background-color: #1E1E1E !important; }

.cw-bg-one-tr {
  background: rgba(255, 153, 0, 0.8) !important; }

.cw-bg-two-tr {
  background: rgba(255, 255, 255, 0.8) !important; }

.cw-bg-three-tr {
  background: rgba(23, 23, 23, 0.8) !important; }

.cw-bg-white-tr {
  background: rgba(255, 255, 255, 0.8) !important; }

.cw-bg-black-tr, .cw-bg-dark-tr {
  background: rgba(0, 0, 0, 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; }

.cw-bg-gradient-one {
  background: -owg-linear-gradient(to top, #FF9900 0%, #d68100 100%);
  background: -webkit-linear-gradient(to top, #FF9900 0%, #d68100 100%);
  background: -moz-linear-gradient(to top, #FF9900 0%, #d68100 100%);
  background: -o-linear-gradient(to top, #FF9900 0%, #d68100 100%);
  background: linear-gradient(to top, #FF9900 0%, #d68100 100%); }

.cw-bg-gradient-two {
  background: -owg-linear-gradient(to top, #fff 0%, #111111 100%);
  background: -webkit-linear-gradient(to top, #fff 0%, #111111 100%);
  background: -moz-linear-gradient(to top, #fff 0%, #111111 100%);
  background: -o-linear-gradient(to top, #fff 0%, #111111 100%);
  background: linear-gradient(to top, #fff 0%, #111111 100%); }

.cw-bg-gradient-three {
  background: -owg-linear-gradient(to top, #1E1E1E 0%, #171717 100%);
  background: -webkit-linear-gradient(to top, #1E1E1E 0%, #171717 100%);
  background: -moz-linear-gradient(to top, #1E1E1E 0%, #171717 100%);
  background: -o-linear-gradient(to top, #1E1E1E 0%, #171717 100%);
  background: linear-gradient(to top, #1E1E1E 0%, #171717 100%); }

.cw-bg-gradient-white {
  background: -owg-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -webkit-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -moz-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: -o-linear-gradient(to top, #fff 0%, #f9f9f9 100%);
  background: linear-gradient(to top, #fff 0%, #f9f9f9 100%); }

.cw-bg-gradient-gray {
  background: -owg-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -webkit-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -moz-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: -o-linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%);
  background: linear-gradient(to top, #f9f9f9 0%, #e9e9e9 100%); }

.cw-bg-gradient-dark {
  background: -owg-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -webkit-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -moz-linear-gradient(to top, #343434 0%, #181818 100%);
  background: -o-linear-gradient(to top, #343434 0%, #181818 100%);
  background: linear-gradient(to top, #343434 0%, #181818 100%); }

[class*="cw-bg-gradient-"] {
  position: relative; }
  [class*="cw-bg-gradient-"]:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

.cw-bg-gradient-one-transparent:before {
  background: -owg-linear-gradient(to top, rgba(255, 153, 0, 0.6) 0%, rgba(255, 153, 0, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(255, 153, 0, 0.6) 0%, rgba(255, 153, 0, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(255, 153, 0, 0.6) 0%, rgba(255, 153, 0, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(255, 153, 0, 0.6) 0%, rgba(255, 153, 0, 0.6) 100%);
  background: linear-gradient(to top, rgba(255, 153, 0, 0.6) 0%, rgba(255, 153, 0, 0.6) 100%); }

.cw-bg-gradient-two-transparent:before {
  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-transparent:before {
  background: -owg-linear-gradient(to top, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.6) 100%);
  background: linear-gradient(to top, rgba(30, 30, 30, 0.6) 0%, rgba(30, 30, 30, 0.6) 100%); }

.cw-bg-gradient-white-transparent:before {
  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-gray-transparent:before {
  background: -owg-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -webkit-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -moz-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: -o-linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%);
  background: linear-gradient(to top, rgba(233, 233, 233, 0.6) 0%, rgba(233, 233, 233, 0.6) 100%); }

.cw-bg-gradient-dark-transparent:before {
  background: -owg-linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
  background: -webkit-linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
  background: -moz-linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
  background: -o-linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 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; }

@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(255, 153, 0, 0.35);
  color: #FF9900; }
  .cw-table-container h2 {
    font-weight: 600;
    color: #FF9900; }
  .cw-table-container .btn {
    color: #fff !important;
    background-color: white;
    border: 0px solid white;
    padding: 7px 7px; }
    .cw-table-container .btn:hover {
      color: #fff !important; }
    .cw-table-container .btn:hover {
      background-color: #111111; }
    .cw-table-container .btn:hover {
      border: 0px solid #111111; }
  .cw-table-container thead tr td {
    padding: 20px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    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: #FF9900; }
      .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: white;
      background-color: rgba(255, 255, 255, 0.86); }

/************** ****** **************/
/************** LOGOS **************/
/************** ****** **************/
.paragraph--type--bloc-logo-multiple .row {
  align-items: flex-start;
  justify-content: center; }

.paragraph--type--bloc-logo-multiple .col-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.6rem; }

.paragraph--type--bloc-logo-multiple .col-logo-caption_out.flex-lg-row .logo-caption {
  margin-left: 30px; }

.paragraph--type--bloc-logo-multiple .logo {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0;
  padding: 20px; }
  .paragraph--type--bloc-logo-multiple .logo.logo-square {
    min-height: 220px;
    max-width: 220px; }
  .paragraph--type--bloc-logo-multiple .logo.logo-rectangle {
    min-height: 150px;
    max-width: 250px; }

.paragraph--type--bloc-logo-multiple .logo-caption {
  max-width: 300px; }

@media (max-width: 575.98px) {
  .paragraph--type--bloc-logo-multiple .logo {
    margin: 10px 30px; } }

@media (min-width: 576px) and (max-width: 1199.98px) {
  .paragraph--type--bloc-logo-multiple .logo {
    margin: 2px 30px; } }

@media (min-width: 768px) {
  .paragraph--type--bloc-logo-multiple .logo-image {
    min-height: 71px;
    display: flex;
    align-items: center; } }

@media (min-width: 1200px) {
  .paragraph--type--bloc-logo-multiple .col-xl-2.custom-col-5 {
    flex: 0 0 20%;
    max-width: 20%; } }

/************** ****** **************/
/************** 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: 220px;
    width: 220px;
    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: 500;
    text-align: center; }
    .cw-pictos .picto-legende b {
      font-family: "Poppins", sans-serif;
      font-weight: 500;
      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; }
  .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: black; }

.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: #fff; }
  [class*="cw-follow-us-"] a {
    color: #fff !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: #FF9900;
    color: #fff;
    font-size: 24px;
    border-radius: 0.25rem;
    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: #fff;
      color: #FF9900;
      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: #FF9900; }
  [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: #FF9900; }

.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: #1b1b1b !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(23, 23, 23, 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(23, 23, 23, 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(23, 23, 23, 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(23, 23, 23, 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); }

div.cw-scroll-margin-top {
  line-height: 0; }

@media (min-width: 992px) {
  .cw-scroll-margin-top {
    scroll-margin-top: calc(100px + 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: #FF9900 !important; }

.cw-txt-secondary {
  color: #fff !important; }

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

.cw-txt-body {
  color: #fff !important; }

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

.cw-txt-black {
  color: #000000 !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.3 !important; }

.cw-txt-up-2 {
  font-size: 1.35em !important;
  line-height: 1.3 !important; }

.cw-txt-up-3 {
  font-size: 1.2em !important;
  line-height: 1.3 !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: #FF9900;
  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: #FF9900;
  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, #ff9900 0, #ff9900 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: #FF9900;
    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: #FF9900;
    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: #fff !important; }
    .field--name-body ul:not([class*="cw-inline-ul"]) li a:hover {
      color: #FF9900 !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: #FF9900; }
  .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: #fff; }
    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: #fff;
  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: #FF9900; }

@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: #FF9900; }

.cw-children-content-bg-two .content {
  background-color: #fff; }

.cw-children-content-bg-three .content {
  background-color: #f9f9f9; }

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

.node--type-galerie .field--type-image.field__item, .node--type-galerie .field--type-image .field__item, .galerie-section .field--type-image.field__item, .galerie-section .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;
  display: block; }
  .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"; }

.form-control:not([class*="button"]) {
  background-color: transparent !important;
  border-bottom: solid 1px white;
  border-radius: 0; }

.block-wf-contact .form-control:not([class*="button"]) {
  border-bottom: solid 1px white; }

@-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-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: #1b1b1b; }
  .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: white; }
  .cw-breadcrumb .active {
    font-weight: 500; }
    .cw-breadcrumb .active a {
      color: #111111; }

.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: #fff;
  border-radius: 4px;
  margin-bottom: 1rem; }

.cw-card-title {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  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: 600; }
  .cw-card-title a {
    color: #FF9900 !important; }

.cw-card-text {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  text-transform: none;
  font-size: 1rem;
  line-height: 1.4;
  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: #1E1E1E;
  border-radius: 0.125rem;
  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: #fff;
  font-size: 1rem;
  line-height: 1.4; }

.cw-cards-andromede .cw-card-date {
  width: fit-content;
  background-color: #171717;
  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: #FF9900;
    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: 0.125rem;
  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: 50%;
  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: #fff;
  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: #FF9900;
    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: 0.125rem;
        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: #FF9900;
    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: #1E1E1E;
  border-radius: 0.125rem;
  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: #fff;
  font-size: 1rem;
  line-height: 1.4; }

.bloc-actualites .cw-card-date {
  width: fit-content;
  background-color: #171717;
  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: #FF9900;
    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: #1E1E1E;
  border-radius: 0.125rem;
  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: #fff;
  font-size: 1rem;
  line-height: 1.4; }

.page-actualites .cw-card-date {
  width: fit-content;
  background-color: #171717;
  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: #FF9900;
    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: #1E1E1E;
  border-radius: 0.125rem;
  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: #fff;
  font-size: 1rem;
  line-height: 1.4; }

.cw-card-rows .cw-card-date {
  width: fit-content;
  background-color: #171717;
  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: #FF9900;
    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: 600;
  text-transform: none;
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #fff; }

.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: #fff; }

.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: #fff; }
  .cw-context-xxx .cw-element-adresse a {
    color: #fff; }
    .cw-context-xxx .cw-element-adresse a:hover {
      color: white; }

.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: #fff; }

.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: #fff; }
  .cw-context-xxx .cw-element-tel a {
    color: #fff; }
    .cw-context-xxx .cw-element-tel a:hover {
      color: white; }

.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, .cw-damier h2 span, .cw-damier span.cw-damier-title {
    position: relative;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    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, .cw-damier h2 span:first-child, .cw-damier span.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 .col-txt-one .content {
    color: #fff; }
    .cw-damier .col-txt-one .content h2, .cw-damier .col-txt-one .content .cw-damier-title, .cw-damier .col-txt-one .content h2 span, .cw-damier .col-txt-one .content span.cw-damier-title {
      color: #FF9900; }
      .cw-damier .col-txt-one .content h2 span:before, .cw-damier .col-txt-one .content .cw-damier-title span:before, .cw-damier .col-txt-one .content h2 span span:before, .cw-damier .col-txt-one .content span.cw-damier-title span:before {
        margin-left: 0; }
    .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]) {
      color: #fff; }
      .cw-damier .col-txt-one .content a:not([class*="dropdown-item"]):hover {
        color: #111111; }
  .cw-damier .col-txt-two .content {
    color: #fff; }
    .cw-damier .col-txt-two .content h2, .cw-damier .col-txt-two .content .cw-damier-title, .cw-damier .col-txt-two .content h2 span, .cw-damier .col-txt-two .content span.cw-damier-title {
      color: #fff; }
      .cw-damier .col-txt-two .content h2 span:before, .cw-damier .col-txt-two .content .cw-damier-title span:before, .cw-damier .col-txt-two .content h2 span span:before, .cw-damier .col-txt-two .content span.cw-damier-title span:before {
        margin-left: 0; }
    .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]) {
      color: #fff; }
      .cw-damier .col-txt-two .content a:not([class*="dropdown-item"]):hover {
        color: #d68100; }
  .cw-damier .damier-style-one {
    background-color: #171717; }
  .cw-damier .damier-style-two {
    background-color: #1E1E1E; }
  .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 (min-width: 992px) {
  .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, .cw-damier .damier-style-one h2 span, .cw-damier .damier-style-one span.cw-damier-title {
    text-align: left; }
  .cw-damier .damier-style-one .cw-damier-btn {
    text-align: left; }
  .cw-damier .damier-style-two .content {
    text-align: left; }
  .cw-damier .damier-style-two h2, .cw-damier .damier-style-two .cw-damier-title, .cw-damier .damier-style-two h2 span, .cw-damier .damier-style-two span.cw-damier-title {
    text-align: left; }
  .cw-damier .damier-style-two .cw-damier-btn {
    text-align: left; }
  .cw-damier .damier-style-three .content {
    text-align: center; }
  .cw-damier .damier-style-three h2, .cw-damier .damier-style-three .cw-damier-title, .cw-damier .damier-style-three h2 span, .cw-damier .damier-style-three span.cw-damier-title {
    text-align: center; }
    .cw-damier .damier-style-three h2:before, .cw-damier .damier-style-three .cw-damier-title:before, .cw-damier .damier-style-three h2 span:before, .cw-damier .damier-style-three span.cw-damier-title:before {
      margin-left: auto !important; }
    .cw-damier .damier-style-three h2:after, .cw-damier .damier-style-three .cw-damier-title:after, .cw-damier .damier-style-three h2 span:after, .cw-damier .damier-style-three span.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, #171717 0%, rgba(0, 0, 0, 0) 40%); }

.cw-damier .damier-style-two .col-img-full .content:after {
  background-image: linear-gradient(to right, #1E1E1E 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; } }

.cw-damier-paragraph .col-txt {
  display: flex;
  align-items: center;
  padding: 3.75rem 30px 30px;
  z-index: 2; }

.cw-damier-paragraph h2, .cw-damier-paragraph h2 span {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 1.7rem;
  line-height: 1.3;
  letter-spacing: 0em;
  width: 100%;
  margin-bottom: 20px !important; }
  .cw-damier-paragraph h2:first-child, .cw-damier-paragraph h2 span:first-child {
    margin-top: 0 !important; }

.cw-damier-paragraph .content {
  z-index: 1; }

.cw-damier-paragraph .col-txt .content a:not([class*="dropdown-item"]) {
  color: #fff; }
  .cw-damier-paragraph .col-txt .content a:not([class*="dropdown-item"]):hover {
    color: #d68100; }

.cw-damier-paragraph .field--name-field-damier-background-image, .cw-damier-paragraph .field--name-field-damier-background-parallax {
  opacity: 0;
  position: absolute; }
  .cw-damier-paragraph .field--name-field-damier-background-image > .row, .cw-damier-paragraph .field--name-field-damier-background-parallax > .row {
    position: relative; }

.cw-damier-paragraph .row {
  background-size: cover;
  background-repeat: no-repeat; }

[class*="cw-boxshadow-field"] .field {
  overflow: initial;
  box-shadow: none; }

.cw-boxshadow-field .field--type-image img {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.cw-boxshadow-field-1 .field--type-image img {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1); }

.cw-boxshadow-field-2 .field--type-image img {
  box-shadow: 0 0.8rem 1.4rem rgba(0, 0, 0, 0.08); }

.cw-damier-paragraph .col-media {
  padding: 0 30px 30px; }
  .cw-damier-paragraph .col-media .content {
    height: 100%; }

.cw-damier-paragraph .col-media-full .col-media .field--name-field-damier-image {
  display: flex;
  overflow: initial;
  box-shadow: none; }
  .cw-damier-paragraph .col-media-full .col-media .field--name-field-damier-image img {
    object-fit: cover;
    width: 100%; }

.cw-damier-paragraph .col-media-center .col-media .content {
  min-height: auto; }

@media (max-width: 575.98px) {
  .field--name-field-damier-paragraph-media > .container > .row {
    margin: 0; }
    .field--name-field-damier-paragraph-media > .container > .row .accordion {
      padding-left: 30px;
      padding-right: 30px;
      padding-bottom: 30px; } }

@media (min-width: 576px) and (max-width: 991.98px) {
  .cw-damier-paragraph .col-media {
    padding: 0 30px 3.75rem; }
    .cw-damier-paragraph .col-media .content {
      max-width: 576px; }
  .cw-damier-paragraph .col-txt .content, .cw-damier-paragraph .col-media .content {
    max-width: 576px; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"] {
    margin: 3.75rem auto 0;
    max-width: 576px; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"][class*="offset-"] {
    margin: 3.75rem auto; } }

@media (min-width: 992px) {
  .cw-damier-paragraph > .row > div {
    display: flex;
    min-height: 500px;
    width: 100%; }
  .cw-damier-paragraph .col-md-7 .content, .cw-damier-paragraph .col-md-8 .content, .cw-damier-paragraph .col-md-9 .content, .cw-damier-paragraph .col-md-10 .content {
    max-width: 100%; }
  .cw-damier-paragraph .col-txt, .cw-damier-paragraph .col-media {
    justify-content: center; }
  .cw-damier-paragraph .col-media {
    padding: 0; }
  .cw-damier-paragraph .damier-center-texte-media .col-txt {
    justify-content: flex-end; }
  .cw-damier-paragraph .damier-center-texte-media .col-media {
    justify-content: flex-start; }
  .cw-damier-paragraph .col-txt {
    padding: 4rem 50px; }
    .cw-damier-paragraph .col-txt .content {
      max-width: 550px; }
      .cw-damier-paragraph .col-txt .content .cw-damier-title {
        font-size: 1.7rem !important; }
  .cw-damier-paragraph .col-txt[class*="cw-bg-"][class*="offset-"] {
    margin-left: 0;
    flex: 0 0 100%;
    max-width: 100%; }
  .cw-damier-paragraph .col-media .content {
    max-width: 960px; }
  .cw-damier-paragraph .col-media-full .col-txt {
    padding: 4rem 100px 4rem 50px; }
    .cw-damier-paragraph .col-media-full .col-txt[class*="offset-"] {
      padding: 4rem 50px;
      justify-content: center; }
  .cw-damier-paragraph .flex-lg-row-reverse.damier-center-texte-media .col-media {
    justify-content: flex-end; }
  .cw-damier-paragraph .flex-lg-row-reverse.damier-center-texte-media .col-txt {
    justify-content: flex-start; }
  .cw-damier-paragraph .col-media-full .content .field--name-field-damier-image {
    height: 100%; }
  .cw-damier-paragraph .col-media-center .col-media {
    padding: 4rem 50px;
    display: flex; }
  .cw-damier-paragraph .col-media-center .col-media .content {
    max-width: 550px;
    display: flex;
    align-items: center;
    justify-content: center; } }

.cw-damier-paragraph .col-md-6col-txt, .cw-damier-paragraph .col-md-6.col-media-center {
  padding: 4rem 100px; }

.cw-damier-paragraph .beer-slider {
  display: block;
  margin: 0; }

.cw-damier-paragraph .col-media .content, .cw-damier-paragraph .field--name-field-damier-paragraph-media {
  width: 100%; }

.cw-damier-paragraph .field[class*="-galerie-videos"] {
  padding: 0; }
  .cw-damier-paragraph .field[class*="-galerie-videos"] .field__item {
    width: 100%;
    margin: 0; }

@media (min-width: 992px) {
  .cw-damier-paragraph .col-media-full .embed-responsive {
    min-height: 500px; } }

.field--name-field-damier-paragraph-media .container, .field--name-field-damier-paragraph-media .container-sm, .field--name-field-damier-paragraph-media .container-md {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0; }

/************** ******* **************/
/************** OPTIONS **************/
/************** ******* **************/
@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: #1E1E1E;
      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 #FF9900;
    border-bottom: 3px dotted #FF9900; }
  .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 #FF9900;
    border-top: 3px dotted #FF9900;
    border-bottom: 3px dotted #FF9900; }
  .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 #FF9900;
    border-top: 3px dotted #FF9900; }
  .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(255, 153, 0, 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: #FF9900;
      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(255, 255, 255, 0.5) 0, rgba(255, 255, 255, 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: #ff9900; }
      .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: 500;
    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: 600;
    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: #FF9900; }
    .cw-timeline-vertical .cw-element-svg svg {
      width: 42px;
      height: 42px; }
  .cw-timeline-vertical .cw-element-title {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0em;
    color: #FF9900; }
  .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: #fff; }

@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: #fff; }
    .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: 600;
      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: #171717; }
  .accordion.cw-bg-two .card, .accordion.cw-bg-two .card-header button {
    background-color: #1E1E1E; }
  .accordion.cw-bg-gray .card, .accordion.cw-bg-gray .card-header button {
    background-color: #1b1b1b; }
  .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-1-col {
  padding-left: 15px;
  padding-right: 15px; }

.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: #0a0a0a !important;
  color: #fff; }

.accordion .card-custom-one .card-body {
  background-color: #171717 !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: #050505 !important;
  color: #fff; }

.accordion .card-custom-two .card-body {
  background-color: #1E1E1E !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: #1E1E1E !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, #1E1E1E 0%, rgba(30, 30, 30, 0.9) 0%, rgba(30, 30, 30, 0.8) 50%, rgba(30, 30, 30, 0.8) 70%); }
  .accordion .card.accordion-img-bg .card-title, .accordion .card.accordion-img-bg .accordion-card-desc {
    color: #fff; }
  .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, #1E1E1E 0%, #1E1E1E 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, #1E1E1E 0%, #1E1E1E 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: #ff9900;
  background-color: #ff9900; }
  #navbar-top .content {
    color: #111111; }
    #navbar-top .content a {
      color: #111111; }
  #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: 35px;
    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: #111111;
  background-color: #111111;
  -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;
    -webkit-align-items: center;
    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: #fff; }
  .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; }
  .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; }
    .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: #fff;
    width: 22px;
    height: 2px;
    border-radius: 3px;
    margin-top: 5px;
    margin-bottom: 5px; }
  .navbar .navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
    background: #fff; }
  .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: uppercase;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: 0em;
    color: white;
    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: #FF9900;
    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: #171717;
    background-color: #171717;
    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: white;
        color: white; }
      .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: #FF9900; }
      .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: #111111;
  background-color: #111111; }

/**
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-brand {
    display: none; }
  .navbar .site-name {
    display: none; }
  .navbar .site-slogan {
    display: none; }
  .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: #111111; }
    .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: #FF9900; }
    .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 #1e1e1e; }
  .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: #FF9900;
    background-color: transparent; }
  .navbar .navbar-collapse .nav:after {
    display: none; }
  .navbar .navbar-collapse > nav {
    width: 100%; }
  #navbar-top {
    z-index: 9999;
    height: 35px; }
    #navbar-top #block-informationsnavbar {
      width: auto; }
  .menu--main {
    min-height: 100px;
    -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(100px - (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: flex; }
    #navbar-main .navbar-logo img {
      max-height: calc(100px - 20px); }
  #navbar-main .site-name {
    display: none; }
  #navbar-main .site-slogan {
    display: none; }
  #navbar-main .navbar-brand {
    display: none; }
  #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: 80px; }
    .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(80px - 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(80px - 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 **************/
/************** ******* **************/
.navbar nav.menu--secondary .nav li a {
  color: #111111; }

.navbar nav.menu--secondary .nav > li > a.is-active,
.navbar nav.menu--secondary .nav > li > a:hover,
.navbar nav.menu--secondary .nav > li > a:focus,
.navbar nav.menu--secondary .nav > li > a.active-trail,
.navbar nav.menu--secondary .nav > li.active > a,
.navbar nav.menu--secondary .nav > li.active > a:hover,
.navbar nav.menu--secondary .nav > li.active > a:focus {
  color: #111111; }

@media (min-width: 992px) {
  #navbar-main .menu--secondary {
    -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;
    position: absolute;
    top: -35px;
    right: 0;
    z-index: 9999;
    width: 40vw; }
    #navbar-main .menu--secondary a {
      font-size: calc(1rem - 0.05rem);
      padding: 7px 14px;
      height: 35px; }
  .affix-scroll #navbar-top {
    -moz-transition: height 0.4s ease-in-out;
    -o-transition: height 0.4s ease-in-out;
    -webkit-transition: height 0.4s ease-in-out;
    transition: height 0.4s ease-in-out;
    height: 35px; }
  .affix-scroll #navbar-main .menu--secondary {
    -moz-transition: top 0.4s ease-in-out;
    -o-transition: top 0.4s ease-in-out;
    -webkit-transition: top 0.4s ease-in-out;
    transition: top 0.4s ease-in-out;
    top: -35px; }
    .affix-scroll #navbar-main .menu--secondary a {
      -moz-transition: height 0.4s ease-in-out;
      -o-transition: height 0.4s ease-in-out;
      -webkit-transition: height 0.4s ease-in-out;
      transition: height 0.4s ease-in-out;
      height: 35px; } }

.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; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(4) {
    background-image: url("../images/carousel/c4-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(5) {
    background-image: url("../images/carousel/c5-mob.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(6) {
    background-image: url("../images/carousel/c6-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-fr .carousel-item:nth-child(4) {
    background-image: url("../images/carousel/c4.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(5) {
    background-image: url("../images/carousel/c5.jpg");
    background-position: center center; }
  .jumbotron-carousel.jumbotron-carousel-fr .carousel-item:nth-child(6) {
    background-image: url("../images/carousel/c6.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: 500;
  font-size: 1.2rem; }

.cw-carousel-txt .auteur {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1.4rem; }

.cw-carousel-txt .carousel-indicators li {
  background-color: rgba(255, 153, 0, 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(255, 153, 0, 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 - 35px); }

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

.jumbotron-denomination {
  color: white;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15); }
  .jumbotron-denomination strong {
    font-weight: 600; }

.jumbotron-slogan {
  color: white;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15); }
  .jumbotron-slogan strong {
    font-weight: 500; }

.jumbotron-telephone a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15); }
  .jumbotron-telephone a:hover {
    color: #fff; }

.jumbotron-adresse a {
  color: rgba(255, 255, 255, 0.85);
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none;
  text-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15); }
  .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.15)); }
    .jumbotron-bouton-1 a:hover {
      color: #fff; }

.jumbotron-bouton-2 {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0em;
  text-transform: none; }
  .jumbotron-bouton-2 a {
    color: rgba(255, 255, 255, 0.85);
    filter: drop-shadow(0px 3px 4px rgba(0, 0, 0, 0.15)); }
    .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 - 100px - 35px); }
  .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(1.9rem - 0.5rem); }
  .jumbotron-denomination {
    font-size: 2.8rem; }
  .jumbotron-slogan {
    font-size: 1.9rem; } }

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

.jumbotron-slogan {
  margin-top: 1.5rem; }

.jumbotron-adresse {
  margin-top: 5px; }

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

.jumbotron-bouton-1 {
  margin-top: 1.5rem; }

.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: 1.5rem; }
  .jumbotron-adresse {
    margin-top: 0; }
  .jumbotron-telephone {
    margin-top: 0; }
  .jumbotron-bouton-1 {
    margin-top: 1.5rem; }
  .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: 1rem; }
  .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 - 35px - 118px); }

.jumbotron-bloc-principal {
  text-align: center; }
  .jumbotron-bloc-principal .field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 0;
    min-height: calc(100vh - 60px - 35px - 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: 52px; }

@media (max-width: 575.98px) {
  .not-front .jumbotron-logo img {
    max-height: 200px; } }

@media (min-width: 992px) {
  .region-jumbotron {
    min-height: calc(100vh - 100px - 35px); }
  .jumbotron-bloc-principal .field {
    min-height: calc(100vh - 100px - 35px - 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 [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 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(0, 0, 0, 0.3); }
  .jumbotron-bloc-infos .content {
    padding: 15px 0.5rem;
    margin: auto;
    width: 70%;
    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 **************/
/************** ******* **************/
@media (max-width: 767.98px) {
  .jumbotron-carousel {
    display: none; }
  .region-jumbotron {
    background-image: url("../images/carousel/c1-mob.jpg"); }
    .region-jumbotron .jumbotron-bloc-principal {
      width: 80%; } }

@media (min-width: 768px) {
  .jumbotron-bloc-principal {
    width: 70%; } }

.jumbotron-carousel .carousel-item:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0, rgba(0, 0, 0, 0.65) 0, rgba(0, 0, 0, 0.65) 100%); }

@media (min-width: 992px) {
  .not-front .jumbotron-bloc-principal:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0, rgba(0, 0, 0, 0.65) 100%); }
  .jumbotron-carousel .carousel-item:after {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0, rgba(0, 0, 0, 0.65) 100%); } }

@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.65) 0, rgba(0, 0, 0, 0.65) 100%); } }

.region-footer-second {
  background-color: #171717; }

.block-ft-coordonnees {
  background-color: transparent; }

.block-wf-contact {
  background-color: transparent; }

.ft-denomination {
  color: #fff; }

.ft-slogan {
  color: #fff; }

.ft-adresse {
  color: #fff; }

.ft-telephone a {
  color: #fff; }
  .ft-telephone a:hover {
    color: #FF9900; }

.ft-horaire {
  color: #fff; }

.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: #111111; }

.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: 600;
  color: #FF9900; }

.h1, h1 {
  position: relative;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-transform: none;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #FF9900;
  text-align: center;
  margin: 0 0 60px; }
  .h1 span, h1 span {
    display: inline-block;
    font-weight: 600; }

.h2, h2, .title-h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  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: #FF9900;
  text-decoration: none; }
  a:hover {
    color: #ffad33;
    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;
  bottom: 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: #FF9900;
  color: #111111;
  padding: 10px 30px;
  font-size: 0.7rem;
  line-height: 1;
  border-radius: 4px; }

@media (min-width: 992px) {
  #main {
    padding-top: 4rem; }
  .not-front #main {
    padding-bottom: 4rem; } }

.block-addtoany {
  text-align: center; }
  .block-addtoany .title-h4 {
    color: #fff; }
  .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: #FF9900;
      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: 600;
  text-transform: none;
  font-size: 2.04rem;
  line-height: 1.3;
  letter-spacing: 0em;
  color: #FF9900;
  margin-bottom: 15px; }

.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: #fff; }
  .block-call-to-action .cta-number b {
    font-weight: 500; }
  .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: #fff;
    text-decoration: none; }
    .block-call-to-action .cta-number a:hover {
      color: white;
      text-decoration: none; }

.block-call-to-action-adresse {
  line-height: 1.2em;
  padding: 0 15px;
  color: #fff; }

.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: 300;
    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: 600;
      text-transform: none;
      font-size: 1.7rem;
      line-height: 1.3;
      letter-spacing: 0em;
      color: #FF9900; }
  [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.75) 0%, rgba(0, 0, 0, 0.75) 100%); }

.block-parallax-front {
  background-image: url("../images/parallax-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"); } }

@media (min-width: 992px) {
  [class*="block-parallax-"] {
    min-height: 85vh; } }

.region-featured-bottom-first {
  background-color: transparent;
  position: relative; }

.region-featured-bottom-second {
  background-color: transparent; }

.block-forces {
  color: #fff;
  background: #171717; }
  .block-forces .title-h2 {
    position: relative;
    z-index: 1;
    color: #FF9900; }
  .block-forces .fa {
    font-size: 85px; }
  .block-forces .srv-title {
    font-size: 20px; }

.block-references {
  position: relative;
  color: #fff;
  background: #171717; }
  .block-references .title-h2 {
    position: relative;
    z-index: 1;
    color: #FF9900; }

/************** ******************** **************/
/************** MAP : VOIR CATALOGUE **************/
/************** ******************** **************/
.region-footer-third {
  background-color: #1E1E1E; }

.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: #fff; }
  .block-map-intervention .title-h2 {
    color: #FF9900; }
    .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: #FF9900; }

@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: 500;
  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: #fff; }

.map-slogan {
  color: #fff; }

.map-adresse {
  color: #fff; }

.map-telephone a {
  color: #fff; }
  .map-telephone a:hover {
    color: #FF9900; }

.map-horaire {
  color: #fff; }

.map-mail a {
  color: #fff; }
  .map-mail a:hover {
    color: #FF9900; }

.form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: white; }
  .form-control:not([class*="button"])::placeholder {
    color: white;
    text-transform: initial; }
  .form-control:not([class*="button"]):hover, .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .form-control:not([class*="button"]):hover::placeholder, .form-control:not([class*="button"]):focus::placeholder {
      color: #fff; }

.flb-block .form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: #2d2d2d; }
  .flb-block .form-control:not([class*="button"])::placeholder {
    color: #adadad; }
  .flb-block .form-control:not([class*="button"]):hover, .flb-block .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .flb-block .form-control:not([class*="button"]):hover::placeholder, .flb-block .form-control:not([class*="button"]):focus::placeholder {
      color: #fff; }

.block-wf-contact .form-control:not([class*="button"]) {
  background-color: #f9f9f9;
  color: white; }
  .block-wf-contact .form-control:not([class*="button"])::placeholder {
    color: white; }
  .block-wf-contact .form-control:not([class*="button"]):hover, .block-wf-contact .form-control:not([class*="button"]):focus {
    outline: solid 1px #f1f1f1; }
    .block-wf-contact .form-control:not([class*="button"]):hover::placeholder, .block-wf-contact .form-control:not([class*="button"]):focus::placeholder {
      color: #fff; }

.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: #FF9900;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-transform: none;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0em;
  text-align: center; }

.block-wf-contact .text-muted {
  color: #4d2e00 !important; }
  .block-wf-contact .text-muted a {
    color: #cc7a00; }
    .block-wf-contact .text-muted a:hover {
      color: #FF9900; }

.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: #171717; }
  .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 .cw-card-title {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    text-transform: none;
    font-size: 1.3rem;
    line-height: 1em;
    letter-spacing: 0em; }
  .block-actualites .view-header {
    position: relative;
    font-size: 1rem;
    font-weight: 500;
    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: #fff;
  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%; } }

#block-googlereviewslist {
  background-color: #f9f9f9;
  padding-top: 3rem;
  padding-bottom: 3rem; }
  #block-googlereviewslist .title-h2, #block-googlereviewslist .reviews-container {
    max-width: 1500px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center; }
  #block-googlereviewslist .title-h2 {
    margin-top: 0;
    margin-bottom: 1.5em; }
    #block-googlereviewslist .title-h2:after {
      content: '';
      background-image: url("../images/logo-google.png");
      background-size: contain;
      background-repeat: no-repeat;
      position: relative;
      top: 2px;
      height: 44px;
      max-height: 1.25em;
      width: 137px;
      max-width: 3.8em;
      margin-left: 0.25em; }
  #block-googlereviewslist .reviews-container {
    flex-wrap: wrap;
    gap: 20px; }
  #block-googlereviewslist .review-container {
    min-height: 250px;
    width: 450px;
    max-width: 100%;
    background-color: #fff;
    padding: 30px 40px;
    margin-bottom: 0; }
    #block-googlereviewslist .review-container a {
      display: flex;
      flex-direction: column; }
  #block-googlereviewslist .review-rating-container {
    position: relative; }
    #block-googlereviewslist .review-rating-container .review-author-name {
      position: absolute;
      top: 16px;
      left: 58px;
      color: #000000; }
  #block-googlereviewslist .review-rating {
    margin-top: 12px; }
  #block-googlereviewslist .review-date {
    color: #adadad;
    font-size: 13px;
    align-self: end;
    margin-bottom: 1px; }
  #block-googlereviewslist .stars-wrapper svg {
    height: 13px; }
    #block-googlereviewslist .stars-wrapper svg path {
      fill: #e8bf2a; }
    #block-googlereviewslist .stars-wrapper svg:last-child {
      display: none; }
  #block-googlereviewslist .review-text {
    margin-top: 10px;
    display: -webkit-box;
    line-clamp: 5;
    -webkit-line-clamp: 5;
    /* Nombre de lignes */
    -webkit-box-orient: vertical;
    overflow: hidden; }

@media (min-width: 992px) {
  #block-googlereviewslist {
    padding-top: 4rem;
    padding-bottom: 4rem; }
    #block-googlereviewslist .review-container {
      min-height: 265px; } }

/**********************************************************************************************************/
/*****    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: #FF9900; }

@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%; } }

.multi-bloc-style-1 .multibloc-title, .multi-bloc-style-1-background-1 .multibloc-title, .multi-bloc-style-1-background-2 .multibloc-title {
  margin-top: 0;
  text-align: center; }

.multi-bloc-style-1 .multibloc-img, .multi-bloc-style-1-background-1 .multibloc-img, .multi-bloc-style-1-background-2 .multibloc-img {
  margin-bottom: 2rem;
  text-align: center; }
  .multi-bloc-style-1 .multibloc-img img, .multi-bloc-style-1-background-1 .multibloc-img img, .multi-bloc-style-1-background-2 .multibloc-img img {
    border-radius: 0.25rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08); }

.multi-bloc-style-1 .multibloc-text, .multi-bloc-style-1-background-1 .multibloc-text, .multi-bloc-style-1-background-2 .multibloc-text {
  padding-left: 15px;
  padding-right: 15px; }

.multi-bloc-style-1 .field[class*="-galerie-photos"], .multi-bloc-style-1 .field[class*="-galerie-videos"], .multi-bloc-style-1-background-1 .field[class*="-galerie-photos"], .multi-bloc-style-1-background-1 .field[class*="-galerie-videos"], .multi-bloc-style-1-background-2 .field[class*="-galerie-photos"], .multi-bloc-style-1-background-2 .field[class*="-galerie-videos"] {
  padding: 2rem 0 0; }

.multi-bloc-style-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"], .multi-bloc-style-1-background-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1-background-1 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"], .multi-bloc-style-1-background-2 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-photos"], .multi-bloc-style-1-background-2 .multibloc[class*="cw-grid-col-"] .field[class*="-galerie-videos"] {
  padding: 0; }

.multi-bloc-style-1 .multibloc {
  padding-left: 30px;
  padding-right: 30px; }

.multi-bloc-style-1-background-1 .multibloc-content {
  padding: 0.5%; }

.multi-bloc-style-1-background-1 .multibloc-img {
  padding: 0.5%; }

.multi-bloc-style-1-background-1 .multibloc-text {
  padding: 0; }

.multi-bloc-style-1-background-1 .multibloc {
  padding: 30px;
  border-radius: 0.075rem;
  background: #1b1b1b; }

.multi-bloc-style-1-background-2 .multibloc-content {
  border-radius: 0.075rem;
  background: #1b1b1b;
  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; }

.page-multi-bloc {
  justify-content: center; }

.page-multi-bloc-margin .multibloc:nth-last-child(1n+2) {
  margin-bottom: 6rem; }

[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(100px + 180px); }

.flb-block {
  display: flex;
  flex-direction: row;
  position: fixed;
  right: -1px;
  top: 180px;
  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: 500;
    font-size: 14px;
    letter-spacing: 0em;
    text-transform: uppercase;
    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: #ff9900;
    background-color: #ff9900;
    position: relative;
    width: 40px;
    height: fit-content;
    padding: 15px;
    border-radius: 0.25rem 0 0 0.25rem;
    margin: 0;
    color: #111111;
    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: #171717;
    background-color: #171717;
    box-shadow: -5px 7px 25px 0px rgba(0, 0, 0, 0.1);
    box-sizing: content-box;
    width: 270px;
    max-height: calc(100vh - 100px - 180px);
    overflow: hidden;
    border-radius: 0 0 0 0.25rem; }
    .flb-block .flb-content .flb-wrapper {
      color: #fff;
      padding: 15px;
      width: 270px;
      max-height: 100vh;
      overflow-x: hidden;
      overflow-y: auto; }
      .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: 600;
      text-transform: none;
      font-size: 1.25rem;
      line-height: 1.2;
      letter-spacing: 0em;
      color: #FF9900; }
    .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: 600;
      text-transform: none;
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: 0em; }
      .flb-block .flb-content .block-float-telephone span {
        color: #FF9900; }
    .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: 0;
    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: 0;
      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(255, 153, 0, 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: white; }

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

.field--name-field-avt-aprs-container-bloc {
  padding: 3rem 0 0; }

.avant-apres-galerie-photo {
  display: flex;
  justify-content: center; }

.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: #fff; }

.avisgo-background {
  background-color: white;
  box-shadow: 3px 17px 20px 7px #1a468f12; }

.avisgo-border {
  border: 1px solid #fff; }

.avisgo-avis-note b {
  color: #f68200; }

.avisgo-avis .avisgo-avis-title a {
  color: #fff; }

.parallax .cw-pictos .picto {
  height: 200px;
  width: 200px;
  padding: 5%;
  border-radius: 4px; }

.parallax .cw-pictos > div {
  margin: 25px 15px !important; }

.parallax .cw-pictos .picto-legende {
  font-weight: 600;
  font-size: 0.8rem;
  max-width: 352px; }

.block-call-to-action .cta-number {
  padding-top: 15px;
  padding-bottom: 6px; }

.block-addtoany {
  text-align: center;
  padding-top: 0; }

.block-addtoany {
  margin-top: 28px; }

.block-call-to-action .title-h2 {
  margin-bottom: 0 !important; }

.breadcrumb-item.active {
  color: #FF9900; }

.block-references .cw-pictos .picto {
  width: 250px;
  height: 116px;
  padding: 2%; }

.block-references .cw-pictos-md > div {
  max-width: 215px; }

#block-googlereviewslist {
  background: #111111; }
  #block-googlereviewslist .title-h2 {
    color: #FF9900 !important; }
  #block-googlereviewslist .review-container {
    background: #292929;
    color: #fff; }
  #block-googlereviewslist .review-rating-container {
    width: 100%;
    color: #fff; }
  #block-googlereviewslist .review-author-name {
    color: #fff !important; }

.block-wf-contact .text-muted {
  color: #797673 !important; }

#block-avisgolastavis .avisgo-background {
  background: #111111;
  color: #fff; }

#block-avisgolastavis .title-h2 {
  color: #FF9900; }

#block-avisgolastavis .avisgo-border {
  border: none; }

#block-avisgolastavis .avisgo-background {
  box-shadow: none; }

#block-avisgolastavis .avisgo-last-avis-link a {
  text-transform: uppercase; }

.sf-articles-rows.cw-card-rows .cw-card, .galeries-rows.cw-card-rows .cw-card {
  background-color: #171717; }

.avisgo-background {
  color: #111111; }
  .avisgo-background .title-h2 {
    color: #FF9900; }

.avisgo-border {
  border: none; }

.avisgo-last-avis-link a {
  text-transform: uppercase; }

#block-cw-sass-bs4-content .btn-primary:hover, #block-cw-sass-bs4-content .btn-primary:active, #block-cw-sass-bs4-content .btn-primary:focus {
  background: #d68100; }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .parallax .cw-pictos .picto {
    height: 180px;
    width: 180px !important; }
  .parallax .cw-pictos .picto-legende {
    font-size: 0.7rem; }
  .block-references .cw-pictos-md > div {
    max-width: 150px; }
  .block-references .cw-pictos .picto {
    width: 147px; } }

@media (max-width: 991.98px) {
  .parallax .cw-pictos > div {
    margin: 25px; } }

@media (min-width: 992px) {
  .not-front .jumbotron-bloc-principal-child-1 {
    flex: 0.7 !important; }
  .not-front .jumbotron-bloc-principal-child-2 {
    flex: 0.3 !important; }
  .not-front .region-jumbotron .jumbotron-bloc-principal {
    width: 75%; } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .not-front .region-jumbotron .jumbotron-bloc-principal {
    width: 80%; }
  .parallax .cw-pictos {
    justify-content: center !important; } }

#navbar-top #block-informationsnavbar .content .fas {
  font-size: 16px; }

#navbar-top #block-informationsnavbar .content a {
  font-weight: 600; }

#navbar-top #block-informationsnavbar .content .adresse a {
  font-weight: 400; }

@media (max-width: 1563px) and (min-width: 1358px) {
  .parallax .cw-pictos .picto {
    height: 170px;
    width: 170px;
    padding: 4%; } }

@media (max-width: 1358px) and (min-width: 1200px) {
  .parallax .cw-pictos .picto {
    height: 148px;
    width: 148px;
    padding: 4%; }
  .parallax .cw-pictos .picto-legende {
    max-width: 240px; } }

@media (max-width: 767.98px) {
  .block-references .cw-pictos-md > div {
    max-width: 100%; }
  .parallax .cw-pictos > div {
    width: 100%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvX2NvbXBhc3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fZ3JhZGllbnRfc3VwcG9ydC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2NvbnN0YW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9jb2xvci9fY29udHJhc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL19nZW5lcmFsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19yZXNldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9yZXNldC9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3N1cHBvcnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy9nZW5lcmFsL190YWctY2xvdWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL2dlbmVyYWwvX21pbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvX3Nwcml0ZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3Nwcml0ZXMvX3Nwcml0ZS1pbWcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdXRpbGl0aWVzL3RhYmxlcy9fYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvdGFibGVzL19ib3JkZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3V0aWxpdGllcy90YWJsZXMvX3NjYWZmb2xkaW5nLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvbGlua3MvX2hvdmVyLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fbGluay1jb2xvcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saW5rcy9fdW5zdHlsZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L19saXN0cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19ob3Jpem9udGFsLWxpc3Quc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9saXN0cy9fYnVsbGV0cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L2xpc3RzL19pbmxpbmUtYmxvY2stbGlzdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS90ZXh0L19lbGxpcHNpcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX25vd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L3RleHQvX3JlcGxhY2VtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvdGV4dC9fZm9yY2Utd3JhcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy90eXBvZ3JhcGh5L192ZXJ0aWNhbF9yaHl0aG0uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvbGF5b3V0L19ncmlkLWJhY2tncm91bmQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faW1hZ2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtc2l6ZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fY3NzMy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX29wYWNpdHkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19iYWNrZ3JvdW5kLW9yaWdpbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2h5cGhlbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi9jbGlrZW53ZWIvRDlfMjAyMS9fdGhlbWluZ19kZXZfZmlsZXMvY3dfc2Fzc19iczQvbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZpbHRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vY2xpa2Vud2ViL0Q5XzIwMjEvX3RoZW1pbmdfZGV2X2ZpbGVzL2N3X3Nhc3NfYnM0L25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19waWUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdXNlci1pbnRlcmZhY2Uuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uL2NsaWtlbndlYi9EOV8yMDIxL190aGVtaW5nX2Rldl9maWxlcy9jd19zYXNzX2JzNC9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmxleGJveC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19vcHRpb25zLnNjc3MiLCJ2YXJpYWJsZXMvX29wdGlvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbG9yLXN5c3RlbS5zY3NzIiwidmFyaWFibGVzL19jb2xvcnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3NwYWNpbmcuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2dyaWQuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NvbXBvbmVudHMuc2NzcyIsInZhcmlhYmxlcy9fc2l6ZXMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fdGFibGVzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLWZvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19idXR0b25zLnNjc3MiLCJ2YXJpYWJsZXMvX2J1dHRvbnMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2Zvcm1zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19uYXYtbmF2YmFyLnNjc3MiLCJ2YXJpYWJsZXMvX25hdmJhci5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9fZHJvcGRvd25zLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19wYWdpbmF0aW9uLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19qdW1ib3Ryb24uc2NzcyIsInZhcmlhYmxlcy9fanVtYm90cm9uLnNjc3MiLCJ2YXJpYWJsZXMvX2p1bWJvdHJvbi1hbmRyb21lZGUuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2NhcmRzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L190b2FzdHMuc2NzcyIsInZhcmlhYmxlcy9ib290c3RyYXAtY3cvX2JyZWFkY3J1bWJzLnNjc3MiLCJ2YXJpYWJsZXMvYm9vdHN0cmFwLWN3L19jYXJvdXNlbC5zY3NzIiwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9pbXBvcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tZWRpYS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9faW50ZXJhY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsInRvb2xzL19taXhpbi5zY3NzIiwidG9vbHMvX21peGluLWJ1dHRvbnMuc2NzcyIsInRvb2xzL19idXR0b25zLXdpZHRoLnNjc3MiLCJ0b29scy9fb3BhY2l0eS5zY3NzIiwidG9vbHMvX2J1dHRvbnMuc2NzcyIsInRvb2xzL19jdy1hbGlnbi5zY3NzIiwidG9vbHMvX2N3LWJveC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctYm94LnNjc3MiLCJ0b29scy9fY3ctbW9kZWwuc2NzcyIsInRvb2xzL3F1ZXJpZXMvX2N3LW1vZGVsLnNjc3MiLCJ0b29scy9fY3ctc2hhcGUtZGl2aWRlci5zY3NzIiwidG9vbHMvX2N3LXNwYWNpbmcuc2NzcyIsInRvb2xzL19jdy10b29scy5zY3NzIiwidG9vbHMvX2N3LXR4dC5zY3NzIiwidG9vbHMvcXVlcmllcy9fY3ctdHh0LnNjc3MiLCJ0b29scy9fY3ctY2hpbGRyZW4uc2NzcyIsInRvb2xzL19jdy1jbGlwLXBhdGguc2NzcyIsInRvb2xzL19jb2xvcmJveC5zY3NzIiwidG9vbHMvX2FuaW1fZm9ybS5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL19hbmltYXRlLnNjc3MiLCJ0b29scy9hbmltYXRpb24vX2NvcmUuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9fc2hhcmVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fYXR0ZW50aW9uLXNlZWtlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19ib3VuY2luZy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvYm91bmNpbmcvX2JvdW5jaW5nLWV4aXRzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9ib3VuY2luZy9fYm91bmNpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmFkaW5nLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9mYWRpbmcvX2ZhZGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvZmFkaW5nL19mYWRpbmctZW50cmFuY2VzLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fZmxpcHBlcnMuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL19saWdodHNwZWVkLnNjc3MiLCJ0b29scy9hbmltYXRpb24vYW5pbWF0ZS9fcm90YXRpbmcuc2NzcyIsInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlL3JvdGF0aW5nL19yb3RhdGluZy1leGl0cy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvcm90YXRpbmcvX3JvdGF0aW5nLWVudHJhbmNlcy5zY3NzIiwidG9vbHMvYW5pbWF0aW9uL2FuaW1hdGUvX3NwZWNpYWxzLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1ib2R5LWRlZmF1bHQuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctYm9keS1kZWZhdWx0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1icmVhZGNydW1iLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWFuZHJvbWVkZS5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctY2FyZC1ib2RlLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jYXJkLWZpbGUuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWNvbmZpZy1jYXJkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1jb250ZXh0LnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXIuc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvcXVlcmllcy9fY3ctZGFtaWVyLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1kYW1pZXItcGFyYWdyYXBoLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L3F1ZXJpZXMvX2N3LWRhbWllci1wYXJhZ3JhcGguc2NzcyIsImdhYmFyaXRzL2NvbnRlbnQvX2N3LWRhbWllci1udW1iZXJzLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy1ncmlkLnNjc3MiLCJnYWJhcml0cy9jb250ZW50L19jdy10aW1lbGluZS5zY3NzIiwiZ2FiYXJpdHMvY29udGVudC9fY3ctYWNjb3JkaW9uLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL19uYXZiYXIuc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvcXVlcmllcy9fbmF2YmFyLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL19uYXZiYXItb3B0aW9ucy5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9fY2Fyb3VzZWwuc2NzcyIsImdhYmFyaXRzL2hlYWRlcnMvX2p1bWJvdHJvbi5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvX2p1bWJvdHJvbi1hbmRyb21lZGUtbmF2YmFyLnNjc3MiLCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvX2p1bWJvdHJvbi1hbmRyb21lZGUtYmxvYy1pbmZvcy5zY3NzIiwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYW5kcm9tZWRlL19qdW1ib3Ryb24tYW5kcm9tZWRlLWNhcm91c2VsLnNjc3MiLCJnYWJhcml0cy9mb290ZXJzL19mb290ZXIuc2NzcyIsImdhYmFyaXRzL2Zvb3RlcnMvX2Zvb3Rlci1hbmRyb21lZGUuc2NzcyIsImdhYmFyaXRzL2JvdHRvbXMvX2JvdHRvbS1kZWZhdWx0LnNjc3MiLCJtb2R1bGVzL19yZWJvb3Quc2NzcyIsIm1vZHVsZXMvX2FkbWluLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19hZGR0b2FueS5zY3NzIiwibW9kdWxlcy9fY2FsbC10b2FjdGlvbi5zY3NzIiwibW9kdWxlcy9fcGFyYWxsYXguc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fcGFyYWxsYXguc2NzcyIsIm1vZHVsZXMvX2ZlYXR1cmVkLnNjc3MiLCJtb2R1bGVzL19tYXAuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fbWFwLnNjc3MiLCJtb2R1bGVzL19tYXAtd2l0aC1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb3JtLnNjc3MiLCJtb2R1bGVzL19hY3R1YWxpdGVzLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2FjdHVhbGl0ZXMuc2NzcyIsIm1vZHVsZXMvX2dhbGVyaWUuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fZ2FsZXJpZS5zY3NzIiwibW9kdWxlcy9fZ29vZ2xlLXJldmlld3Muc2NzcyIsIm1vZHVsZXMvX21hc29ucnkuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fbWFzb25yeS5zY3NzIiwibW9kdWxlcy9fbXVsdGktYmxvYy5zY3NzIiwibW9kdWxlcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvcXVlcmllcy9fc29yZWYuc2NzcyIsIm1vZHVsZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL3F1ZXJpZXMvX2Zsb2F0LWJsb2NrLnNjc3MiLCJtb2R1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2R1bGVzL19jb29raWUtcmdwZC5zY3NzIiwibW9kdWxlcy9fYXZhbnQtYXByZXMuc2NzcyIsIm1vZHVsZXMvX2F2aXNnb19jb25maWcuc2NzcyIsIl9zdXJjaGFyZ2UtZGV2LnNjc3MiLCJfc3VyY2hhcmdlLXByb2Quc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb21wYXNzIG1peGluc1xuQGltcG9ydCBcImNvbXBhc3NcIjtcblxuLy9AaW1wb3J0IHVybChmb250LWF3ZXNvbWUubWluLmNzcyk7XG5cbi8vIHZhcmlhYmxlcy5cbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7IC8vYm9vdHN0cmFwXG5AaW1wb3J0IFwidmFyaWFibGVzL3ZhcmlhYmxlc1wiOyAvL2N3XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC1jdy9pbXBvcnRcIjsgLy9ib290c3RyYXBcbi8vQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9tZGJvb3RzdHJhcC9zY3NzL21kYi1mcmVlLnNjc3NcIjsgLy9tYXRlcmlhbCBkZXNpZ24gYm9vdHN0cmFwXG5cbi8vIENXIE1peGluXG5AaW1wb3J0IFwidG9vbHMvbWl4aW5cIjtcbkBpbXBvcnQgXCJ0b29scy9taXhpbi1idXR0b25zXCI7XG5AaW1wb3J0IFwidG9vbHMvYnV0dG9ucy13aWR0aFwiO1xuQGltcG9ydCBcInRvb2xzL29wYWNpdHlcIjtcblxuLy8gQ1cgVG9vbHMuXG5AaW1wb3J0IFwidG9vbHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcInRvb2xzL2N3LWFsaWduXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctYm94XCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctbW9kZWxcIjtcbkBpbXBvcnQgXCJ0b29scy9jdy1zaGFwZS1kaXZpZGVyXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctc3BhY2luZ1wiO1xuQGltcG9ydCBcInRvb2xzL2N3LXRvb2xzXCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctdHh0XCI7XG5AaW1wb3J0IFwidG9vbHMvY3ctY2hpbGRyZW5cIjtcbkBpbXBvcnQgXCJ0b29scy9jdy1jbGlwLXBhdGhcIjtcbkBpbXBvcnQgXCJ0b29scy9jb2xvcmJveFwiO1xuQGltcG9ydCBcInRvb2xzL2FuaW1fZm9ybVwiO1xuQGltcG9ydCBcInRvb2xzL2FuaW1hdGlvbi9hbmltYXRlXCI7XG5cbi8vIEdhYmFyaXRzXG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1ib2R5LWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmQtYW5kcm9tZWRlXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1jYXJkLWJvZGVcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNhcmQtZmlsZVwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctY29uZmlnLWNhcmRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWNvbnRleHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWRhbWllclwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctZGFtaWVyLXBhcmFncmFwaFwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2NvbnRlbnQvY3ctZGFtaWVyLW51bWJlcnNcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LWdyaWRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9jb250ZW50L2N3LXRpbWVsaW5lXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvY29udGVudC9jdy1hY2NvcmRpb25cIjtcblxuLy8gQ2F0YWxvZ3VlIEhlYWRlcnNcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL25hdmJhclwiO1xuQGltcG9ydCBcImdhYmFyaXRzL2hlYWRlcnMvbmF2YmFyLW9wdGlvbnNcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL2Nhcm91c2VsXCI7XG5AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9oZWFkZXJzL2p1bWJvdHJvbi1hbmRyb21lZGUvanVtYm90cm9uLWFuZHJvbWVkZVwiO1xuLy9AaW1wb3J0IFwiZ2FiYXJpdHMvaGVhZGVycy9qdW1ib3Ryb24tYm9kZS9qdW1ib3Ryb24tYm9kZVwiOyAvKihkw6ljb21tZW50ZXIgQGltcG9ydCBcImp1bWJvdHJvbi1ib2RlXCI7IGRhbnMgX3ZhcmlhYmxlcy5zY3NzKSovXG5cbi8vIENhdGFsb2d1ZSBGb290ZXJzXG5AaW1wb3J0IFwiZ2FiYXJpdHMvZm9vdGVycy9mb290ZXJcIjtcbi8vQGltcG9ydCBcImdhYmFyaXRzL2Zvb3RlcnMvZm9vdGVyLWRlZmF1bHRcIjtcbkBpbXBvcnQgXCJnYWJhcml0cy9mb290ZXJzL2Zvb3Rlci1hbmRyb21lZGVcIjtcblxuLy8gQ2F0YWxvZ3VlIEJvdHRvbVxuQGltcG9ydCBcImdhYmFyaXRzL2JvdHRvbXMvYm90dG9tLWRlZmF1bHRcIjtcblxuLy8gQ1cgVGhlbWluZ1xuQGltcG9ydCBcIm1vZHVsZXMvcmVib290XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hZG1pblwiO1xuXG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hZGR0b2FueVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2FsbC10b2FjdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFyYWxsYXhcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2ZlYXR1cmVkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYXBcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21hcC13aXRoLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvcm1cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2FjdHVhbGl0ZXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2dhbGVyaWVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2dvb2dsZS1yZXZpZXdzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYXNvbnJ5XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tdWx0aS1ibG9jXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zb3JlZlwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZmxvYXQtYmxvY2tcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Nvb2tpZS1yZ3BkXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hdmFudC1hcHJlc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvYXZpc2dvX2NvbmZpZ1wiO1xuXG4vLyBTdXJjaGFyZ2VcbkBpbXBvcnQgJ3N1cmNoYXJnZS1kZXYnO1xuQGltcG9ydCAnc3VyY2hhcmdlLXByb2QnO1xuIiwiQGltcG9ydCBcImNvbXBhc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiY29tcGFzcy91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJjb21wYXNzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wYXNzL2NzczNcIjtcbiIsIkBpbXBvcnQgXCJmdW5jdGlvbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dyYWRpZW50X3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29uc3RhbnRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29sb3JzXCI7XG4iLCIvL1xuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGxpc3QgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9saXN0cy5yYlxuLy9cblxuXG4vLyBjb21wYWN0IGlzIHBhcnQgb2YgbGlic2Fzc1xuXG5AZnVuY3Rpb24gLWNvbXBhc3MtbnRoKCRsaXN0LCAkcGxhY2UpIHtcbiAgLy8gWWVwLCBTYXNzLWxpc3RzIGFyZSAxLWluZGV4ZWQuXG4gIEBpZiAkcGxhY2UgPT0gXCJmaXJzdFwiIHtcbiAgICAkcGxhY2U6IDE7XG4gIH1cbiAgQGlmICRwbGFjZSA9PSBcImxhc3RcIiB7XG4gICAgJHBsYWNlOiBsZW5ndGgoJGxpc3QpO1xuICB9XG4gIEByZXR1cm4gbnRoKCRsaXN0LCAkcGxhY2UpO1xufVxuXG4vLyBjb21wYXNzX2xpc3QgY2FuJ3QgYmUgaW1wbGVtZW50ZWQgaW4gc2FzcyBzY3JpcHRcblxuQGZ1bmN0aW9uIC1jb21wYXNzLXNwYWNlLWxpc3QoJGl0ZW0xLCAkaXRlbTI6bnVsbCwgJGl0ZW0zOm51bGwsICRpdGVtNDpudWxsLCAkaXRlbTU6bnVsbCwgJGl0ZW02Om51bGwsICRpdGVtNzpudWxsLCAkaXRlbTg6bnVsbCwgJGl0ZW05Om51bGwpIHtcbiAgJGl0ZW1zOiAoKTtcbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkaXRlbTEpID09ICdsaXN0JyB7XG4gICAgLy8gUGFzc2luZyBhIHNpbmdsZSBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICAgICRpdGVtczogJGl0ZW0xO1xuICB9IEBlbHNlIHtcbiAgICAkaXRlbXM6ICRpdGVtMSAkaXRlbTIgJGl0ZW0zICRpdGVtNCAkaXRlbTUgJGl0ZW02ICRpdGVtNyAkaXRlbTggJGl0ZW05O1xuICB9XG5cbiAgJGZ1bGw6IGZpcnN0LXZhbHVlLW9mKCRpdGVtcyk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGl0ZW1zKSB7XG4gICAgJGl0ZW06IG50aCgkaXRlbXMsICRpKTtcbiAgICBAaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkZnVsbDogJGZ1bGwgJGl0ZW07XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIC1jb21wYXNzLWxpc3Qtc2l6ZSgkbGlzdCkge1xuICBAcmV0dXJuIGxlbmd0aCgkbGlzdCk7XG59XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1zbGljZSgkbGlzdCwgJHN0YXJ0LCAkZW5kOiBmYWxzZSkge1xuICBAaWYgJGVuZCA9PSBmYWxzZSB7XG4gICAgJGVuZDogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICAkZnVsbDogbnRoKCRsaXN0LCAkc3RhcnQpO1xuICBAZm9yICRpIGZyb20gJHN0YXJ0ICsgMSB0aHJvdWdoICRlbmQge1xuICAgICRmdWxsOiAkZnVsbCwgbnRoKCRsaXN0LCAkaSk7XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIHJlamVjdCgkbGlzdCwgJHJlamVjdDEsICRyZWplY3QyOm51bGwsICRyZWplY3QzOm51bGwsICRyZWplY3Q0Om51bGwsICRyZWplY3Q1Om51bGwsICRyZWplY3Q2Om51bGwsICRyZWplY3Q3Om51bGwsICRyZWplY3Q4Om51bGwsICRyZWplY3Q5Om51bGwpIHtcbiAgJHJlamVjdHM6ICRyZWplY3QxLCAkcmVqZWN0MiwgJHJlamVjdDMsICRyZWplY3Q0LCAkcmVqZWN0NSwgJHJlamVjdDYsICRyZWplY3Q3LCAkcmVqZWN0OCwgJHJlamVjdDk7XG5cbiAgJGZ1bGw6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIGluZGV4KCRyZWplY3RzLCAkaXRlbSkge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJGZ1bGwge1xuICAgICAgICAkZnVsbDogJGZ1bGwsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZnVsbDogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiBmaXJzdC12YWx1ZS1vZigkbGlzdCkge1xuICBAcmV0dXJuIG50aCgkbGlzdCwgMSk7XG59XG5cbkBmdW5jdGlvbiBjb21wYWN0KCR2YXJzLi4uKSB7XG4gICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YXJzKTtcbiAgJGxpc3Q6ICgpO1xuICBAZWFjaCAkdmFyIGluICR2YXJzIHtcbiAgICAgIEBpZiAkdmFyIHtcbiAgICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkdmFyLCAkc2VwYXJhdG9yKTtcbiAgICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY3Jvc3MgYnJvd3NlciBzdXBwb3J0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnJiXG4vLyBcblxuQGZ1bmN0aW9uIHByZWZpeGVkKCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICAkcHJlZml4ZWQ6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09ICdzdHJpbmcnIHtcbiAgICAgICRwcmVmaXhlZDogJHByZWZpeGVkIG9yIHN0ci1pbmRleCgkaXRlbSwgJ3VybCcpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJ3JnYicpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJyMnKSAhPSAxO1xuICAgIH0gQGVsc2VpZiB0eXBlLW9mKCRpdGVtKSA9PSAnY29sb3InIHtcbiAgICB9IEBlbHNlaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkcHJlZml4ZWQ6IHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByZWZpeGVkO1xufVxuXG5AZnVuY3Rpb24gcHJlZml4KCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiBcIlwiO1xuXG4gIC8vIFN1cHBvcnQgZm9yIHBvbHltb3JwaGlzbS5cbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5MSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTE7XG4gIH0gQGVsc2Uge1xuICAgIC8vIFBhc3NpbmcgbXVsdGlwbGUgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgfVxuXG4gICRwcm9wczogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJGl0ZW0gPT0gbnVsbCB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBwcmVmaXhlZCgkcHJlZml4LCAkaXRlbSkge1xuICAgICAgICAkaXRlbTogI3skcHJlZml4fS0jeyRpdGVtfTtcbiAgICAgIH1cbiAgICAgIEBpZiAkcHJvcHMge1xuICAgICAgICAkcHJvcHM6ICRwcm9wcywgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwcm9wczogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByb3BzO1xufVxuXG5AZnVuY3Rpb24gLXN2ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXN2ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW93ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW93ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXdlYmtpdCgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXdlYmtpdCcsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW1veigkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW1veicsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW8oJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtcGllKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctcGllJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBncmFkaWVudCBzdXBwb3J0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2IvdjAuMTIuMi9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2dyYWRpZW50X3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gY29sb3Itc3RvcHMoJGl0ZW0xLCAkaXRlbTI6bnVsbCwgJGl0ZW0zOm51bGwsICRpdGVtNDpudWxsLCAkaXRlbTU6bnVsbCwgJGl0ZW02Om51bGwsICRpdGVtNzpudWxsLCAkaXRlbTg6bnVsbCwgJGl0ZW05Om51bGwpIHtcbiAgJGl0ZW1zOiAkaXRlbTIsICRpdGVtMywgJGl0ZW00LCAkaXRlbTUsICRpdGVtNiwgJGl0ZW03LCAkaXRlbTgsICRpdGVtOTtcbiAgJGZ1bGw6ICRpdGVtMTtcbiAgQGVhY2ggJGl0ZW0gaW4gJGl0ZW1zIHtcbiAgICBAaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkZnVsbDogJGZ1bGwsICRpdGVtO1xuICAgIH0gICAgXG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn0iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb25zdGFudHMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jb25zdGFudHMucmJcbi8vIFxuXG5AZnVuY3Rpb24gb3Bwb3NpdGUtcG9zaXRpb24oJGZyb20pIHtcbiAgICBAaWYgKCRmcm9tID09IHRvcCkge1xuICAgICAgICBAcmV0dXJuIGJvdHRvbTtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBib3R0b20pIHtcbiAgICAgICAgQHJldHVybiB0b3A7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gbGVmdCkge1xuICAgICAgICBAcmV0dXJuIHJpZ2h0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IHJpZ2h0KSB7XG4gICAgICAgIEByZXR1cm4gbGVmdDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBjZW50ZXIpIHtcbiAgICAgICAgQHJldHVybiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgZGlzcGxheSBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9jb3JlL2xpYi9jb21wYXNzL2NvcmUvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9kaXNwbGF5LnJiXG4vLyBcblxuQGZ1bmN0aW9uIGVsZW1lbnRzLW9mLXR5cGUoJHR5cGUpe1xuICAgIEBpZiAoJHR5cGUgPT0gYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGFkZHJlc3MsIGFydGljbGUsIGFzaWRlLCBibG9ja3F1b3RlLCBjZW50ZXIsIGRpciwgZGl2LCBkZCwgZGV0YWlscywgZGwsIGR0LCBmaWVsZHNldCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb3JtLCBmb290ZXIsIGZyYW1lc2V0LCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBociwgaGVhZGVyLCBoZ3JvdXAsIGlzaW5kZXgsIG1haW4sIG1lbnUsIG5hdiwgbm9mcmFtZXMsIG5vc2NyaXB0LCBvbCwgcCwgcHJlLCBzZWN0aW9uLCBzdW1tYXJ5LCB1bDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBpbmxpbmUpe1xuICAgICAgICBAcmV0dXJuIGEsIGFiYnIsIGFjcm9ueW0sIGF1ZGlvLCBiLCBiYXNlZm9udCwgYmRvLCBiaWcsIGJyLCBjYW52YXMsIGNpdGUsIGNvZGUsIGNvbW1hbmQsIGRhdGFsaXN0LCBkZm4sIGVtLCBlbWJlZCwgZm9udCwgaSwgaW1nLCBpbnB1dCwga2V5Z2VuLCBrYmQsIGxhYmVsLCBtYXJrLCBtZXRlciwgb3V0cHV0LCBwcm9ncmVzcywgcSwgcnAsIHJ0LCBydWJ5LCBzLCBzYW1wLCBzZWxlY3QsIHNtYWxsLCBzcGFuLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHRleHRhcmVhLCB0aW1lLCB0dCwgdSwgdmFyLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGlubGluZS1ibG9jayl7XG4gICAgICAgIEByZXR1cm4gaW1nO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlKXtcbiAgICAgICAgQHJldHVybiB0YWJsZTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBsaXN0LWl0ZW0pe1xuICAgICAgICBAcmV0dXJuIGxpO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLXJvdy1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGJvZHk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtaGVhZGVyLWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0aGVhZDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1mb290ZXItZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRmb290O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLXJvdyl7XG4gICAgICAgIEByZXR1cm4gdHI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtY2VsbCl7XG4gICAgICAgIEByZXR1cm4gdGgsIHRkO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1LWJsb2NrKXtcbiAgICAgICAgQHJldHVybiBhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUtaW5saW5lKXtcbiAgICAgICAgQHJldHVybiBhdWRpbywgY2FudmFzLCBjb21tYW5kLCBkYXRhbGlzdCwgZW1iZWQsIGtleWdlbiwgbWFyaywgbWV0ZXIsIG91dHB1dCwgcHJvZ3Jlc3MsIHJwLCBydCwgcnVieSwgdGltZSwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNSl7XG4gICAgICAgIEByZXR1cm4gYXJ0aWNsZSwgYXNpZGUsIGF1ZGlvLCBjYW52YXMsIGNvbW1hbmQsIGRhdGFsaXN0LCBkZXRhaWxzLCBlbWJlZCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBrZXlnZW4sIG1haW4sIG1hcmssIG1lbnUsIG1ldGVyLCBuYXYsIG91dHB1dCwgcHJvZ3Jlc3MsIHJwLCBydCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0ZXh0LWlucHV0KXtcbiAgICAgICAgQHJldHVybiBpbnB1dCwgdGV4dGFyZWE7XG4gICAgfVxufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY29sb3JzIGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2NvcmUvbGliL2NvbXBhc3MvY29yZS9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbG9ycy5yYlxuLy9cblxuLy8gYSBnZW5lcmljaXplZCB2ZXJzaW9uIG9mIGxpZ2h0ZW4vZGFya2VuIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1saWdodG5lc3MoJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBhZGp1c3QtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkYW1vdW50KTtcbn1cblxuLy8gU2NhbGVzIGEgY29sb3IncyBsaWdodG5lc3MgYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIHNjYWxlZCBkYXJrZXIsIGlmIHBvc2l0aXZlLCBpdCBpcyBzY2FsZWQgbGlnaHRlci5cbi8vIFRoaXMgd2lsbCBuZXZlciByZXR1cm4gYSBwdXJlIGxpZ2h0IG9yIGRhcmsgY29sb3IgdW5sZXNzIHRoZSBhbW91bnQgaXMgMTAwJS5cbkBmdW5jdGlvbiBzY2FsZS1saWdodG5lc3MoJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2Ygc2F0dXJhdGUvZGVzYXR1cmF0ZSBzbyB0aGF0IG5lZ2F0aXZlIHZhbHVlcyBjYW4gYmUgdXNlZC5cbkBmdW5jdGlvbiBhZGp1c3Qtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRzYXR1cmF0aW9uOiAkYW1vdW50KTtcbn1cblxuLy8gU2NhbGVzIGEgY29sb3IncyBzYXR1cmF0aW9uIGJ5IHNvbWUgcGVyY2VudGFnZS5cbi8vIElmIHRoZSBhbW91bnQgaXMgbmVnYXRpdmUsIHRoZSBjb2xvciBpcyBkZXNhdHVyYXRlZCwgaWYgcG9zaXRpdmUsIGl0IGlzIHNhdHVyYXRlZC5cbi8vIFRoaXMgd2lsbCBuZXZlciByZXR1cm4gYSBwdXJlIHNhdHVyYXRlZCBvciBkZXNhdHVyYXRlZCBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLXNhdHVyYXRpb24oJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRzYXR1cmF0aW9uOiAkYW1vdW50KTtcbn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgICBAcmV0dXJuIG1peCgjMDAwMDAwLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCNmZmZmZmYsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2NvbG9yXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2dlbmVyYWxcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc3ByaXRlc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy90YWJsZXNcIjtcblxuLy8gZGVwcmVjYXRlZFxuQGltcG9ydCBcInR5cG9ncmFwaHkvbGlua3NcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpc3RzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS90ZXh0XCI7XG4iLCJAaW1wb3J0IFwiY29sb3IvY29udHJhc3RcIjsiLCIkY29udHJhc3RlZC1kYXJrLWRlZmF1bHQ6ICAgIzAwMCAhZGVmYXVsdDtcbiRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQ6ICAjZmZmICFkZWZhdWx0O1xuJGNvbnRyYXN0ZWQtbGlnaHRuZXNzLXRocmVzaG9sZDogMzAlICFkZWZhdWx0O1xuXG4vLyBSZXR1cm5zIHRoZSBgJGxpZ2h0YCBjb2xvciB3aGVuIHRoZSBgJGNvbG9yYCBpcyBkYXJrXG4vLyBhbmQgdGhlIGAkZGFya2AgY29sb3Igd2hlbiB0aGUgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLyBUaGUgYCR0aHJlc2hvbGRgIGlzIGEgcGVyY2VudCBiZXR3ZWVuIGAwJWAgYW5kIGAxMDAlYCBhbmQgaXQgZGV0ZXJtaW5lc1xuLy8gd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuXG5AZnVuY3Rpb24gY29udHJhc3QtY29sb3IoXG4gICRjb2xvcixcbiAgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCxcbiAgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LFxuICAkdGhyZXNob2xkOiAkY29udHJhc3RlZC1saWdodG5lc3MtdGhyZXNob2xkXG4pIHtcbiAgQHJldHVybiBpZihsaWdodG5lc3MoJGNvbG9yKSA8ICR0aHJlc2hvbGQsICRsaWdodCwgJGRhcmspXG59XG5cbi8vIFNldHMgdGhlIHNwZWNpZmllZCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBjYWxjdWxhdGVzIGEgZGFyayBvciBsaWdodCBjb250cmFzdGVkIHRleHQgY29sb3IuXG4vLyBUaGUgYXJndW1lbnRzIGFyZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgW2NvbnRyYXN0LWNvbG9yIGZ1bmN0aW9uXSgjZnVuY3Rpb24tY29udHJhc3QtY29sb3IpLlxuQG1peGluIGNvbnRyYXN0ZWQoXG4gICRiYWNrZ3JvdW5kLWNvbG9yLFxuICAkZGFyazogJGNvbnRyYXN0ZWQtZGFyay1kZWZhdWx0LFxuICAkbGlnaHQ6ICRjb250cmFzdGVkLWxpZ2h0LWRlZmF1bHQsXG4gICR0aHJlc2hvbGQ6ICRjb250cmFzdGVkLWxpZ2h0bmVzcy10aHJlc2hvbGRcbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6IGNvbnRyYXN0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCAkZGFyaywgJGxpZ2h0LCAkdGhyZXNob2xkKTtcbn0iLCJAaW1wb3J0IFwiZ2VuZXJhbC9yZXNldFwiO1xuQGltcG9ydCBcImdlbmVyYWwvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL2Zsb2F0XCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC90YWctY2xvdWRcIjtcbkBpbXBvcnQgXCJnZW5lcmFsL2hhY2tzXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC9taW5cIjtcbiIsIi8vIFRoaXMgbW9kdWxlIGhhcyBtb3ZlZC5cbkBpbXBvcnQgXCIuLi8uLi9yZXNldC91dGlsaXRpZXNcIjtcbiIsIi8vIEJhc2VkIG9uIFtFcmljIE1leWVyJ3MgcmVzZXQgMi4wXShodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L2luZGV4Lmh0bWwpXG4vLyBHbG9iYWwgcmVzZXQgcnVsZXMuXG4vLyBGb3IgbW9yZSBzcGVjaWZpYyByZXNldHMsIHVzZSB0aGUgcmVzZXQgbWl4aW5zIHByb3ZpZGVkIGJlbG93XG5AbWl4aW4gZ2xvYmFsLXJlc2V0IHtcbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBiLCB1LCBpLCBjZW50ZXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbiAgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIFxuICBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxuICBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbiAgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNldC1ib3gtbW9kZWw7XG4gICAgQGluY2x1ZGUgcmVzZXQtZm9udDsgfVxuICAvLyBVbmxpa2UgRXJpYydzIG9yaWdpbmFsIHJlc2V0LCB3ZSByZXNldCB0aGUgaHRtbCBlbGVtZW50IHRvIGJlIGNvbXBhdGlibGVcbiAgLy8gd2l0aCB0aGUgdmVydGljYWwgcmh5dGhtIG1peGlucy5cbiAgaHRtbCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm9keTsgfVxuICBvbCwgdWwge1xuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGU7IH1cbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlOyB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGUtY2VsbDsgfVxuICBxLCBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSByZXNldC1xdW90YXRpb247IH1cbiAgYSBpbWcge1xuICAgIEBpbmNsdWRlIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXI7IH1cbiAgQGluY2x1ZGUgcmVzZXQtaHRtbDU7IH1cblxuLy8gUmVzZXQgYWxsIGVsZW1lbnRzIHdpdGhpbiBzb21lIHNlbGVjdG9yIHNjb3BlLiBUbyByZXNldCB0aGUgc2VsZWN0b3IgaXRzZWxmLFxuLy8gbWl4aW4gdGhlIGFwcHJvcHJpYXRlIHJlc2V0IG1peGluIGZvciB0aGF0IGVsZW1lbnQgdHlwZSBhcyB3ZWxsLiBUaGlzIGNvdWxkIGJlXG4vLyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gc3R5bGUgYSBwYXJ0IG9mIHlvdXIgcGFnZSBpbiBhIGRyYW1hdGljYWxseSBkaWZmZXJlbnQgd2F5LlxuQG1peGluIG5lc3RlZC1yZXNldCB7XG4gIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuICBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG4gIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbiAgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbiAgYiwgdSwgaSwgY2VudGVyLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuICBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbiAgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG4gIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbiAgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBcbiAgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG4gIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIEBpbmNsdWRlIHJlc2V0LWZvbnQ7IH1cbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlOyB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGUtY2VsbDsgfVxuICBxLCBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSByZXNldC1xdW90YXRpb247IH1cbiAgYSBpbWcge1xuICAgIEBpbmNsdWRlIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXI7IH0gfVxuXG4vLyBSZXNldCB0aGUgYm94IG1vZGVsIG1lYXN1cmVtZW50cy5cbkBtaXhpbiByZXNldC1ib3gtbW9kZWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG4vLyBSZXNldCB0aGUgZm9udCBhbmQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIHJlc2V0LWZvbnQge1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vLyBSZXNldHMgdGhlIG91dGxpbmUgd2hlbiBmb2N1cy5cbi8vIEZvciBhY2Nlc3NpYmlsaXR5IHlvdSBuZWVkIHRvIGFwcGx5IHNvbWUgc3R5bGluZyBpbiBpdHMgcGxhY2UuXG5AbWl4aW4gcmVzZXQtZm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8vIFJlc2V0IGEgYm9keSBlbGVtZW50LlxuQG1peGluIHJlc2V0LWJvZHkge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4vLyBSZXNldCB0aGUgbGlzdCBzdHlsZSBvZiBhbiBlbGVtZW50LlxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8vIFJlc2V0IGEgdGFibGVcbkBtaXhpbiByZXNldC10YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbi8vIFJlc2V0IGEgdGFibGUgY2VsbCAoYHRoYCwgYHRkYClcbkBtaXhpbiByZXNldC10YWJsZS1jZWxsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vLyBSZXNldCBhIHF1b3RhdGlvbiAoYHFgLCBgYmxvY2txdW90ZWApXG5AbWl4aW4gcmVzZXQtcXVvdGF0aW9uIHtcbiAgcXVvdGVzOiBub25lO1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgXG4gICAgY29udGVudDogbm9uZTsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgYm9yZGVyLlxuQG1peGluIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXIge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLy8gVW5yZWNvZ25pemVkIGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgaW5saW5lLlxuLy8gVGhpcyByZXNldCBwcm92aWRlcyBhIGJhc2ljIHJlc2V0IGZvciBibG9jayBodG1sNSBlbGVtZW50c1xuLy8gc28gdGhleSBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IGluIGJyb3dzZXJzIHRoYXQgZG9uJ3QgcmVjb2duaXplIHRoZW1cbi8vIGFuZCByZXNldCBpbiBicm93c2VycyB0aGF0IGhhdmUgZGVmYXVsdCBzdHlsZXMgZm9yIHRoZW0uXG5AbWl4aW4gcmVzZXQtaHRtbDUge1xuICAje2VsZW1lbnRzLW9mLXR5cGUoaHRtbDUtYmxvY2spfSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vLyBSZXNldHMgdGhlIGRpc3BsYXkgb2YgaW5saW5lIGFuZCBibG9jayBlbGVtZW50cyB0byB0aGVpciBkZWZhdWx0IGRpc3BsYXlcbi8vIGFjY29yZGluZyB0byB0aGVpciB0YWcgdHlwZS4gRWxlbWVudHMgdGhhdCBoYXZlIGEgZGVmYXVsdCBkaXNwbGF5IHRoYXQgdmFyaWVzIGFjcm9zc1xuLy8gdmVyc2lvbnMgb2YgaHRtbCBvciBicm93c2VyIGFyZSBub3QgaGFuZGxlZCBoZXJlLCBidXQgdGhpcyBjb3ZlcnMgdGhlIDkwJSB1c2UgY2FzZS5cbi8vIFVzYWdlIEV4YW1wbGU6XG4vL1xuLy8gICAgIC8vIFR1cm4gb2ZmIHRoZSBkaXNwbGF5IGZvciBib3RoIG9mIHRoZXNlIGNsYXNzZXNcbi8vICAgICAudW5yZWdpc3RlcmVkLW9ubHksIC5yZWdpc3RlcmVkLW9ubHlcbi8vICAgICAgIGRpc3BsYXk6IG5vbmVcbi8vICAgICAvLyBOb3cgdHVybiBvbmx5IG9uZSBvZiB0aGVtIGJhY2sgb24gZGVwZW5kaW5nIG9uIHNvbWUgb3RoZXIgY29udGV4dC5cbi8vICAgICBib2R5LnJlZ2lzdGVyZWRcbi8vICAgICAgICtyZXNldC1kaXNwbGF5KFwiLnJlZ2lzdGVyZWQtb25seVwiKVxuLy8gICAgIGJvZHkudW5yZWdpc3RlcmVkXG4vLyAgICAgICArcmVzZXQtZGlzcGxheShcIi51bnJlZ2lzdGVyZWQtb25seVwiKVxuQG1peGluIHJlc2V0LWRpc3BsYXkoJHNlbGVjdG9yOiBcIlwiLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAje2FwcGVuZC1zZWxlY3RvcihlbGVtZW50cy1vZi10eXBlKFwiaW5saW5lXCIpLCAkc2VsZWN0b3IpfSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAje2FwcGVuZC1zZWxlY3RvcihlbGVtZW50cy1vZi10eXBlKFwiYmxvY2tcIiksICRzZWxlY3Rvcil9IHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfSB9XG4iLCIvLyBAZG9jIG9mZlxuLy8gRXh0ZW5kcyB0aGUgYm90dG9tIG9mIHRoZSBlbGVtZW50IHRvIGVuY2xvc2UgYW55IGZsb2F0cyBpdCBjb250YWlucy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vIFRoaXMgYmFzaWMgbWV0aG9kIGlzIHByZWZlcnJlZCBmb3IgdGhlIHVzdWFsIGNhc2UsIHdoZW4gcG9zaXRpb25lZFxuLy8gY29udGVudCB3aWxsIG5vdCBzaG93IG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyLlxuLy9cbi8vIFJlY29tbWVuZGF0aW9ucyBpbmNsdWRlIHVzaW5nIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBhIHdpZHRoLlxuLy8gQ3JlZGl0OiBbcXVpcmtzbW9kZS5vcmddKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDA1LzAzL2NsZWFyaW5nX2Zsb2F0cy5odG1sKVxuQG1peGluIGNsZWFyZml4IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cblxuLy8gVGhpcyBvbGRlciBtZXRob2QgZnJvbSBQb3NpdGlvbiBJcyBFdmVyeXRoaW5nIGNhbGxlZFxuLy8gW0Vhc3kgQ2xlYXJpbmddKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2Vhc3ljbGVhcmluZy5odG1sKVxuLy8gaGFzIHRoZSBhZHZhbnRhZ2Ugb2YgYWxsb3dpbmcgcG9zaXRpb25lZCBlbGVtZW50cyB0byBoYW5nXG4vLyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIGNvbnRhaW5lciBhdCB0aGUgZXhwZW5zZSBvZiBtb3JlIHRyaWNreSBDU1MuXG5AbWl4aW4gbGVnYWN5LXBpZS1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQgICAgOiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXkgICAgOiBibG9jaztcbiAgICBoZWlnaHQgICAgIDogMDtcbiAgICBjbGVhciAgICAgIDogYm90aDtcbiAgICBvdmVyZmxvdyAgIDogaGlkZGVuO1xuICAgIHZpc2liaWxpdHkgOiBoaWRkZW47XG4gIH1cbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cblxuLy8gVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFBJRSBjbGVhcmZpeCBtZXRob2QgdGhhdCByZWR1Y2VzIHRoZSBhbW91bnQgb2YgQ1NTIG91dHB1dC5cbi8vIElmIHlvdSBuZWVkIHRvIHN1cHBvcnQgRmlyZWZveCBiZWZvcmUgMy41IHlvdSBuZWVkIHRvIHVzZSBgbGVnYWN5LXBpZS1jbGVhcmZpeGAgaW5zdGVhZC5cbi8vXG4vLyBBZGFwdGVkIGZyb206IFtBIG5ldyBtaWNybyBjbGVhcmZpeCBoYWNrXShodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8pXG5AbWl4aW4gcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuIiwiQGltcG9ydCBcIi4uLy4uL3N1cHBvcnRcIjtcblxuLy8gVGhlIGB6b29tYCBhcHByb2FjaCBnZW5lcmF0ZXMgbGVzcyBDU1MgYnV0IGRvZXMgbm90IHZhbGlkYXRlLlxuLy8gU2V0IHRoaXMgdG8gYGJsb2NrYCB0byB1c2UgdGhlIGRpc3BsYXktcHJvcGVydHkgdG8gaGFjayB0aGVcbi8vIGVsZW1lbnQgdG8gZ2FpbiBsYXlvdXQuXG4kZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoOiB6b29tICFkZWZhdWx0O1xuXG4vLyBUaGlzIG1peGluIGNhdXNlcyBhbiBlbGVtZW50IG1hdGNoaW5nIHRoZSBzZWxlY3RvclxuLy8gdG8gZ2FpbiB0aGUgXCJoYXNMYXlvdXRcIiBwcm9wZXJ0eSBpbiBpbnRlcm5ldCBleHBsb3Jlci5cbi8vIE1vcmUgaW5mb3JtYXRpb24gb24gW2hhc0xheW91dF0oaHR0cDovL3JlZmVyZW5jZS5zaXRlcG9pbnQuY29tL2Nzcy9oYXNsYXlvdXQpLlxuQG1peGluIGhhcy1sYXlvdXQoJGFwcHJvYWNoOiAkZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICBAaWYgJGFwcHJvYWNoID09IHpvb20ge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH0gQGVsc2UgaWYgJGFwcHJvYWNoID09IGJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtYmxvY2s7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcIlVua25vd24gaGFzLWxheW91dCBhcHByb2FjaDogI3skYXBwcm9hY2h9XCI7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LXpvb20ge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcge1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LWJsb2NrIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIC8vIFRoaXMgbWFrZXMgaWU2IGdldCBsYXlvdXRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gYW5kIHRoaXMgcHV0cyBpdCBiYWNrIHRvIGJsb2NrXG4gICAgJiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbn1cblxuLy8gQSBoYWNrIHRvIHN1cHBseSBJRTYgKGFuZCBiZWxvdykgd2l0aCBhIGRpZmZlcmVudCBwcm9wZXJ0eSB2YWx1ZS5cbi8vIFtSZWFkIG1vcmVdKGh0dHA6Ly93d3cuY3NzcG9ydGFsLmNvbS9jc3MtaGFja3MvI2luX2Nzcy1pbXBvcnRhbnQpLlxuQG1peGluIGJhbmctaGFjaygkcHJvcGVydHksICR2YWx1ZSwgJGllNi12YWx1ZSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYge1xuICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgI3skcHJvcGVydHl9OiAjeyRpZTYtdmFsdWV9O1xuICB9XG59XG4iLCIvLyBVc3VhbGx5IGNvbXBhc3MgaGFja3MgYXBwbHkgdG8gYm90aCBpZTYgJiA3IC0tIHNldCB0aGlzIHRvIGZhbHNlIHRvIGRpc2FibGUgc3VwcG9ydCBmb3IgYm90aC5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGllNiBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTY6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGllNyBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTc6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiBzbWFsbGVyIG91dHB1dCwgYnV0IG5vIHN1cHBvcnQgZm9yIGxlZ2FjeSBpZTggaGFja3NcbiRsZWdhY3ktc3VwcG9ydC1mb3ItaWU4OiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllICFkZWZhdWx0O1xuXG4vLyBAcHJpdmF0ZVxuLy8gVGhlIHVzZXIgY2FuIHNpbXBseSBzZXQgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSBhbmQgNiwgNywgYW5kIDggd2lsbCBiZSBzZXQgYWNjb3JkaW5nbHksXG4vLyBCdXQgaW4gY2FzZSB0aGUgdXNlciBzZXQgZWFjaCBvZiB0aG9zZSBleHBsaWNpdGx5LCB3ZSBuZWVkIHRvIHN5bmMgdGhlIHZhbHVlIG9mXG4vLyB0aGlzIGNvbWJpbmVkIHZhcmlhYmxlLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg7XG5cbi8vIFdoZXRoZXIgdG8gb3V0cHV0IGxlZ2FjeSBzdXBwb3J0IGZvciBtb3ppbGxhLlxuLy8gVXN1YWxseSB0aGlzIG1lYW5zIGhhY2tzIHRvIHN1cHBvcnQgRmlyZWZveCAzLjYgb3IgZWFybGllci5cbiRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYTogdHJ1ZTtcblxuLy8gU3VwcG9ydCBmb3IgbW96aWxsYSBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbW96KS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHdlYmtpdCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtd2Via2l0KS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHdlYmtpdCdzIG9yaWdpbmFsIChub24tc3RhbmRhcmQpIGdyYWRpZW50IHN5bnRheC5cbiRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIG9wZXJhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1vKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIG1pY3Jvc29mdCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgtbXMpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Iga2h0bWwgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLWtodG1sKS5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBzdmcgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcy5cbi8vIFNldHRpbmcgdGhpcyB0byB0cnVlIG1pZ2h0IGFkZCBzaWduaWZpY2FudCBzaXplIHRvIHlvdXJcbi8vIGdlbmVyYXRlZCBzdHlsZXNoZWV0cy5cbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBDU1MgUElFIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1waWUpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vIEltcGxlbWVudGF0aW9uIG9mIGZsb2F0OmxlZnQgd2l0aCBmaXggZm9yIHRoZVxuLy8gW2RvdWJsZS1tYXJnaW4gYnVnIGluIElFNS82XShodHRwOi8vd3d3LnBvc2l0aW9uaXNldmVyeXRoaW5nLm5ldC9leHBsb3Jlci9kb3VibGVkLW1hcmdpbi5odG1sKVxuQG1peGluIGZsb2F0LWxlZnQge1xuICBAaW5jbHVkZSBmbG9hdChsZWZ0KTsgfVxuXG4vLyBJbXBsZW1lbnRhdGlvbiBvZiBmbG9hdDpyaWdodCB3aXRoIGZpeCBmb3IgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBAaW5jbHVkZSBmbG9hdChyaWdodCk7IH1cblxuLy8gRGlyZWN0aW9uIGluZGVwZW5kZW50IGZsb2F0IG1peGluIHRoYXQgZml4ZXMgdGhlXG4vLyBbZG91YmxlLW1hcmdpbiBidWcgaW4gSUU1LzZdKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2V4cGxvcmVyL2RvdWJsZWQtbWFyZ2luLmh0bWwpXG5AbWl4aW4gZmxvYXQoJHNpZGU6IGxlZnQpIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogdW5xdW90ZSgkc2lkZSk7IH1cblxuLy8gUmVzZXRzIGZsb2F0ZWQgZWxlbWVudHMgYmFjayB0byB0aGVpciBkZWZhdWx0IG9mIGBmbG9hdDogbm9uZWAgYW5kIGRlZmF1bHRzXG4vLyB0byBgZGlzcGxheTogYmxvY2tgIHVubGVzcyB5b3UgcGFzcyBgaW5saW5lYCBhcyBhbiBhcmd1bWVudFxuLy9cbi8vIFVzYWdlIEV4YW1wbGU6XG4vL1xuLy8gICAgIGJvZHkuaG9tZXBhZ2Vcbi8vICAgICAgICNmb290ZXIgbGlcbi8vICAgICAgICAgK2Zsb2F0LWxlZnRcbi8vICAgICBib2R5LnNpZ251cFxuLy8gICAgICAgI2Zvb3RlciBsaVxuLy8gICAgICAgICArcmVzZXQtZmxvYXRcbkBtaXhpbiByZXNldC1mbG9hdCgkZGlzcGxheTogYmxvY2spIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6ICRkaXNwbGF5OyB9IiwiLy8gRW1pdHMgc3R5bGVzIGZvciBhIHRhZyBjbG91ZFxuQG1peGluIHRhZy1jbG91ZCgkYmFzZS1zaXplOiAxZW0pIHtcbiAgZm9udC1zaXplOiAkYmFzZS1zaXplO1xuICBsaW5lLWhlaWdodDogMS4yICogJGJhc2Utc2l6ZTtcbiAgLnh4cywgLnhzLCAucywgLmwsIC54bCwgLnh4bCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAqICRiYXNlLXNpemU7IH1cbiAgLnh4cyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1zaXplIC8gMjsgfVxuICAueHMge1xuICAgIGZvbnQtc2l6ZTogMiAqICRiYXNlLXNpemUgLyAzOyB9XG4gIC5zIHtcbiAgICBmb250LXNpemU6IDMgKiAkYmFzZS1zaXplIC8gNDsgfVxuICAubCB7XG4gICAgZm9udC1zaXplOiA0ICogJGJhc2Utc2l6ZSAvIDM7IH1cbiAgLnhsIHtcbiAgICBmb250LXNpemU6IDMgKiAkYmFzZS1zaXplIC8gMjsgfVxuICAueHhsIHtcbiAgICBmb250LXNpemU6IDIgKiAkYmFzZS1zaXplOyB9IH1cbiIsIkBpbXBvcnQgXCJoYWNrc1wiO1xuXG4vLyoqXG4vLyBDcm9zcyBicm93c2VyIG1pbi1oZWlnaHQgbWl4aW4uXG5AbWl4aW4gbWluLWhlaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgaGFja2VkLW1pbmltdW0oaGVpZ2h0LCAkdmFsdWUpOyB9XG5cbi8vKipcbi8vIENyb3NzIGJyb3dzZXIgbWluLXdpZHRoIG1peGluLlxuQG1peGluIG1pbi13aWR0aCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgaGFja2VkLW1pbmltdW0od2lkdGgsICR2YWx1ZSk7IH1cblxuLy8gQHByaXZhdGUgVGhpcyBtaXhpbiBpcyBub3QgbWVhbnQgdG8gYmUgdXNlZCBkaXJlY3RseS5cbkBtaXhpbiBoYWNrZWQtbWluaW11bSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBtaW4tI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIEBpbmNsdWRlIGJhbmctaGFjaygkcHJvcGVydHksIGF1dG8sICR2YWx1ZSk7IH1cbiIsIkBpbXBvcnQgXCJzcHJpdGVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJzcHJpdGVzL3Nwcml0ZS1pbWdcIjtcbiIsIi8vIERldGVybWluZXMgdGhvc2Ugc3RhdGVzIGZvciB3aGljaCB5b3Ugd2FudCB0byBlbmFibGUgbWFnaWMgc3ByaXRlIHNlbGVjdG9yc1xuJHNwcml0ZS1zZWxlY3RvcnM6IGhvdmVyLCB0YXJnZXQsIGFjdGl2ZSAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIGFuIGVsZW1lbnQgdG8gdGhlIG9yaWdpbmFsXG4vLyBkaW1lbnNpb25zIG9mIGFuIGltYWdlIGJlZm9yZSBpdCB3YXMgaW5jbHVkZWQgaW4gdGhlIHNwcml0ZS5cbkBtaXhpbiBzcHJpdGUtZGltZW5zaW9ucygkbWFwLCAkc3ByaXRlKSB7XG4gIGhlaWdodDogaW1hZ2UtaGVpZ2h0KHNwcml0ZS1maWxlKCRtYXAsICRzcHJpdGUpKTtcbiAgd2lkdGg6IGltYWdlLXdpZHRoKHNwcml0ZS1maWxlKCRtYXAsICRzcHJpdGUpKTtcbn1cblxuLy8gU2V0IHRoZSBiYWNrZ3JvdW5kIHBvc2l0aW9uIG9mIHRoZSBnaXZlbiBzcHJpdGUgYCRtYXBgIHRvIGRpc3BsYXkgdGhlXG4vLyBzcHJpdGUgb2YgdGhlIGdpdmVuIGAkc3ByaXRlYCBuYW1lLiBZb3UgY2FuIG1vdmUgdGhlIGltYWdlIHJlbGF0aXZlIHRvIGl0c1xuLy8gbmF0dXJhbCBwb3NpdGlvbiBieSBwYXNzaW5nIGAkb2Zmc2V0LXhgIGFuZCBgJG9mZnNldC15YC5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZC1wb3NpdGlvbigkbWFwLCAkc3ByaXRlLCAkb2Zmc2V0LXg6IDAsICRvZmZzZXQteTogMCkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBzcHJpdGUtcG9zaXRpb24oJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpOyAgXG59XG5cblxuLy8gRGV0ZXJtaW5lcyBpZiB5b3Ugd2FudCB0byBpbmNsdWRlIG1hZ2ljIHNlbGVjdG9ycyBpbiB5b3VyIHNwcml0ZXNcbiRkaXNhYmxlLW1hZ2ljLXNwcml0ZS1zZWxlY3RvcnM6ZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEluY2x1ZGUgdGhlIHBvc2l0aW9uIGFuZCAob3B0aW9uYWxseSkgZGltZW5zaW9ucyBvZiB0aGlzIGAkc3ByaXRlYFxuLy8gaW4gdGhlIGdpdmVuIHNwcml0ZSBgJG1hcGAuIFRoZSBzcHJpdGUgdXJsIHNob3VsZCBjb21lIGZyb20gZWl0aGVyIGEgYmFzZVxuLy8gY2xhc3Mgb3IgeW91IGNhbiBzcGVjaWZ5IHRoZSBgc3ByaXRlLXVybGAgZXhwbGljaXRseSBsaWtlIHRoaXM6XG4vL1xuLy8gICAgIGJhY2tncm91bmQ6ICRtYXAgbm8tcmVwZWF0O1xuQG1peGluIHNwcml0ZSgkbWFwLCAkc3ByaXRlLCAkZGltZW5zaW9uczogZmFsc2UsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsICRzcHJpdGUsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgQGlmICRkaW1lbnNpb25zIHtcbiAgICBAaW5jbHVkZSBzcHJpdGUtZGltZW5zaW9ucygkbWFwLCAkc3ByaXRlKTtcbiAgfVxuICBAaWYgbm90KCRkaXNhYmxlLW1hZ2ljLXNwcml0ZS1zZWxlY3RvcnMpIHtcbiAgICBAaW5jbHVkZSBzcHJpdGUtc2VsZWN0b3JzKCRtYXAsICRzcHJpdGUsICRzcHJpdGUsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgfVxufVxuXG4vLyBJbmNsdWRlIHRoZSBzZWxlY3RvcnMgZm9yIHRoZSBgJHNwcml0ZWAgZ2l2ZW4gdGhlIGAkbWFwYCBhbmQgdGhlIFxuLy8gYCRmdWxsLXNwcml0ZS1uYW1lYFxuLy8gQHByaXZhdGVcbkBtaXhpbiBzcHJpdGUtc2VsZWN0b3JzKCRtYXAsICRzcHJpdGUtbmFtZSwgJGZ1bGwtc3ByaXRlLW5hbWUsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIEBlYWNoICRzZWxlY3RvciBpbiAkc3ByaXRlLXNlbGVjdG9ycyB7XG4gICAgQGlmIHNwcml0ZV9oYXNfc2VsZWN0b3IoJG1hcCwgJHNwcml0ZS1uYW1lLCAkc2VsZWN0b3IpIHtcbiAgICAgICY6I3skc2VsZWN0b3J9LCAmLiN7JGZ1bGwtc3ByaXRlLW5hbWV9XyN7JHNlbGVjdG9yfSwgJi4jeyRmdWxsLXNwcml0ZS1uYW1lfS0jeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIHNwcml0ZS1iYWNrZ3JvdW5kLXBvc2l0aW9uKCRtYXAsIFwiI3skc3ByaXRlLW5hbWV9XyN7JHNlbGVjdG9yfVwiLCAkb2Zmc2V0LXgsICRvZmZzZXQteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdlbmVyYXRlcyBhIGNsYXNzIGZvciBlYWNoIHNwYWNlIHNlcGFyYXRlZCBuYW1lIGluIGAkc3ByaXRlLW5hbWVzYC5cbi8vIFRoZSBjbGFzcyB3aWxsIGJlIG9mIHRoZSBmb3JtIC48bWFwLW5hbWU+LTxzcHJpdGUtbmFtZT4uXG4vL1xuLy8gSWYgYSBiYXNlIGNsYXNzIGlzIHByb3ZpZGVkLCB0aGVuIGVhY2ggY2xhc3Mgd2lsbCBleHRlbmQgaXQuXG4vL1xuLy8gSWYgYCRkaW1lbnNpb25zYCBpcyBgdHJ1ZWAsIHRoZSBzcHJpdGUgZGltZW5zaW9ucyB3aWxsIHNwZWNpZmllZC5cbkBtaXhpbiBzcHJpdGVzKCRtYXAsICRzcHJpdGUtbmFtZXMsICRiYXNlLWNsYXNzOiBmYWxzZSwgJGRpbWVuc2lvbnM6IGZhbHNlLCAkcHJlZml4OiBzcHJpdGUtbWFwLW5hbWUoJG1hcCksICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7XG4gIEBlYWNoICRzcHJpdGUtbmFtZSBpbiAkc3ByaXRlLW5hbWVzIHtcbiAgICBAaWYgc3ByaXRlX2RvZXNfbm90X2hhdmVfcGFyZW50KCRtYXAsICRzcHJpdGUtbmFtZSkge1xuICAgICAgJGZ1bGwtc3ByaXRlLW5hbWU6IFwiI3skcHJlZml4fS0jeyRzcHJpdGUtbmFtZX1cIjtcbiAgICAgIC4jeyRmdWxsLXNwcml0ZS1uYW1lfSB7XG4gICAgICAgIEBpZiAkYmFzZS1jbGFzcyB7IEBleHRlbmQgI3skYmFzZS1jbGFzc307IH1cbiAgICAgICAgQGluY2x1ZGUgc3ByaXRlKCRtYXAsICRzcHJpdGUtbmFtZSwgJGRpbWVuc2lvbnMsICRvZmZzZXQteCwgJG9mZnNldC15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLyBAZG9jIG9mZlxuLy8gRXhhbXBsZSAxOlxuLy9cbi8vICAgICBhLnR3aXR0ZXJcbi8vICAgICAgICtzcHJpdGUtaW1nKFwiaWNvbnMtMzIucG5nXCIsIDEpXG4vLyAgICAgYS5mYWNlYm9va1xuLy8gICAgICAgK3Nwcml0ZS1pbWcoXCJpY29ucy0zMnBuZ1wiLCAyKVxuLy9cbi8vIEV4YW1wbGUgMjpcbi8vXG4vLyAgICAgYVxuLy8gICAgICAgK3Nwcml0ZS1iYWNrZ3JvdW5kKFwiaWNvbnMtMzIucG5nXCIpXG4vLyAgICAgICBhLnR3aXR0ZXJcbi8vICAgICAgICAgK3Nwcml0ZS1jb2x1bW4oMSlcbi8vICAgICAgIGEuZmFjZWJvb2tcbi8vICAgICAgICAgK3Nwcml0ZS1yb3coMilcbi8vIEBkb2Mgb25cblxuJHNwcml0ZS1kZWZhdWx0LXNpemU6IDMycHggIWRlZmF1bHQ7XG5cbiRzcHJpdGUtZGVmYXVsdC1tYXJnaW46IDBweCAhZGVmYXVsdDtcblxuJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoOiAkc3ByaXRlLWRlZmF1bHQtc2l6ZSAhZGVmYXVsdDtcblxuJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodDogJHNwcml0ZS1kZWZhdWx0LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFNldHMgYWxsIHRoZSBydWxlcyBmb3IgYSBzcHJpdGUgZnJvbSBhIGdpdmVuIHNwcml0ZSBpbWFnZSB0byBzaG93IGp1c3Qgb25lIG9mIHRoZSBzcHJpdGVzLlxuLy8gVG8gcmVkdWNlIGR1cGxpY2F0aW9uIHVzZSBhIHNwcml0ZS1iZyBtaXhpbiBmb3IgY29tbW9uIHByb3BlcnRpZXMgYW5kIGEgc3ByaXRlLXNlbGVjdCBtaXhpbiBmb3IgcG9zaXRpb25pbmcuXG5AbWl4aW4gc3ByaXRlLWltZygkaW1nLCAkY29sLCAkcm93OiAxLCAkd2lkdGg6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC13aWR0aCwgJGhlaWdodDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LWhlaWdodCwgJG1hcmdpbjogJHNwcml0ZS1kZWZhdWx0LW1hcmdpbikge1xuICBAaW5jbHVkZSBzcHJpdGUtYmFja2dyb3VuZCgkaW1nLCAkd2lkdGgsICRoZWlnaHQpO1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJGNvbCwgJHJvdywgJHdpZHRoLCAkaGVpZ2h0LCAkbWFyZ2luKTsgXG59XG5cbi8vIFNldHMgcnVsZXMgY29tbW9uIGZvciBhbGwgc3ByaXRlcywgYXNzdW1lcyB5b3Ugd2FudCBhIHNxdWFyZSwgYnV0IGFsbG93cyBhIHJlY3Rhbmd1bGFyIHJlZ2lvbi5cbkBtaXhpbiBzcHJpdGUtYmFja2dyb3VuZCgkaW1nLCAkd2lkdGg6ICRzcHJpdGUtZGVmYXVsdC1zaXplLCAkaGVpZ2h0OiAkd2lkdGgpIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWJhY2tncm91bmQtcmVjdGFuZ2xlKCRpbWcsICR3aWR0aCwgJGhlaWdodCk7IFxufVxuXG4vLyBTZXRzIHJ1bGVzIGNvbW1vbiBmb3IgYWxsIHNwcml0ZXMsIGFzc3VtZXMgYSByZWN0YW5ndWxhciByZWdpb24uXG5AbWl4aW4gc3ByaXRlLWJhY2tncm91bmQtcmVjdGFuZ2xlKCRpbWcsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0KSB7XG4gIGJhY2tncm91bmQ6IGltYWdlLXVybCgkaW1nKSBuby1yZXBlYXQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgXG59XG5cbi8vIEFsbG93cyBob3Jpem9udGFsIHNwcml0ZSBwb3NpdGlvbmluZyBvcHRpbWl6ZWQgZm9yIGEgc2luZ2xlIHJvdyBvZiBzcHJpdGVzLlxuQG1peGluIHNwcml0ZS1jb2x1bW4oJGNvbCwgJHdpZHRoOiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtd2lkdGgsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRjb2wsIDEsICR3aWR0aCwgMHB4LCAkbWFyZ2luKTsgXG59XG5cbi8vIEFsbG93cyB2ZXJ0aWNhbCBzcHJpdGUgcG9zaXRpb25pbmcgb3B0aW1pemVkIGZvciBhIHNpbmdsZSBjb2x1bW4gb2Ygc3ByaXRlcy5cbkBtaXhpbiBzcHJpdGUtcm93KCRyb3csICRoZWlnaHQ6ICRzcHJpdGUtaW1hZ2UtZGVmYXVsdC1oZWlnaHQsICRtYXJnaW46ICRzcHJpdGUtZGVmYXVsdC1tYXJnaW4pIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKDEsICRyb3csIDBweCwgJGhlaWdodCwgJG1hcmdpbik7IFxufVxuXG4vLyBBbGxvd3MgdmVydGljYWwgYW5kIGhvcml6b250YWwgc3ByaXRlIHBvc2l0aW9uaW5nIGZyb20gYSBncmlkIG9mIGVxdWFsIGRpbWVuc2lvbmVkIHNwcml0ZXMuXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCRjb2wsICRyb3c6IDEsICR3aWR0aDogJHNwcml0ZS1pbWFnZS1kZWZhdWx0LXdpZHRoLCAkaGVpZ2h0OiAkc3ByaXRlLWltYWdlLWRlZmF1bHQtaGVpZ2h0LCAkbWFyZ2luOiAkc3ByaXRlLWRlZmF1bHQtbWFyZ2luKSB7XG4gICR4OiAoJGNvbCAtIDEpICogLSR3aWR0aCAtICgkY29sIC0gMSkgKiAkbWFyZ2luO1xuICAkeTogKCRyb3cgLSAxKSAqIC0kaGVpZ2h0IC0gKCRyb3cgLSAxKSAqICRtYXJnaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICR4ICR5OyBcbn1cblxuXG5cbi8vIFNpbWlsYXIgdG8gJ3Nwcml0ZS1yZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zJyBidXQgZG9lcyBub3QgYXV0bWF0aWNseSBzZXQgdGhlIGRlbWVuc2lvbnNcbkBtaXhpbiBzcHJpdGUtcmVwbGFjZS10ZXh0ICgkbWFwLCAkc3ByaXRlLCAkZGltZW5zaW9uczogZmFsc2UsICRvZmZzZXQteDogMCwgJG9mZnNldC15OiAwKSB7ICAgIFxuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4gIEBpbmNsdWRlIHNwcml0ZSgkbWFwLCAkc3ByaXRlLCAkZGltZW5zaW9ucywgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkbWFwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vLyBTaW1pbGFyIHRvICdyZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zJyBidXQgd2l0aCBzcHJpdGVzXG4vLyBUbyB1c2UsIGNyZWF0ZSB5b3VyIHNwcml0ZSBhbmQgdGhlbiBwYXNzIGl0IGluIHRoZSBgJG1hcGAgcGFyYW1cbi8vIFRoZSBuYW1lIG9mIHRoZSBpbWFnZSBpbiB0aGUgc3ByaXRlIGZvbGRlciBzaG91bGQgYmUgYCRpbWctbmFtZWBcbkBtaXhpbiBzcHJpdGUtcmVwbGFjZS10ZXh0LXdpdGgtZGltZW5zaW9ucyAoJG1hcCwgJHNwcml0ZSwgJG9mZnNldC14OiAwLCAkb2Zmc2V0LXk6IDApeyAgICBcbiAgQGluY2x1ZGUgc3ByaXRlLXJlcGxhY2UtdGV4dCAoJG1hcCwgJHNwcml0ZSwgdHJ1ZSwgJG9mZnNldC14LCAkb2Zmc2V0LXkpO1xufSIsIkBpbXBvcnQgXCJ0YWJsZXMvYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1uc1wiO1xuQGltcG9ydCBcInRhYmxlcy9ib3JkZXJzXCI7XG5AaW1wb3J0IFwidGFibGVzL3NjYWZmb2xkaW5nXCI7XG4iLCJAbWl4aW4gYWx0ZXJuYXRpbmctcm93cy1hbmQtY29sdW1ucygkZXZlbi1yb3ctY29sb3IsICRvZGQtcm93LWNvbG9yLCAkZGFyay1pbnRlcnNlY3Rpb24sICRoZWFkZXItY29sb3I6IHdoaXRlLCAkZm9vdGVyLWNvbG9yOiB3aGl0ZSkge1xuICB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH1cbiAgdHIge1xuICAgICYub2RkLCAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICB0ZCB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9kZC1yb3ctY29sb3I7XG4gICAgICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9kZC1yb3ctY29sb3IgLSAkZGFyay1pbnRlcnNlY3Rpb247IH0gfSB9XG4gICAgfVxuICB0ci5ldmVuIHtcbiAgICB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbi1yb3ctY29sb3I7XG4gICAgICAmLmV2ZW4sICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVuLXJvdy1jb2xvciAtICRkYXJrLWludGVyc2VjdGlvbjsgfSB9IH1cbiAgdGZvb3Qge1xuICAgIHRoLCB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICAgICAgJi5ldmVuLCAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWNvbG9yIC0gJGRhcmstaW50ZXJzZWN0aW9uOyB9IH0gfSB9XG4iLCJAbWl4aW4gb3V0ZXItdGFibGUtYm9yZGVycygkd2lkdGg6IDJweCwgJGNvbG9yOiBibGFjaykge1xuICBib3JkZXI6ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gIHRoZWFkIHtcbiAgICB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGNvbG9yOyB9IH1cbiAgdGZvb3Qge1xuICAgIHRoLCB0ZCB7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGNvbG9yOyB9IH1cbiAgdGgge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGNvbG9yOyB9IH0gfVxuXG5AbWl4aW4gaW5uZXItdGFibGUtYm9yZGVycygkd2lkdGg6IDJweCwgJGNvbG9yOiBibGFjaykge1xuICB0aCwgdGQge1xuICAgIGJvcmRlcjoge1xuICAgICAgcmlnaHQ6ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBib3R0b206ICR3aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBsZWZ0LXdpZHRoOiAwcHg7XG4gICAgICB0b3Atd2lkdGg6IDBweDsgfTtcbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJi5sYXN0IHtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMHB4OyB9IH1cblxuLy8gSUU4IGlnbm9yZXMgcnVsZXMgdGhhdCBhcmUgaW5jbHVkZWQgb24gdGhlIHNhbWUgbGluZSBhcyA6bGFzdC1jaGlsZFxuLy8gc2VlIGh0dHA6Ly93d3cucmljaGFyZHNjYXJyb3R0LmNvLnVrL3Bvc3RzL3ZpZXcvaWU4LWxhc3QtY2hpbGQtYnVnIGZvciBkZXRhaWxzXG5cbiAgdGJvZHksIHRmb290IHtcbiAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgIHRoLCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsgfSB9XG4gICAgdHIubGFzdCB7XG4gICAgICB0aCwgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7IH0gfSB9IH1cbiIsIkBtaXhpbiB0YWJsZS1zY2FmZm9sZGluZyB7XG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgJi5udW1lcmljIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH0gfVxuIiwiQGltcG9ydCBcImxpbmtzL2hvdmVyLWxpbmtcIjtcbkBpbXBvcnQgXCJsaW5rcy9saW5rLWNvbG9yc1wiO1xuQGltcG9ydCBcImxpbmtzL3Vuc3R5bGVkLWxpbmtcIjtcbiIsIi8vIGEgbGluayB0aGF0IG9ubHkgaGFzIGFuIHVuZGVybGluZSB3aGVuIHlvdSBob3ZlciBvdmVyIGl0XG5AbWl4aW4gaG92ZXItbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuIiwiLy8gU2V0IGFsbCB0aGUgY29sb3JzIGZvciBhIGxpbmsgd2l0aCBvbmUgbWl4aW4gY2FsbC5cbi8vIE9yZGVyIG9mIGFyZ3VtZW50cyBpczpcbi8vXG4vLyAxLiBub3JtYWxcbi8vIDIuIGhvdmVyXG4vLyAzLiBhY3RpdmVcbi8vIDQuIHZpc2l0ZWRcbi8vIDUuIGZvY3VzXG4vL1xuLy8gVGhvc2Ugc3RhdGVzIG5vdCBzcGVjaWZpZWQgd2lsbCBpbmhlcml0LlxuLy8gTWl4aW4gdG8gYW4gYW5jaG9yIGxpbmsgbGlrZSBzbzpcbi8vICAgICBhXG4vLyAgICAgICArbGluay1jb2xvcnMoIzAwYywgIzBjYywgI2MwYywgI2NjYywgI2NjMClcblxuQG1peGluIGxpbmstY29sb3JzKCRub3JtYWwsICRob3ZlcjogZmFsc2UsICRhY3RpdmU6IGZhbHNlLCAkdmlzaXRlZDogZmFsc2UsICRmb2N1czogZmFsc2UpIHtcbiAgY29sb3I6ICRub3JtYWw7XG4gIEBpZiAkdmlzaXRlZCB7XG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkdmlzaXRlZDsgfSB9XG4gIEBpZiAkZm9jdXMge1xuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRmb2N1czsgfSB9XG4gIEBpZiAkaG92ZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRob3ZlcjsgfSB9XG4gIEBpZiAkYWN0aXZlIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGFjdGl2ZTsgfSB9IH1cbiIsIi8vIEEgbGluayB0aGF0IGxvb2tzIGFuZCBhY3RzIGxpa2UgdGhlIHRleHQgaXQgaXMgY29udGFpbmVkIHdpdGhpblxuQG1peGluIHVuc3R5bGVkLWxpbmsge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICBjdXJzb3I6IGluaGVyaXQ7XG4gICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9IH1cbiIsIkBpbXBvcnQgXCJsaXN0cy9ob3Jpem9udGFsLWxpc3RcIjtcbkBpbXBvcnQgXCJsaXN0cy9pbmxpbmUtbGlzdFwiO1xuQGltcG9ydCBcImxpc3RzL2lubGluZS1ibG9jay1saXN0XCI7XG5AaW1wb3J0IFwibGlzdHMvYnVsbGV0c1wiO1xuIiwiLy8gSG9yaXpvbnRhbCBsaXN0IGxheW91dCBtb2R1bGUuXG4vL1xuLy8gRWFzeSBtb2RlIHVzaW5nIHNpbXBsZSBkZXNjZW5kYW50IGxpIHNlbGVjdG9yczpcbi8vXG4vLyAgIHVsLm5hdlxuLy8gICAgICtob3Jpem9udGFsLWxpc3Rcbi8vXG4vLyBBZHZhbmNlZCBtb2RlOlxuLy8gSWYgeW91IG5lZWQgdG8gdGFyZ2V0IHRoZSBsaXN0IGl0ZW1zIHVzaW5nIGEgZGlmZmVyZW50IHNlbGVjdG9yIHRoZW4gdXNlXG4vLyAraG9yaXpvbnRhbC1saXN0LWNvbnRhaW5lciBvbiB5b3VyIHVsL29sIGFuZCAraG9yaXpvbnRhbC1saXN0LWl0ZW0gb24geW91ciBsaS5cbi8vIFRoaXMgbWF5IGhlbHAgd2hlbiB3b3JraW5nIG9uIGxheW91dHMgaW52b2x2aW5nIG5lc3RlZCBsaXN0cy4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICB1bC5uYXZcbi8vICAgICAraG9yaXpvbnRhbC1saXN0LWNvbnRhaW5lclxuLy8gICAgID4gbGlcbi8vICAgICAgICtob3Jpem9udGFsLWxpc3QtaXRlbVxuXG5AaW1wb3J0IFwiYnVsbGV0c1wiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9nZW5lcmFsL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvcmVzZXRcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvZ2VuZXJhbC9mbG9hdFwiO1xuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgc2VsZWN0b3IgdGhhdCB0YXJnZXQgYSB1bCBvciBvbCB0aGF0IGlzIG1lYW50XG4vLyB0byBoYXZlIGEgaG9yaXpvbnRhbCBsYXlvdXQuIFVzZWQgdG8gaW1wbGVtZW50ICtob3Jpem9udGFsLWxpc3QuXG5AbWl4aW4gaG9yaXpvbnRhbC1saXN0LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHJlc2V0LWJveC1tb2RlbDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7IH1cblxuLy8gQ2FuIGJlIG1peGVkIGludG8gYW55IGxpIHNlbGVjdG9yIHRoYXQgaXMgbWVhbnQgdG8gcGFydGljaXBhdGUgaW4gYSBob3Jpem9udGFsIGxheW91dC5cbi8vIFVzZWQgdG8gaW1wbGVtZW50ICtob3Jpem9udGFsLWxpc3QuXG4vL1xuLy8gOmxhc3QtY2hpbGQgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZFxuLy8gc2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDI5IGZvciB0aGUgc3VwcG9ydCBtYXRyaXhcbi8vXG4vLyBJRTggaWdub3JlcyBydWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSBsaW5lIGFzIDpsYXN0LWNoaWxkXG4vLyBzZWUgaHR0cDovL3d3dy5yaWNoYXJkc2NhcnJvdHQuY28udWsvcG9zdHMvdmlldy9pZTgtbGFzdC1jaGlsZC1idWcgZm9yIGRldGFpbHNcbi8vXG4vLyBTZXR0aW5nIGAkcGFkZGluZ2AgdG8gYGZhbHNlYCBkaXNhYmxlcyB0aGUgcGFkZGluZyBiZXR3ZWVuIGxpc3QgZWxlbWVudHNcbkBtaXhpbiBob3Jpem9udGFsLWxpc3QtaXRlbSgkcGFkZGluZzogNHB4LCAkZGlyZWN0aW9uOiBsZWZ0KSB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgZmxvYXQoJGRpcmVjdGlvbik7XG4gIEBpZiAkcGFkZGluZyB7XG4gICAgcGFkZGluZzoge1xuICAgICAgbGVmdDogJHBhZGRpbmc7XG4gICAgICByaWdodDogJHBhZGRpbmc7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQsICYuZmlyc3QgeyBwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBwYWRkaW5nLSN7b3Bwb3NpdGUtcG9zaXRpb24oJGRpcmVjdGlvbil9OiAwOyB9XG4gICAgJi5sYXN0IHsgcGFkZGluZy0je29wcG9zaXRlLXBvc2l0aW9uKCRkaXJlY3Rpb24pfTogMDsgfVxuICB9XG59XG5cbi8vIEEgbGlzdChvbCx1bCkgdGhhdCBpcyBsYXllZCBvdXQgc3VjaCB0aGF0IHRoZSBlbGVtZW50cyBhcmUgZmxvYXRlZCBsZWZ0IGFuZCB3b24ndCB3cmFwLlxuLy8gVGhpcyBpcyBub3QgYW4gaW5saW5lIGxpc3QuXG4vL1xuLy8gU2V0dGluZyBgJHBhZGRpbmdgIHRvIGBmYWxzZWAgZGlzYWJsZXMgdGhlIHBhZGRpbmcgYmV0d2VlbiBsaXN0IGVsZW1lbnRzXG5AbWl4aW4gaG9yaXpvbnRhbC1saXN0KCRwYWRkaW5nOiA0cHgsICRkaXJlY3Rpb246IGxlZnQpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWNvbnRhaW5lcjtcbiAgbGkge1xuICAgIEBpbmNsdWRlIGhvcml6b250YWwtbGlzdC1pdGVtKCRwYWRkaW5nLCAkZGlyZWN0aW9uKTsgfSB9XG4iLCIvLyBUdXJuIG9mZiB0aGUgYnVsbGV0IGZvciBhbiBlbGVtZW50IG9mIGEgbGlzdFxuQG1peGluIG5vLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtaW1hZ2UgOiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGUgIDogbm9uZTtcbiAgbWFyZ2luLWxlZnQgICAgICA6IDA7XG59XG5cbi8vIHR1cm5zIG9mZiB0aGUgYnVsbGV0cyBmb3IgYW4gZW50aXJlIGxpc3RcbkBtaXhpbiBuby1idWxsZXRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGkgeyBAaW5jbHVkZSBuby1idWxsZXQ7IH1cbn1cblxuLy8gTWFrZSBhIGxpc3QodWwvb2wpIGhhdmUgYW4gaW1hZ2UgYnVsbGV0LlxuLy9cbi8vIFRoZSBtaXhpbiBzaG91bGQgYmUgdXNlZCBsaWtlIHRoaXMgZm9yIGFuIGljb24gdGhhdCBpcyA1eDc6XG4vL1xuLy8gICAgIHVsLnByZXR0eVxuLy8gICAgICAgK3ByZXR0eS1idWxsZXRzKFwibXktaWNvbi5wbmdcIiwgNXB4LCA3cHgpXG4vL1xuLy8gQWRkaXRpb25hbGx5LCBpZiB0aGUgaW1hZ2UgZGltZW5zaW9ucyBhcmUgbm90IHByb3ZpZGVkLFxuLy8gVGhlIGltYWdlIGRpbWVuc2lvbnMgd2lsbCBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgaW1hZ2UgaXRzZWxmLlxuLy9cbi8vICAgICB1bC5wcmV0dHlcbi8vICAgICAgICtwcmV0dHktYnVsbGV0cyhcIm15LWljb24ucG5nXCIpXG4vL1xuQG1peGluIHByZXR0eS1idWxsZXRzKCRidWxsZXQtaWNvbiwgJHdpZHRoOiBpbWFnZS13aWR0aCgkYnVsbGV0LWljb24pLCAkaGVpZ2h0OiBpbWFnZS1oZWlnaHQoJGJ1bGxldC1pY29uKSwgJGxpbmUtaGVpZ2h0OiAxOHB4LCAkcGFkZGluZzogMTRweCkge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRidWxsZXQtaWNvbikgbm8tcmVwZWF0ICgkcGFkZGluZyAtICR3aWR0aCkgLyAyICgkbGluZS1oZWlnaHQgLSAkaGVpZ2h0KSAvIDI7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG59XG4iLCIvLyBtYWtlcyBhIGxpc3QgaW5saW5lLlxuXG5AbWl4aW4gaW5saW5lLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICYsICYgbGkge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLy8gbWFrZXMgYW4gaW5saW5lIGxpc3QgZGVsaW1pdGVkIHdpdGggdGhlIHBhc3NlZCBzdHJpbmcuXG4vLyBEZWZhdWx0cyB0byBtYWtpbmcgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbi8vXG4vLyBQbGVhc2UgbWFrZSBub3RlIG9mIHRoZSBicm93c2VyIHN1cHBvcnQgaXNzdWVzIGJlZm9yZSB1c2luZyB0aGlzIG1peGluOlxuLy9cbi8vIHVzZSBvZiBgY29udGVudGAgYW5kIGA6YWZ0ZXJgIGlzIG5vdCBmdWxseSBzdXBwb3J0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gU2VlIHF1aXJrc21vZGUgZm9yIHRoZSBbc3VwcG9ydCBtYXRyaXhdKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvY3NzL2NvbnRlbnRzLmh0bWwjdDE1KVxuLy9cbi8vIGA6bGFzdC1jaGlsZGAgaXMgbm90IGZ1bGx5IHN1cHBvcnRlZC5cbi8vIHNlZSBxdWlya3Ntb2RlIGZvciB0aGUgW3N1cHBvcnQgbWF0cml4XShodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Nzcy9jb250ZW50cy5odG1sI3QyOSkuXG4vL1xuLy8gSUU4IGlnbm9yZXMgcnVsZXMgdGhhdCBhcmUgaW5jbHVkZWQgb24gdGhlIHNhbWUgbGluZSBhcyA6bGFzdC1jaGlsZFxuLy8gc2VlIGh0dHA6Ly93d3cucmljaGFyZHNjYXJyb3R0LmNvLnVrL3Bvc3RzL3ZpZXcvaWU4LWxhc3QtY2hpbGQtYnVnIGZvciBkZXRhaWxzXG5cbkBtaXhpbiBkZWxpbWl0ZWQtbGlzdCgkc2VwYXJhdG9yOiBcIiwgXCIpIHtcbiAgQGluY2x1ZGUgaW5saW5lLWxpc3Q7XG4gIGxpIHtcbiAgICAmOmFmdGVyIHsgY29udGVudDogJHNlcGFyYXRvcjsgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgfVxuICAgIH1cbiAgICAmLmxhc3Qge1xuICAgICAgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VlIFtkZWxpbWl0ZWQtbGlzdF0oI21peGluLWRlbGltaXRlZC1saXN0KVxuLy8gQGRlcHJlY2F0ZWRcbkBtaXhpbiBjb21tYS1kZWxpbWl0ZWQtbGlzdCB7XG4gIEB3YXJuIFwiY29tbWEtZGVsaW1pdGVkLWxpc3QgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBkZWxpbWl0ZWQtbGlzdCBpbnN0ZWFkLlwiO1xuICBAaW5jbHVkZSBkZWxpbWl0ZWQtbGlzdDtcbn1cbiIsIi8vIElubGluZS1CbG9jayBsaXN0IGxheW91dCBtb2R1bGUuXG4vL1xuLy8gRWFzeSBtb2RlIHVzaW5nIHNpbXBsZSBkZXNjZW5kYW50IGxpIHNlbGVjdG9yczpcbi8vXG4vLyAgICAgdWwubmF2IHtcbi8vICAgICAgIEBpbXBvcnQgaW5saW5lLWJsb2NrLWxpc3Q7XG4vLyAgICAgfVxuLy9cbi8vIEFkdmFuY2VkIG1vZGU6XG4vLyBJZiB5b3UgbmVlZCB0byB0YXJnZXQgdGhlIGxpc3QgaXRlbXMgdXNpbmcgYSBkaWZmZXJlbnQgc2VsZWN0b3IgdGhlbiB1c2Vcbi8vIGBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXJgIG9uIHlvdXIgdWwvb2wgYW5kXG4vLyBgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtaXRlbWAgb24geW91ciBsaS4gVGhpcyBtYXkgaGVscCB3aGVuIHdvcmtpbmdcbi8vIG9uIGxheW91dHMgaW52b2x2aW5nIG5lc3RlZCBsaXN0cy4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gICAgIHVsLm5hdiB7XG4vLyAgICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXI7XG4vLyAgICAgICA+IGxpIHtcbi8vICAgICAgICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWxpc3QtaXRlbTtcbi8vICAgICAgIH1cbi8vICAgICB9XG5cbkBpbXBvcnQgXCJidWxsZXRzXCI7XG5AaW1wb3J0IFwiaG9yaXpvbnRhbC1saXN0XCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL2dlbmVyYWwvZmxvYXRcIjtcbkBpbXBvcnQgXCIuLi8uLi9jc3MzL2lubGluZS1ibG9ja1wiO1xuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgc2VsZWN0b3IgdGhhdCB0YXJnZXQgYSB1bCBvciBvbCB0aGF0IGlzIG1lYW50XG4vLyB0byBoYXZlIGFuIGlubGluZS1ibG9jayBsYXlvdXQuIFVzZWQgdG8gaW1wbGVtZW50IGBpbmxpbmUtYmxvY2stbGlzdGAuXG5AbWl4aW4gaW5saW5lLWJsb2NrLWxpc3QtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1saXN0LWNvbnRhaW5lcjsgfVxuXG4vLyBDYW4gYmUgbWl4ZWQgaW50byBhbnkgbGkgc2VsZWN0b3IgdGhhdCBpcyBtZWFudCB0byBwYXJ0aWNpcGF0ZSBpbiBhIGhvcml6b250YWwgbGF5b3V0LlxuLy8gVXNlZCB0byBpbXBsZW1lbnQgYGlubGluZS1ibG9jay1saXN0YC5cbkBtaXhpbiBpbmxpbmUtYmxvY2stbGlzdC1pdGVtKCRwYWRkaW5nOiBmYWxzZSkge1xuICBAaW5jbHVkZSBuby1idWxsZXQ7XG4gIEBpbmNsdWRlIGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGlmICRwYWRkaW5nIHtcbiAgICBwYWRkaW5nOiB7XG4gICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgIHJpZ2h0OiAkcGFkZGluZztcbiAgICB9O1xuICB9XG59XG5cbi8vIEEgbGlzdChvbCx1bCkgdGhhdCBpcyBsYXllZCBvdXQgc3VjaCB0aGF0IHRoZSBlbGVtZW50cyBhcmUgaW5saW5lLWJsb2NrIGFuZCB3b24ndCB3cmFwLlxuQG1peGluIGlubGluZS1ibG9jay1saXN0KCRwYWRkaW5nOiBmYWxzZSkge1xuICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1jb250YWluZXI7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stbGlzdC1pdGVtKCRwYWRkaW5nKTsgfSB9XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFNldCBgJGlubGluZS1ibG9jay1hbGlnbm1lbnRgIHRvIGBub25lYCBvciBgZmFsc2VgIHRvIGRpc2FibGUgdGhlIG91dHB1dFxuLy8gb2YgYSB2ZXJ0aWNhbC1hbGlnbiBwcm9wZXJ0eSBpbiB0aGUgaW5saW5lLWJsb2NrIG1peGluLlxuLy8gT3Igc2V0IGl0IHRvIGEgbGVnYWwgdmFsdWUgZm9yIGB2ZXJ0aWNhbC1hbGlnbmAgdG8gY2hhbmdlIHRoZSBkZWZhdWx0LlxuJGlubGluZS1ibG9jay1hbGlnbm1lbnQ6IG1pZGRsZSAhZGVmYXVsdDtcblxuLy8gUHJvdmlkZXMgYSBjcm9zcy1icm93c2VyIG1ldGhvZCB0byBpbXBsZW1lbnQgYGRpc3BsYXk6IGlubGluZS1ibG9jaztgXG5AbWl4aW4gaW5saW5lLWJsb2NrKCRhbGlnbm1lbnQ6ICRpbmxpbmUtYmxvY2stYWxpZ25tZW50KSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLW1vemlsbGEge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICB9XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGlmICRhbGlnbm1lbnQgYW5kICRhbGlnbm1lbnQgIT0gbm9uZSB7XG4gICAgdmVydGljYWwtYWxpZ246ICRhbGlnbm1lbnQ7XG4gIH1cbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogYXV0bztcbiAgICB6b29tOiAxO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzaWMgc3VwcG9ydCBmb3IgQ1NTMyBwcm9wZXJ0aWVzIGFuZFxuLy8gdGhlaXIgY29ycmVzcG9uZGluZyBleHBlcmltZW50YWwgQ1NTMiBwcm9wZXJ0aWVzIHdoZW5cbi8vIHRoZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGlkZW50aWNhbCBleGNlcHQgZm9yIHRoZSBwcm9wZXJ0eVxuLy8gcHJlZml4LlxuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgLXdlYmtpdC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICAta2h0bWwtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAtbW96LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgICAgIC1tcy0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgLW8tI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxufVxuXG4vLyBTYW1lIGFzIGV4cGVyaW1lbnRhbCgpLCBidXQgZm9yIGNhc2VzIHdoZW4gdGhlIHByb3BlcnR5IGlzIHRoZSBzYW1lIGFuZCB0aGUgdmFsdWUgaXMgdmVuZG9yaXplZFxuQG1peGluIGV4cGVyaW1lbnRhbC12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgI3skcHJvcGVydHl9IDogLXdlYmtpdC0jeyR2YWx1ZX07IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICN7JHByb3BlcnR5fSA6ICAta2h0bWwtI3skdmFsdWV9OyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAtbW96LSN7JHZhbHVlfTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgI3skcHJvcGVydHl9IDogICAgIC1tcy0jeyR2YWx1ZX07IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgLW8tI3skdmFsdWV9OyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgICAgICN7JHZhbHVlfTsgfVxufVxuIiwiQGltcG9ydCBcInRleHQvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJ0ZXh0L25vd3JhcFwiO1xuQGltcG9ydCBcInRleHQvcmVwbGFjZW1lbnRcIjtcbkBpbXBvcnQgXCJ0ZXh0L2ZvcmNlLXdyYXBcIjtcbiIsIkBpbXBvcnQgXCIuLi8uLi9jc3MzL3NoYXJlZFwiO1xuXG4vLyBUbyBnZXQgZnVsbCBmaXJlZm94IHN1cHBvcnQsIHlvdSBtdXN0IGluc3RhbGwgdGhlIGVsbGlwc2lzIHBhdHRlcm46XG4vL1xuLy8gICAgIGNvbXBhc3MgaW5zdGFsbCBjb21wYXNzL2VsbGlwc2lzXG4kdXNlLW1vemlsbGEtZWxsaXBzaXMtYmluZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgdGVjaG5pcXVlLCBieSBbSnVzdGluIE1heHdlbGxdKGh0dHA6Ly9jb2RlNDA0LmNvbS8pLCB3YXMgb3JpZ2luYWxseVxuLy8gcHVibGlzaGVkIFtoZXJlXShodHRwOi8vbWF0dHNuaWRlci5jb20vY3NzL2Nzcy1zdHJpbmctdHJ1bmNhdGlvbi13aXRoLWVsbGlwc2lzLykuXG4vLyBGaXJlZm94IGltcGxlbWVudGF0aW9uIGJ5IFtSaWtrZXJ0IEtvcHBlc10oaHR0cDovL3d3dy5yaWtrZXJ0a29wcGVzLmNvbS90aG91Z2h0cy8yMDA4LzYvKS5cbkBtaXhpbiBlbGxpcHNpcygkbm8td3JhcDogdHJ1ZSkge1xuICBAaWYgJG5vLXdyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0ZXh0LW92ZXJmbG93LCBlbGxpcHNpcyxcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIC1vLFxuICAgIC1tcyxcbiAgICBub3QoLWtodG1sKSxcbiAgICBvZmZpY2lhbFxuICApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhIGFuZCAkdXNlLW1vemlsbGEtZWxsaXBzaXMtYmluZGluZyB7XG4gICAgLW1vei1iaW5kaW5nOiBzdHlsZXNoZWV0LXVybCh1bnF1b3RlKFwieG1sL2VsbGlwc2lzLnhtbCNlbGxpcHNpc1wiKSk7XG4gIH1cbn1cbiIsIi8vIFdoZW4gcmVtZW1iZXJpbmcgd2hldGhlciBvciBub3QgdGhlcmUncyBhIGh5cGhlbiBpbiB3aGl0ZS1zcGFjZSBpcyB0b28gaGFyZFxuQG1peGluIG5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiIsIi8vIEluZGljYXRlcyB0aGUgZGlyZWN0aW9uIHlvdSBwcmVmZXIgdG8gbW92ZSB5b3VyIHRleHRcbi8vIHdoZW4gaGlkaW5nIGl0LlxuLy9cbi8vIGBsZWZ0YCBpcyBtb3JlIHJvYnVzdCwgZXNwZWNpYWxseSBpbiBvbGRlciBicm93c2Vycy5cbi8vIGByaWdodGAgc2VlbXMgaGF2ZSBiZXR0ZXIgcnVudGltZSBwZXJmb3JtYW5jZS5cbiRoaWRlLXRleHQtZGlyZWN0aW9uOiBsZWZ0ICFkZWZhdWx0O1xuXG4vLyBIaWRlcyBodG1sIHRleHQgYW5kIHJlcGxhY2VzIGl0IHdpdGggYW4gaW1hZ2UuXG4vLyBJZiB5b3UgdXNlIHRoaXMgb24gYW4gaW5saW5lIGVsZW1lbnQsIHlvdSB3aWxsIG5lZWQgdG8gY2hhbmdlIHRoZSBkaXNwbGF5IHRvIGJsb2NrIG9yIGlubGluZS1ibG9jay5cbi8vIEFsc28sIGlmIHRoZSBzaXplIG9mIHRoZSBpbWFnZSBkaWZmZXJzIHNpZ25pZmljYW50bHkgZnJvbSB0aGUgZm9udCBzaXplLCB5b3UnbGwgbmVlZCB0byBzZXQgdGhlIHdpZHRoIGFuZC9vciBoZWlnaHQuXG4vL1xuLy8gUGFyYW1ldGVyczpcbi8vXG4vLyAqIGBpbWdgIC0tIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIHByb2plY3QgaW1hZ2UgZGlyZWN0b3J5IHRvIHRoZSBpbWFnZSwgb3IgYSB1cmwgbGl0ZXJhbC5cbi8vICogYHhgIC0tIHRoZSB4IHBvc2l0aW9uIG9mIHRoZSBiYWNrZ3JvdW5kIGltYWdlLlxuLy8gKiBgeWAgLS0gdGhlIHkgcG9zaXRpb24gb2YgdGhlIGJhY2tncm91bmQgaW1hZ2UuXG5AbWl4aW4gcmVwbGFjZS10ZXh0KCRpbWcsICR4OiA1MCUsICR5OiA1MCUpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuICBiYWNrZ3JvdW5kOiB7XG4gICAgQGlmIGlzLXVybCgkaW1nKSB7XG4gICAgICBpbWFnZTogdXJsKCRpbWcpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgaW1hZ2U6IGltYWdlLXVybCgkaW1nKTtcbiAgICB9XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246ICR4ICR5O1xuICB9O1xufVxuXG4vLyBMaWtlIHRoZSBgcmVwbGFjZS10ZXh0YCBtaXhpbiwgYnV0IGFsc28gc2V0cyB0aGUgd2lkdGhcbi8vIGFuZCBoZWlnaHQgb2YgdGhlIGVsZW1lbnQgYWNjb3JkaW5nIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBpbWFnZS5cbi8vXG4vLyBJZiB5b3Ugc2V0IGAkaW5saW5lYCB0byB0cnVlLCB0aGVuIGFuIGlubGluZSBpbWFnZSAoZGF0YSB1cmkpIHdpbGwgYmUgdXNlZC5cbkBtaXhpbiByZXBsYWNlLXRleHQtd2l0aC1kaW1lbnNpb25zKCRpbWcsICR4OiA1MCUsICR5OiA1MCUsICRpbmxpbmU6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJlcGxhY2UtdGV4dChpZigkaW5saW5lLCBpbmxpbmUtaW1hZ2UoJGltZyksICRpbWcpLCAkeCwgJHkpO1xuICB3aWR0aDogaW1hZ2Utd2lkdGgoJGltZyk7XG4gIGhlaWdodDogaW1hZ2UtaGVpZ2h0KCRpbWcpO1xufVxuXG4vLyBIaWRlcyB0ZXh0IGluIGFuIGVsZW1lbnQgc28geW91IGNhbiBzZWUgdGhlIGJhY2tncm91bmQuXG4vL1xuLy8gVGhlIGRpcmVjdGlvbiBpbmRpY2F0ZXMgaG93IHRoZSB0ZXh0IHNob3VsZCBiZSBtb3ZlZCBvdXQgb2Ygdmlldy5cbi8vXG4vLyBTZWUgYCRoaWRlLXRleHQtZGlyZWN0aW9uYCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgdG8gc2V0IHRoaXMgZ2xvYmFsbHlcbi8vIGZvciB5b3VyIGFwcGxpY2F0aW9uLlxuQG1peGluIGhpZGUtdGV4dCgkZGlyZWN0aW9uOiAkaGlkZS10ZXh0LWRpcmVjdGlvbikge1xuICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAkYXBwcm94aW1hdGUtZW0tdmFsdWU6IDEycHg7XG4gICAgJHdpZGVyLXRoYW4tYW55LXNjcmVlbjogLTk5OTk7XG4gICAgdGV4dC1pbmRlbnQ6ICR3aWRlci10aGFuLWFueS1zY3JlZW4gKiAkYXBwcm94aW1hdGUtZW0tdmFsdWU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9IEBlbHNlIHtcbiAgICAvLyBzbGlnaHRseSB3aWRlciB0aGFuIHRoZSBib3ggcHJldmVudHMgaXNzdWVzIHdpdGggaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gICAgdGV4dC1pbmRlbnQ6IDExMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vIEhpZGVzIHRleHQgaW4gYW4gZWxlbWVudCBieSBzcXVpc2hpbmcgdGhlIHRleHQgaW50byBvYmxpdmlvbi5cbi8vIFVzZSB0aGlzIGlmIHlvdSBuZWVkIHRvIGhpZGUgdGV4dCBjb250YWluZWQgaW4gYW4gaW5saW5lIGVsZW1lbnRcbi8vIGJ1dCBzdGlsbCBoYXZlIGl0IHJlYWQgYnkgYSBzY3JlZW4gcmVhZGVyLlxuQG1peGluIHNxdWlzaC10ZXh0IHtcbiAgZm9udDogMC8wIHNlcmlmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwiLy8gUHJldmVudCBsb25nIHVybHMgYW5kIHRleHQgZnJvbSBicmVha2luZyBsYXlvdXRzXG4vLyBbb3JpZ2luYWxseSBmcm9tIHBlcmlzaGFibGVwcmVzcy5jb21dKGh0dHA6Ly9wZXJpc2hhYmxlcHJlc3MuY29tL3ByZXNzLzIwMTAvMDYvMDEvd3JhcHBpbmctY29udGVudC8pXG5AbWl4aW4gZm9yY2Utd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7ICAgICAgICAgICAvLyBDU1MgMi4wXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgICAgICAvLyBDU1MgMi4xXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTsgICAgICAvLyBDU1MgMy4wXG4gIHdoaXRlLXNwYWNlOiAtcHJlLXdyYXA7ICAgICAvLyBPcGVyYSA0LTZcbiAgd2hpdGUtc3BhY2U6IC1vLXByZS13cmFwOyAgIC8vIE9wZXJhIDdcbiAgd2hpdGUtc3BhY2U6IC1tb3otcHJlLXdyYXA7IC8vIE1vemlsbGFcbiAgd2hpdGUtc3BhY2U6IC1ocC1wcmUtd3JhcDsgIC8vIEhQIFByaW50ZXJzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgICAgICAvLyBJRSA1K1xufVxuIiwiQGltcG9ydCBcInR5cG9ncmFwaHkvbGlua3NcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2xpc3RzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS90ZXh0XCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS92ZXJ0aWNhbF9yaHl0aG1cIjtcbiIsIkBpbXBvcnQgXCIuLi9sYXlvdXQvZ3JpZC1iYWNrZ3JvdW5kXCI7XG5cbi8vIFRoZSBiYXNlIGZvbnQgc2l6ZS5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBkZWZhdWx0IGJvcmRlciBzdHlsZSBmb3Igcmh5dGhtIGJvcmRlcnMuXG4kZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplOiAxNnB4O1xuXG4vLyBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gdXNlIGFic29sdXRlIHBpeGVscyBpbiBzaXppbmcgeW91ciB0eXBvZ3JhcGh5LlxuJHJlbGF0aXZlLWZvbnQtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgdGhlIGBhZGp1c3QtZm9udC1zaXplLXRvYCBtaXhpbiBhbmQgdGhlIGBsaW5lcy1mb3ItZm9udC1zaXplYCBmdW5jdGlvblxuLy8gdG8gcm91bmQgdGhlIGxpbmUgaGVpZ2h0IHRvIHRoZSBuZWFyZXN0IGhhbGYgbGluZSBoZWlnaHQgaW5zdGVhZCBvZiB0aGVcbi8vIG5lYXJlc3QgaW50ZWdyYWwgbGluZSBoZWlnaHQgdG8gYXZvaWQgbGFyZ2Ugc3BhY2luZyBiZXR3ZWVuIGxpbmVzLlxuJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRW5zdXJlIHRoZXJlIGlzIGF0IGxlYXN0IHRoaXMgbWFueSBwaXhlbHNcbi8vIG9mIHZlcnRpY2FsIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IHRoZSB0ZXh0LlxuJG1pbi1saW5lLXBhZGRpbmc6IDJweCAhZGVmYXVsdDtcblxuLy8gJGJhc2UtZm9udC1zaXplIGJ1dCBpbiB5b3VyIG91dHB1dCB1bml0IG9mIGNob2ljZS5cbi8vIERlZmF1bHRzIHRvIDFlbSB3aGVuIGAkcmVsYXRpdmUtZm9udC1zaXppbmdgIGlzIHRydWUuXG4kZm9udC11bml0OiBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsIDFlbSwgJGJhc2UtZm9udC1zaXplKSAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2ljIHVuaXQgb2YgZm9udCByaHl0aG0uXG4kYmFzZS1yaHl0aG0tdW5pdDogJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUgKiAkZm9udC11bml0O1xuXG4vLyBUaGUgbGVhZGVyIGlzIHRoZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBpbiBhIGxpbmUuXG4vLyBJdCBtaWdodCBiZSB1c2VmdWwgaW4geW91ciBjYWxjdWxhdGlvbnMuXG4kYmFzZS1sZWFkZXI6ICgkYmFzZS1saW5lLWhlaWdodCAtICRiYXNlLWZvbnQtc2l6ZSkgKiAkZm9udC11bml0IC8gJGJhc2UtZm9udC1zaXplO1xuXG4vLyBUaGUgaGFsZi1sZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGFib3ZlIGFuZCBiZWxvdyBhIGxpbmUuXG4vLyBJdCBtaWdodCBiZSB1c2VmdWwgaW4geW91ciBjYWxjdWxhdGlvbnMuXG4kYmFzZS1oYWxmLWxlYWRlcjogJGJhc2UtbGVhZGVyIC8gMjtcblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYSByZWxhdGl2ZSB1bml0LlxuQGZ1bmN0aW9uIHJlbGF0aXZlLXVuaXQoJG51bWJlcikge1xuICBAcmV0dXJuIHVuaXQoJG51bWJlcikgPT0gXCIlXCIgb3IgdW5pdCgkbnVtYmVyKSA9PSBcImVtXCIgb3IgdW5pdCgkbnVtYmVyKSA9PSBcInJlbVwiXG59XG5cbi8vIFRydWUgaWYgYSBudW1iZXIgaGFzIGFuIGFic29sdXRlIHVuaXQuXG5AZnVuY3Rpb24gYWJzb2x1dGUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gbm90KHJlbGF0aXZlLXVuaXQoJG51bWJlcikgb3IgdW5pdGxlc3MoJG51bWJlcikpO1xufVxuXG5AaWYgJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGFuZCBub3QocmVsYXRpdmUtdW5pdCgkZm9udC11bml0KSkge1xuICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyB0cnVlIGJ1dCAkZm9udC11bml0IGlzIHNldCB0byAjeyRmb250LXVuaXR9IHdoaWNoIGlzIG5vdCBhIHJlbGF0aXZlIHVuaXQuXCI7XG59XG5cbi8vIEVzdGFibGlzaGVzIGEgZm9udCBiYXNlbGluZSBmb3IgdGhlIGdpdmVuIGZvbnQtc2l6ZS5cbkBtaXhpbiBlc3RhYmxpc2gtYmFzZWxpbmUoJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIC8vIElFIDYgcmVmdXNlcyB0byByZXNpemUgZm9udHMgc2V0IGluIHBpeGVscyBhbmQgaXQgd2VpcmRseSByZXNpemVzIGZvbnRzXG4gIC8vIHdob3NlIHJvb3QgaXMgc2V0IGluIGVtcy4gU28gd2Ugc2V0IHRoZSByb290IGZvbnQgc2l6ZSBpbiBwZXJjZW50YWdlcyBvZlxuICAvLyB0aGUgZGVmYXVsdCBmb250IHNpemUuXG4gICogaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlICogKCRmb250LXNpemUgLyAkYnJvd3Nlci1kZWZhdWx0LWZvbnQtc2l6ZSk7XG4gIH1cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGZvbnQtc2l6ZSwgJGJhc2UtZm9udC1zaXplKSk7XG4gIH1cbn1cblxuLy8gUmVzZXRzIHRoZSBsaW5lLWhlaWdodCB0byAxIHZlcnRpY2FsIHJoeXRobSB1bml0LlxuLy8gRG9lcyBub3Qgd29yayBvbiBlbGVtZW50cyB3aG9zZSBmb250LXNpemUgaXMgZGlmZmVyZW50IGZyb20gJGJhc2UtZm9udC1zaXplLlxuLy9cbi8vIEBkZXByZWNhdGVkIFRoaXMgbWl4aW4gd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IHJlbGVhc2UuXG4vLyBQbGVhc2UgdXNlIHRoZSBgYWRqdXN0LWxlYWRpbmctdG9gIG1peGluIGluc3RlYWQuXG5AbWl4aW4gcmVzZXQtYmFzZWxpbmUge1xuICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygxLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICRiYXNlLWZvbnQtc2l6ZSwgJGJhc2UtZm9udC1zaXplKSk7XG59XG5cbi8vIFNob3cgYSBiYWNrZ3JvdW5kIGltYWdlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVidWcgeW91ciBhbGlnbm1lbnRzLlxuLy8gSW5jbHVkZSB0aGUgJGltZyBhcmd1bWVudCBpZiB5b3Ugd291bGQgcmF0aGVyIHVzZSB5b3VyIG93biBpbWFnZSB0aGFuIHRoZVxuLy8gQ29tcGFzcyBkZWZhdWx0IGdyYWRpZW50IGltYWdlLlxuQG1peGluIGRlYnVnLXZlcnRpY2FsLWFsaWdubWVudCgkaW1nOiBmYWxzZSkge1xuICBAaWYgJGltZyB7XG4gICAgYmFja2dyb3VuZDogaW1hZ2UtdXJsKCRpbWcpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoJGJhc2Utcmh5dGhtLXVuaXQpO1xuICB9XG59XG5cbi8vIEFkanVzdCBhIGJsb2NrIHRvIGhhdmUgYSBkaWZmZXJlbnQgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCB0byBtYWludGFpbiB0aGVcbi8vIHJoeXRobS4gJGxpbmVzIHNwZWNpZmllcyBob3cgbWFueSBtdWx0aXBsZXMgb2YgdGhlIGJhc2VsaW5lIHJoeXRobSBlYWNoIGxpbmVcbi8vIG9mIHRoaXMgZm9udCBzaG91bGQgdXNlIHVwLiBJdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdFxuLy8gZGVmYXVsdHMgdG8gdGhlIHNtYWxsZXN0IGludGVnZXIgdGhhdCBpcyBsYXJnZSBlbm91Z2ggdG8gZml0IHRoZSBmb250LlxuLy8gVXNlICRmcm9tLXNpemUgdG8gYWRqdXN0IGZyb20gYSBmb250LXNpemUgb3RoZXIgdGhhbiB0aGUgYmFzZSBmb250LXNpemUuXG5AbWl4aW4gYWRqdXN0LWZvbnQtc2l6ZS10bygkdG8tc2l6ZSwgJGxpbmVzOiBsaW5lcy1mb3ItZm9udC1zaXplKCR0by1zaXplKSwgJGZyb20tc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZyb20tc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFkanVzdC1mb250LXNpemUtdG9cIjtcbiAgfVxuICBmb250LXNpemU6ICRmb250LXVuaXQgKiAkdG8tc2l6ZSAvICRmcm9tLXNpemU7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKCRsaW5lcywgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkdG8tc2l6ZSwgJGJhc2UtZm9udC1zaXplKSk7XG59XG5cbi8vIEFkanVzdCBhIGJsb2NrIHRvIGhhdmUgZGlmZmVyZW50IGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZSByaHl0aG0uXG4vLyAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZSBvZiB0aGlzXG4vLyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0IGRlZmF1bHRzIHRvIHRoZVxuLy8gc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG5AbWl4aW4gYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbGluZS1oZWlnaHQ6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBDYWxjdWxhdGUgcmh5dGhtIHVuaXRzLlxuQGZ1bmN0aW9uIHJoeXRobShcbiAgJGxpbmVzOiAxLFxuICAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsXG4gICRvZmZzZXQ6IDBcbikge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byB0aGUgcmh5dGhtIGZ1bmN0aW9uXCI7XG4gIH1cbiAgJHJoeXRobTogJGZvbnQtdW5pdCAqICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRvZmZzZXQpIC8gJGZvbnQtc2l6ZTtcbiAgLy8gUm91bmQgdGhlIHBpeGVscyBkb3duIHRvIG5lYXJlc3QgaW50ZWdlci5cbiAgQGlmIHVuaXQoJHJoeXRobSkgPT0gcHgge1xuICAgICRyaHl0aG06IGZsb29yKCRyaHl0aG0pO1xuICB9XG4gIEByZXR1cm4gJHJoeXRobTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIG11bHRpcGxlIG9mIHJoeXRobSB1bml0cyBuZWVkZWQgdG8gY29udGFpbiB0aGUgZm9udC1zaXplLlxuQGZ1bmN0aW9uIGxpbmVzLWZvci1mb250LXNpemUoJGZvbnQtc2l6ZSkge1xuICAkbGluZXM6IGlmKCRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZSxcbiAgICAgICAgICAgICAgY2VpbCgyICogJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSAvIDIsXG4gICAgICAgICAgICAgIGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSk7XG4gIEBpZiAkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUgPCAkbWluLWxpbmUtcGFkZGluZyAqIDIge1xuICAgICRsaW5lczogJGxpbmVzICsgaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLCAwLjUsIDEpO1xuICB9XG4gIEByZXR1cm4gJGxpbmVzO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIGxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJHByb3BlcnR5OiBtYXJnaW4pIHtcbiAgI3skcHJvcGVydHl9LXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZSBhcyBwYWRkaW5nLlxuQG1peGluIHBhZGRpbmctbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIG1hcmdpbi5cbkBtaXhpbiBtYXJnaW4tbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIG1hcmdpbi10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlLiBUaGUgJHByb3BlcnR5IGNhbiBiZSBtYXJnaW4gb3IgcGFkZGluZy5cbkBtaXhpbiB0cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBwYWRkaW5nLlxuQG1peGluIHBhZGRpbmctdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIG1hcmdpbi1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBTaG9ydGhhbmQgbWl4aW4gdG8gYXBwbHkgd2hpdGVzcGFjZSBmb3IgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBhbmQgcGFkZGluZy5cbkBtaXhpbiByaHl0aG0oJGxlYWRlcjogMCwgJHBhZGRpbmctbGVhZGVyOiAwLCAkcGFkZGluZy10cmFpbGVyOiAwLCAkdHJhaWxlcjogMCwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIGxlYWRlcigkbGVhZGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgcGFkZGluZy1sZWFkZXIoJHBhZGRpbmctbGVhZGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgcGFkZGluZy10cmFpbGVyKCRwYWRkaW5nLXRyYWlsZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSB0cmFpbGVyKCR0cmFpbGVyLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgYSBib3JkZXIgYW5kIHdoaXRlc3BhY2UgdG8gYW55IHNpZGUgd2l0aG91dCBkZXN0cm95aW5nIHRoZSB2ZXJ0aWNhbFxuLy8gcmh5dGhtLiBUaGUgd2hpdGVzcGFjZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGggb2YgdGhlIGJvcmRlci5cbkBtaXhpbiBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoJHNpZGUsICR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXJcIjtcbiAgfVxuICBib3JkZXItI3skc2lkZX0tc3R5bGU6ICRib3JkZXItc3R5bGU7XG4gIGJvcmRlci0jeyRzaWRlfS13aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIHBhZGRpbmctI3skc2lkZX06IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGJvcmRlcnMgYW5kIHdoaXRlc3BhY2UgZXF1YWxseSB0byBhbGwgc2lkZXMuXG5AbWl4aW4gcmh5dGhtLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHJoeXRobS1ib3JkZXJzXCI7XG4gIH1cbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRmb250LXVuaXQgKiAkd2lkdGggLyAkZm9udC1zaXplO1xuICB9O1xuICBwYWRkaW5nOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplLCAkb2Zmc2V0OiAkd2lkdGgpO1xufVxuXG4vLyBBcHBseSBhIGxlYWRpbmcgYm9yZGVyLlxuQG1peGluIGxlYWRpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIodG9wLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGEgdHJhaWxpbmcgYm9yZGVyLlxuQG1peGluIHRyYWlsaW5nLWJvcmRlcigkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKGJvdHRvbSwgJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBcHBseSBib3RoIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJvcmRlcnMuXG5AbWl4aW4gaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBsZWFkaW5nLWJvcmRlcigkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG4gIEBpbmNsdWRlIHRyYWlsaW5nLWJvcmRlcigkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFsaWFzIGZvciBgaG9yaXpvbnRhbC1ib3JkZXJzYCBtaXhpbi5cbkBtaXhpbiBoLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtYm9yZGVycygkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG4iLCJAaW1wb3J0IFwiLi4vY3NzMy9pbWFnZXNcIjtcbkBpbXBvcnQgXCIuLi9jc3MzL2JhY2tncm91bmQtc2l6ZVwiO1xuXG4vLyBTZXQgdGhlIGNvbG9yIG9mIHlvdXIgY29sdW1uc1xuJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IgICAgIDogcmdiYSgxMDAsIDEwMCwgMjI1LCAwLjI1KSAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSBjb2xvciBvZiB5b3VyIGd1dHRlcnNcbiRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yICAgICA6IHJnYmEoMCwgMCwgMCwgMCkgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB5b3VyIGdyaWRcbiRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyAgICA6IDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFNldCB0aGUgd2lkdGggb2YgeW91ciBjb2x1bW5zXG4kZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCAgICAgOiAzMHB4ICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBTZXQgdGhlIHdpZHRoIG9mIHlvdXIgZ3V0dGVyc1xuJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGggICAgIDogMTBweCAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSBvZmZzZXQsIGlmIHlvdXIgY29sdW1ucyBhcmUgcGFkZGVkIGluIGZyb20gdGhlIGNvbnRhaW5lciBlZGdlXG4kZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCAgICAgICAgICAgOiAwcHggICAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgY29sb3Igb2YgeW91ciBiYXNlbGluZVxuJGdyaWQtYmFja2dyb3VuZC1iYXNlbGluZS1jb2xvciAgIDogcmdiYSgwLCAwLCAwLCAwLjUpICAgICAgICAgICFkZWZhdWx0O1xuLy8gU2V0IHRoZSBoZWlnaHQgb2YgeW91ciBiYXNlbGluZSBncmlkXG4kZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWhlaWdodCAgOiAxLjVlbSAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cbi8vIHRvZ2dsZSB5b3VyIGNvbHVtbnMgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctY29sdW1uLWdyaWQtYmFja2dyb3VuZHMgICAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gdG9nZ2xlIHlvdXIgdmVydGljYWwgZ3JpZHMgb24gYW5kIG9mZlxuJHNob3ctYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kcyAgIDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gdG9nZ2xlIGFsbCB5b3VyIGdyaWRzIG9uIGFuZCBvZmZcbiRzaG93LWdyaWQtYmFja2dyb3VuZHMgICAgICAgICAgICA6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuLy8gb3B0aW9uYWxseSBmb3JjZSB5b3VyIGdyaWQtaW1hZ2UgdG8gcmVtYWluIGZsdWlkXG4vLyBubyBtYXR0ZXIgd2hhdCB1bml0cyB5b3UgdXNlZCB0byBkZWNsYXJlZCB5b3VyIGdyaWQuXG4kZ3JpZC1iYWNrZ3JvdW5kLWZvcmNlLWZsdWlkICAgICAgOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gQ3JlYXRlIHRoZSBncmFkaWVudCBuZWVkZWQgZm9yIGJhc2VsaW5lIGdyaWRzXG5AZnVuY3Rpb24gZ2V0LWJhc2VsaW5lLWdyYWRpZW50KFxuICAkY29sb3IgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yXG4pIHtcbiAgJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoYm90dG9tLCAkY29sb3IgNSUsIHJnYmEoJGNvbG9yLDApIDUlKTtcbiAgQHJldHVybiAkZ3JhZGllbnQ7XG59XG5cbi8vIENyZWF0ZSB0aGUgY29sb3Itc3RvcHMgbmVlZGVkIGZvciBob3Jpem9udGFsIGdyaWRzXG5AZnVuY3Rpb24gYnVpbGQtZ3JpZC1iYWNrZ3JvdW5kKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvclxuKSB7XG4gICRncmlkOiBjb21wYWN0KCk7XG4gICRncmlkOiBhcHBlbmQoJGdyaWQsICRndXR0ZXItY29sb3IgJG9mZnNldCwgY29tbWEpO1xuICBAZm9yICRpIGZyb20gMCB0byAkdG90YWwge1xuXG4gICAgLy8gJGEgcmVwcmVzZW50cyB0aGUgc3RhcnQgb2YgdGhpcyBjb2x1bW4sIGluaXRpYWxseSBlcXVhbCB0byB0aGUgb2Zmc2V0XG4gICAgJGE6ICRvZmZzZXQ7XG4gICAgQGlmICRpID4gMCB7ICRhOiAkYSArICgoJGNvbHVtbiArICRndXR0ZXIpICogJGkpOyB9XG5cbiAgICAvLyAkZyByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGlzIGd1dHRlciwgZXF1YWwgdG8gJGEgcGx1cyBvbmUgY29sdW1uLXdpZHRoXG4gICAgJGc6ICRhICsgJGNvbHVtbjtcblxuICAgIC8vICR6IHJlcHJlc2VudHMgdGhlIGVuZCBvZiBhIGd1dHRlciwgZXF1YWwgdG8gJGcgcGx1cyBvbmUgZ3V0dGVyLXdpZHRoXG4gICAgJHo6ICRnICsgJGd1dHRlcjtcblxuICAgIEBpZiAodW5pdCgkYSkgPT0gXCIlXCIpIGFuZCAoJGkgPT0gKCR0b3RhbCAtIDEpKSB7XG4gICAgICAkejogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBhbmQgd2UgYWRkIHRoaXMgY29sdW1uL2d1dHRlciBwYWlyIHRvIG91ciBncmlkXG4gICAgJGdyaWQ6IGpvaW4oJGdyaWQsICgkY29sdW1uLWNvbG9yICRhLCAkY29sdW1uLWNvbG9yICRnLCAkZ3V0dGVyLWNvbG9yICRnLCAkZ3V0dGVyLWNvbG9yICR6KSk7XG4gIH1cblxuICBAcmV0dXJuICRncmlkO1xufVxuXG4vLyBSZXR1cm4gdGhlIGdyYWRpZW50IG5lZWRlZCBmb3IgaG9yaXpvbnRhbCBncmlkc1xuQGZ1bmN0aW9uIGdldC1jb2x1bW4tZ3JhZGllbnQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yLFxuICAkZm9yY2UtZmx1aWQgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWZvcmNlLWZsdWlkXG4pIHtcbiAgJGdyaWQ6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gZG9uJ3QgZm9yY2UgZmx1aWQgZ3JpZHMgd2hlbiB0aGV5IGFyZSBhbHJlYWR5IGZsdWlkLlxuICBAaWYgdW5pdCgkY29sdW1uKSA9PSBcIiVcIiB7ICRmb3JjZS1mbHVpZDogZmFsc2U7IH1cblxuICBAaWYgJGZvcmNlLWZsdWlkIHtcbiAgICAkZ3JpZDogZ2V0LWNvbHVtbi1mbHVpZC1ncmlkKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IpO1xuICB9IEBlbHNlIHtcbiAgICAkZ3JpZDogYnVpbGQtZ3JpZC1iYWNrZ3JvdW5kKCR0b3RhbCwkY29sdW1uLCRndXR0ZXIsJG9mZnNldCwkY29sdW1uLWNvbG9yLCRndXR0ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gcmV0dXJuIHRoZSBob3Jpem9udGFsIGdyaWQgYXMgYSBncmFkaWVudFxuICAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChsZWZ0LCAkZ3JpZCk7XG4gIEByZXR1cm4gJGdyYWRpZW50O1xufVxuXG4vLyBDb252ZXJ0IGEgZ3JpZCBmcm9tIGZpeGVkIHVuaXRzIGludG8gcGVyY2VudGFnZXMuXG5AZnVuY3Rpb24gZ2V0LWNvbHVtbi1mbHVpZC1ncmlkKFxuICAkdG90YWwgICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLXRvdGFsLWNvbHVtbnMsXG4gICRjb2x1bW4gICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLXdpZHRoLFxuICAkZ3V0dGVyICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci13aWR0aCxcbiAgJG9mZnNldCAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1vZmZzZXQsXG4gICRjb2x1bW4tY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtY29sdW1uLWNvbG9yLFxuICAkZ3V0dGVyLWNvbG9yICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWd1dHRlci1jb2xvclxuKSB7XG4gICRjb250ZXh0OiAoJGNvbHVtbiAqICR0b3RhbCkgKyAoJGd1dHRlciAqICgkdG90YWwgLSAxKSArICgkb2Zmc2V0ICogMikpO1xuICAkb2Zmc2V0OiAkb2Zmc2V0IC8gJGNvbnRleHQgKiAxMDAlO1xuICAkY29sdW1uOiAkY29sdW1uIC8gJGNvbnRleHQgKiAxMDAlO1xuICAkZ3V0dGVyOiAkZ3V0dGVyIC8gJGNvbnRleHQgKiAxMDAlO1xuXG4gIC8vIHJldHVybiB0aGUgaG9yaXpvbnRhbCBncmlkIGFzIGEgc2V0IG9mIGNvbG9yLXN0b3BzXG4gICRncmlkOiBidWlsZC1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvcik7XG4gIEByZXR1cm4gJGdyaWQ7XG59XG5cblxuLy8gQWRkIGp1c3QgdGhlIGJhc2VsaW5lIGdyaWQgdG8gYW4gZWxlbWVudCdzIGJhY2tncm91bmRcbkBtaXhpbiBiYXNlbGluZS1ncmlkLWJhY2tncm91bmQoXG4gICRiYXNlbGluZSA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0LFxuICAkY29sb3IgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yXG4pIHtcbiAgQGlmICRzaG93LWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoZ2V0LWJhc2VsaW5lLWdyYWRpZW50KCRjb2xvcikpO1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgxMDAlICRiYXNlbGluZSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuLy8gQWRkIGp1c3QgdGhlIGhvcml6b250YWwgZ3JpZCB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGNvbHVtbi1ncmlkLWJhY2tncm91bmQoXG4gICR0b3RhbCAgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtdG90YWwtY29sdW1ucyxcbiAgJGNvbHVtbiAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4td2lkdGgsXG4gICRndXR0ZXIgICAgICAgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLXdpZHRoLFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yLFxuICAkZm9yY2UtZmx1aWQgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWZvcmNlLWZsdWlkXG4pIHtcbiAgQGlmICRzaG93LWdyaWQtYmFja2dyb3VuZHMgYW5kICRzaG93LWNvbHVtbi1ncmlkLWJhY2tncm91bmRzIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKFxuICAgICAgZ2V0LWNvbHVtbi1ncmFkaWVudCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4vLyBBZGQgYm90aCBob3Jpem9udGFsIGFuZCBiYXNlbGluZSBncmlkcyB0byBhbiBlbGVtZW50J3MgYmFja2dyb3VuZFxuQG1peGluIGdyaWQtYmFja2dyb3VuZChcbiAgJHRvdGFsICAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC10b3RhbC1jb2x1bW5zLFxuICAkY29sdW1uICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWNvbHVtbi13aWR0aCxcbiAgJGd1dHRlciAgICAgICAgIDogJGdyaWQtYmFja2dyb3VuZC1ndXR0ZXItd2lkdGgsXG4gICRiYXNlbGluZSAgICAgICA6ICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtaGVpZ2h0LFxuICAkb2Zmc2V0ICAgICAgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLW9mZnNldCxcbiAgJGNvbHVtbi1jb2xvciAgIDogJGdyaWQtYmFja2dyb3VuZC1jb2x1bW4tY29sb3IsXG4gICRndXR0ZXItY29sb3IgICA6ICRncmlkLWJhY2tncm91bmQtZ3V0dGVyLWNvbG9yLFxuICAkYmFzZWxpbmUtY29sb3IgOiAkZ3JpZC1iYWNrZ3JvdW5kLWJhc2VsaW5lLWNvbG9yLFxuICAkZm9yY2UtZmx1aWQgICAgOiAkZ3JpZC1iYWNrZ3JvdW5kLWZvcmNlLWZsdWlkXG4pIHtcbiAgQGlmICRzaG93LWdyaWQtYmFja2dyb3VuZHMge1xuICAgIEBpZiAkc2hvdy1iYXNlbGluZS1ncmlkLWJhY2tncm91bmRzIGFuZCAkc2hvdy1jb2x1bW4tZ3JpZC1iYWNrZ3JvdW5kcyB7XG4gICAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKFxuICAgICAgICBnZXQtYmFzZWxpbmUtZ3JhZGllbnQoJGJhc2VsaW5lLWNvbG9yKSxcbiAgICAgICAgZ2V0LWNvbHVtbi1ncmFkaWVudCgkdG90YWwsJGNvbHVtbiwkZ3V0dGVyLCRvZmZzZXQsJGNvbHVtbi1jb2xvciwkZ3V0dGVyLWNvbG9yLCAkZm9yY2UtZmx1aWQpXG4gICAgICApO1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1zaXplKDEwMCUgJGJhc2VsaW5lLCBhdXRvKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKCRiYXNlbGluZSwgJGJhc2VsaW5lLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIGNvbHVtbi1ncmlkLWJhY2tncm91bmQoJHRvdGFsLCRjb2x1bW4sJGd1dHRlciwkb2Zmc2V0LCRjb2x1bW4tY29sb3IsJGd1dHRlci1jb2xvciwgJGZvcmNlLWZsdWlkKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvZ2VuZXJhbC9oYWNrc1wiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJGFkZC1waWUtYmc6IHByZWZpeGVkKC1waWUsICAgJGJhY2tncm91bmRzKSBvciAkbXVsdC1iZ3M7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLXN2ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW93ZygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogLXdlYmtpdCgkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgLW1veigkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGJhY2tncm91bmRzKSB7ICAgICAgYmFja2dyb3VuZDogICAgICAtbygkYmFja2dyb3VuZHMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICBhbmQgJGFkZC1waWUtYmcgICAgICAgICAgICAgICAgICAgICB7IC1waWUtYmFja2dyb3VuZDogICAgLXBpZSgkYmFja2dyb3VuZHMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogICAgICAgICAkYmFja2dyb3VuZHMgO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC13aXRoLWNzczItZmFsbGJhY2soXG4gICRiYWNrZ3JvdW5kLTEsXG4gICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0zOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTU6IGZhbHNlLFxuICAkYmFja2dyb3VuZC02OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxuICAkYmFja2dyb3VuZC05OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMTA6IGZhbHNlXG4pIHtcbiAgJGJhY2tncm91bmRzOiBjb21wYWN0KCRiYWNrZ3JvdW5kLTEsICRiYWNrZ3JvdW5kLTIsICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsICRiYWNrZ3JvdW5kLTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG4gICRtdWx0LWJnczogLWNvbXBhc3MtbGlzdC1zaXplKCRiYWNrZ3JvdW5kcykgPiAxO1xuICAkc2ltcGxlLWJhY2tncm91bmQ6IGlmKCRtdWx0LWJncyBvciBwcmVmaXhlZCgtY3NzMiwgJGJhY2tncm91bmRzKSwgLWNzczIoLWNvbXBhc3MtbnRoKCRiYWNrZ3JvdW5kcywgbGFzdCkpLCBmYWxzZSk7XG4gIEBpZiBub3QoYmxhbmsoJHNpbXBsZS1iYWNrZ3JvdW5kKSkgeyBiYWNrZ3JvdW5kOiAkc2ltcGxlLWJhY2tncm91bmQ7IH1cbiAgQGluY2x1ZGUgYmFja2dyb3VuZCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbn1cblxuXG4vLyBCYWNrZ3JvdW5kIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2UtMSxcbiAgJGltYWdlLTI6IGZhbHNlLFxuICAkaW1hZ2UtMzogZmFsc2UsXG4gICRpbWFnZS00OiBmYWxzZSxcbiAgJGltYWdlLTU6IGZhbHNlLFxuICAkaW1hZ2UtNjogZmFsc2UsXG4gICRpbWFnZS03OiBmYWxzZSxcbiAgJGltYWdlLTg6IGZhbHNlLFxuICAkaW1hZ2UtOTogZmFsc2UsXG4gICRpbWFnZS0xMDogZmFsc2Vcbikge1xuICAkaW1hZ2VzOiBjb21wYWN0KCRpbWFnZS0xLCAkaW1hZ2UtMiwgJGltYWdlLTMsICRpbWFnZS00LCAkaW1hZ2UtNSwgJGltYWdlLTYsICRpbWFnZS03LCAkaW1hZ2UtOCwgJGltYWdlLTksICRpbWFnZS0xMCk7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRpbWFnZXMpIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgkaW1hZ2VzKSA+IDE7XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1zdmcoJGltYWdlcyk7IGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW93ZygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdCgkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgLW1veigkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZXMpIHsgYmFja2dyb3VuZC1pbWFnZTogICAgICAtbygkaW1hZ2VzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgIHsgQHdhcm4gXCJQSUUgZG9lcyBub3Qgc3VwcG9ydCBiYWNrZ3JvdW5kLWltYWdlLiBVc2UgQGluY2x1ZGUgYmFja2dyb3VuZCgjeyRpbWFnZXN9KSBpbnN0ZWFkLlwiIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgJGltYWdlcyA7XG59XG5cbi8vIEVtaXQgYSBJRS1TcGVjaWZpYyBmaWx0ZXJzIHRoYXQgcmVuZGVycyBhIHNpbXBsZSBsaW5lYXIgZ3JhZGllbnQuXG4vLyBGb3IgdXNlIGluIElFIDYgLSA4LiBCZXN0IHByYWN0aWNlIHdvdWxkIGhhdmUgeW91IGFwcGx5IHRoaXMgdmlhIGFcbi8vIGNvbmRpdGlvbmFsIElFIHN0eWxlc2hlZXQsIGJ1dCBpZiB5b3UgbXVzdCwgeW91IHNob3VsZCBwbGFjZSB0aGlzIGJlZm9yZVxuLy8gYW55IGJhY2tncm91bmQtaW1hZ2UgcHJvcGVydGllcyB0aGF0IHlvdSBoYXZlIHNwZWNpZmllZC5cbi8vXG4vLyBGb3IgdGhlIGAkb3JpZW50YXRpb25gIHBhcmFtZXRlciwgeW91IGNhbiBwYXNzIGB2ZXJ0aWNhbGAgb3IgYGhvcml6b250YWxgLlxuQG1peGluIGZpbHRlci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbjogdmVydGljYWwpIHtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbiAgJGdyYWRpZW50LXR5cGU6IGlmKCRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCwgMCwgMSk7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZ3JhZGllbnRUeXBlPSN7JGdyYWRpZW50LXR5cGV9LCBzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScpO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgcHJvcGVydGllcyBhbmQgdmFsdWVzLlxuQG1peGluIGJvcmRlci1pbWFnZSgkdmFsdWUpIHtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIHsgICAgLW1vei1ib3JkZXItaW1hZ2U6ICAgIC1tb3oocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiAgICAtb3dnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogLXdlYmtpdChyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIHsgICAgICAtby1ib3JkZXItaW1hZ2U6ICAgICAgLW8ocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICB7ICAgICAgICAgYm9yZGVyLWltYWdlOiAgICAtc3ZnKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFsdWU7XG59XG5cbi8vIExpc3Qgc3R5bGUgaW1hZ2UgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGxpc3Qtc3R5bGUtaW1hZ2UoJGltYWdlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJGltYWdlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCRpbWFnZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkaW1hZ2UgO1xufVxuXG4vLyBMaXN0IHN0eWxlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlKCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiAgICAgICAgICR2YWx1ZSA7XG59XG5cbi8vIGNvbnRlbnQgcHJvcGVydHkgc3VwcG9ydCBmb3IgdmVuZG9yIHByZWZpeGluZyB3aXRoaW4gdmFsdWVzLlxuQG1peGluIGNvbnRlbnQoJHZhbHVlKSB7XG4gICR2YWx1ZTogLWNvbXBhc3MtbGlzdCgkdmFsdWUpO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAtbW96KCR2YWx1ZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW93ZygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJHZhbHVlKSB7IGNvbnRlbnQ6IC13ZWJraXQoJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICR2YWx1ZSkgeyBjb250ZW50OiAgICAgIC1vKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLXN2ZygkdmFsdWUpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICAgICAgICAgJHZhbHVlIDtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gIG92ZXJyaWRlIHRvIGNoYW5nZSB0aGUgZGVmYXVsdFxuJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG8gIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgc2l6ZSBvZiBiYWNrZ3JvdW5kIGltYWdlcyB1c2luZyBweCwgd2lkdGggYW5kIGhlaWdodCwgb3IgcGVyY2VudGFnZXMuXG4vLyBDdXJyZW50bHkgc3VwcG9ydGVkIGluOiBPcGVyYSwgR2Vja28sIFdlYmtpdC5cbi8vXG4vLyAqIHBlcmNlbnRhZ2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgYmFja2dyb3VuZC1vcmlnaW4gKGRlZmF1bHQgPSBwYWRkaW5nLWJveClcbi8vICogbWl4aW4gZGVmYXVsdHMgdG86IGAkZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemVgXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKFxuICAkc2l6ZS0xOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemUsXG4gICRzaXplLTI6IGZhbHNlLFxuICAkc2l6ZS0zOiBmYWxzZSxcbiAgJHNpemUtNDogZmFsc2UsXG4gICRzaXplLTU6IGZhbHNlLFxuICAkc2l6ZS02OiBmYWxzZSxcbiAgJHNpemUtNzogZmFsc2UsXG4gICRzaXplLTg6IGZhbHNlLFxuICAkc2l6ZS05OiBmYWxzZSxcbiAgJHNpemUtMTA6IGZhbHNlXG4pIHtcbiAgJHNpemUtMTogaWYodHlwZS1vZigkc2l6ZS0xKSA9PSBzdHJpbmcsIHVucXVvdGUoJHNpemUtMSksICRzaXplLTEpO1xuICAkc2l6ZXM6IGNvbXBhY3QoJHNpemUtMSwgJHNpemUtMiwgJHNpemUtMywgJHNpemUtNCwgJHNpemUtNSwgJHNpemUtNiwgJHNpemUtNywgJHNpemUtOCwgJHNpemUtOSwgJHNpemUtMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1zaXplLCAkc2l6ZXMsIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCkpO1xufVxuIiwiQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvaW5saW5lLWJsb2NrXCI7XG5AaW1wb3J0IFwiY3NzMy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LXNoYWRvd1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtY2xpcFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1vcmlnaW5cIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtc2l6ZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3JlZ2lvbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3BpZVwiO1xuQGltcG9ydCBcImNzczMvdXNlci1pbnRlcmZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXhib3hcIjsiLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcblxuLy8gUm91bmQgYWxsIGNvcm5lcnMgYnkgYSBzcGVjaWZpYyBhbW91bnQsIGRlZmF1bHRzIHRvIHZhbHVlIG9mIGAkZGVmYXVsdC1ib3JkZXItcmFkaXVzYC5cbi8vXG4vLyBXaGVuIHR3byB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIGZpcnN0IGlzIHRoZSBob3Jpem9udGFsIHJhZGl1c1xuLy8gYW5kIHRoZSBzZWNvbmQgaXMgdGhlIHZlcnRpY2FsIHJhZGl1cy5cbi8vXG4vLyBOb3RlOiB3ZWJraXQgZG9lcyBub3Qgc3VwcG9ydCBzaG9ydGhhbmQgc3ludGF4IGZvciBzZXZlcmFsIGNvcm5lcnMgYXQgb25jZS5cbi8vIFNvIGluIHRoZSBjYXNlIHdoZXJlIHlvdSBwYXNzIHNldmVyYWwgdmFsdWVzIG9ubHkgdGhlIGZpcnN0IHdpbGwgYmUgcGFzc2VkIHRvIHdlYmtpdC5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyAgICAgLnNpbXBsZSAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgsIDRweCk7IH1cbi8vICAgICAuY29tcG91bmQgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCA1cHgsIDNweCA2cHgpOyB9XG4vLyAgICAgLmNyYXp5ICAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxcHggM3B4IDVweCA3cHgsIDJweCA0cHggNnB4IDhweCl9XG4vL1xuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy9cbi8vICAgIC5zaW1wbGUge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweCA0cHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7IH1cbi8vICAgIFxuLy8gICAgLmNvbXBvdW5kIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHggM3B4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4OyB9XG4vLyAgICBcbi8vICAgIC5jcmF6eSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4IDJweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDsgfVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzOiBmYWxzZSkge1xuXG4gIEBpZiAkdmVydGljYWwtcmFkaXVzIHtcbiAgICAvLyBXZWJraXQgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSBvZmZpY2lhbCBzaG9ydGhhbmQgc3ludGF4IGZvciBzcGVjaWZ5aW5nXG4gICAgLy8gYSB2ZXJ0aWNhbCByYWRpdXMgdW5sZXNzIHNvIGluIGNhc2UgdGhlcmUncyBzZXZlcmFsIHdlIG9ubHkgdGFrZSB0aGUgZmlyc3QuXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJvcmRlci1yYWRpdXMsIGZpcnN0LXZhbHVlLW9mKCRyYWRpdXMpIGZpcnN0LXZhbHVlLW9mKCR2ZXJ0aWNhbC1yYWRpdXMpLFxuICAgICAgbm90KC1tb3opLFxuICAgICAgLXdlYmtpdCxcbiAgICAgIG5vdCgtbyksXG4gICAgICBub3QoLW1zKSxcbiAgICAgIG5vdCgta2h0bWwpLFxuICAgICAgbm90KG9mZmljaWFsKVxuICAgICk7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLXJhZGl1c1wiLCAkcmFkaXVzIHVucXVvdGUoXCIvXCIpICR2ZXJ0aWNhbC1yYWRpdXMsXG4gICAgICAtbW96LFxuICAgICAgbm90KC13ZWJraXQpLFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgLWtodG1sLFxuICAgICAgb2ZmaWNpYWxcbiAgICApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8gUm91bmQgcmFkaXVzIGF0IHBvc2l0aW9uIGJ5IGFtb3VudC5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCR2ZXJ0YDogYHRvcGAsIGBib3R0b21gXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCRob3J6YDogYGxlZnRgLCBgcmlnaHRgXG5cbkBtaXhpbiBib3JkZXItY29ybmVyLXJhZGl1cygkdmVydCwgJGhvcnosICRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgLy8gU3VwcG9ydCBmb3IgbW96aWxsYSdzIHN5bnRheCBmb3Igc3BlY2lmeWluZyBhIGNvcm5lclxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzLSN7JHZlcnR9I3skaG9yen1cIiwgJHJhZGl1cyxcbiAgICAtbW96LFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdChvZmZpY2lhbClcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLSN7JHZlcnR9LSN7JGhvcnp9LXJhZGl1c1wiLCAkcmFkaXVzLFxuICAgIG5vdCgtbW96KSxcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIFxufVxuXG4vLyBSb3VuZCB0b3AtbGVmdCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKHRvcCwgbGVmdCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgdG9wLXJpZ2h0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKHRvcCwgcmlnaHQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXMoYm90dG9tLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3R0b20tcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXMoYm90dG9tLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCB0b3AgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggcmlnaHQgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggYm90dG9tIGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIGxlZnQgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpOyB9XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgQ1NTIG9wYWNpdHkuIFRha2VzIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSBhcyB0aGUgYXJndW1lbnQsIGUuZy4gMC41IGZvciA1MCUgb3BhY2l0eS5cbi8vXG4vLyAgICAgQHBhcmFtICRvcGFjaXR5XG4vLyAgICAgICAgIEEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSwgd2hlcmUgMCBpcyB0cmFuc3BhcmVudCBhbmQgMSBpcyBvcGFxdWUuXG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9I3tyb3VuZCgkb3BhY2l0eSAqIDEwMCl9KVwiKTtcbiAgfVxuICBvcGFjaXR5OiAkb3BhY2l0eTtcbn1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQuXG5AbWl4aW4gdHJhbnNwYXJlbnQgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IG9wYXF1ZS5cbkBtaXhpbiBvcGFxdWUgeyBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4iLCIvLyBAZG9jIG9mZlxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBiZWZvcmUgaW1wb3J0aW5nLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGJveCBzaGFkb3dzXG4kZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yOiAjMzMzMzMzICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBob3Jpem9udGFsIG9mZnNldC4gUG9zaXRpdmUgaXMgdG8gdGhlIHJpZ2h0LlxuJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCB2ZXJ0aWNhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIGRvd24uXG4kZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGJsdXIgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyOiA1cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNwcmVhZCBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzaGFkb3cgaW5zZXQ6IGluc2V0IG9yIGZhbHNlIChmb3Igc3RhbmRhcmQgc2hhZG93KS5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMgYm94IHNoYWRvd3Mgd2hlbiBvbmUgb3IgbW9yZSBib3hcbi8vIHNoYWRvd3MgYXJlIG5lZWRlZC5cbi8vIEVhY2ggc2hhZG93IGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGJveC1zaGFkb3cgcHJvcGVydHkuXG5AbWl4aW4gYm94LXNoYWRvdyhcbiAgJHNoYWRvdy0xIDogZGVmYXVsdCxcbiAgJHNoYWRvdy0yIDogZmFsc2UsXG4gICRzaGFkb3ctMyA6IGZhbHNlLFxuICAkc2hhZG93LTQgOiBmYWxzZSxcbiAgJHNoYWRvdy01IDogZmFsc2UsXG4gICRzaGFkb3ctNiA6IGZhbHNlLFxuICAkc2hhZG93LTcgOiBmYWxzZSxcbiAgJHNoYWRvdy04IDogZmFsc2UsXG4gICRzaGFkb3ctOSA6IGZhbHNlLFxuICAkc2hhZG93LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkc2hhZG93LTEgPT0gZGVmYXVsdCB7XG4gICAgJHNoYWRvdy0xIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KGlmKCRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQsIGluc2V0LCBmYWxzZSksICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1ciwgJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3IpKTtcbiAgfVxuICAkc2hhZG93IDogY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaGFkb3csICRzaGFkb3csXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBQcm92aWRlcyBhIHNpbmdsZSBjcm9zcy1icm93c2VyIENTUyBib3ggc2hhZG93IGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMy5cbi8vIEluY2x1ZGVzIGRlZmF1bHQgYXJndW1lbnRzIGZvciBob3Jpem9udGFsIG9mZnNldCwgdmVydGljYWwgb2Zmc2V0LCBibHVyIGxlbmd0aCwgc3ByZWFkIGxlbmd0aCwgY29sb3IgYW5kIGluc2V0LlxuQG1peGluIHNpbmdsZS1ib3gtc2hhZG93KFxuICAkaG9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCxcbiAgJHZvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsXG4gICRibHVyICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsXG4gICRzcHJlYWQgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCxcbiAgJGNvbG9yICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3IsXG4gICRpbnNldCAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0XG4pIHtcbiAgQGlmIG5vdCAoJGluc2V0ID09IHRydWUgb3IgJGluc2V0ID09IGZhbHNlIG9yICRpbnNldCA9PSBpbnNldCkge1xuICAgIEB3YXJuIFwiJGluc2V0IGV4cGVjdGVkIHRvIGJlIHRydWUgb3IgdGhlIGluc2V0IGtleXdvcmQuIEdvdCAjeyRpbnNldH0gaW5zdGVhZC4gVXNpbmc6IGluc2V0XCI7XG4gIH1cblxuICBAaWYgJGNvbG9yID09IG5vbmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgICRmdWxsICAgOiAkaG9mZiAkdm9mZjtcbiAgICBAaWYgJGJsdXIgICB7ICRmdWxsOiAkZnVsbCAkYmx1cjsgICB9XG4gICAgQGlmICRzcHJlYWQgeyAkZnVsbDogJGZ1bGwgJHNwcmVhZDsgfVxuICAgIEBpZiAkY29sb3IgIHsgJGZ1bGw6ICRmdWxsICRjb2xvcjsgIH1cbiAgICBAaWYgJGluc2V0ICB7ICRmdWxsOiBpbnNldCAkZnVsbDsgICB9XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZnVsbCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBpbiB5b3VyIHByb2plY3RcblxuJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3I6ICAgICNhYWEgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldDogMHB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1cjogICAgIDFweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQ6ICAgZmFsc2UgICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIHRleHQgc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIHNoYWRvd3MgYXJlIG5lZWRlZC5cbi8vIEVhY2ggc2hhZG93IGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIHRleHQtc2hhZG93IHByb3BlcnR5LlxuLy9cbi8vIE5vdGU6IGlmIGFueSBzaGFkb3cgaGFzIGEgc3ByZWFkIHBhcmFtZXRlciwgdGhpcyB3aWxsIGNhdXNlIHRoZSBtaXhpblxuLy8gdG8gZW1pdCB0aGUgc2hhZG93IGRlY2xhcmF0aW9uIHR3aWNlLCBmaXJzdCB3aXRob3V0IHRoZSBzcHJlYWQsXG4vLyB0aGVuIHdpdGggdGhlIHNwcmVhZCBpbmNsdWRlZC4gVGhpcyBhbGxvd3MgeW91IHRvIHByb2dyZXNzaXZlbHlcbi8vIGVuaGFuY2UgdGhlIGJyb3dzZXJzIHRoYXQgZG8gc3VwcG9ydCB0aGUgc3ByZWFkIHBhcmFtZXRlci5cbkBtaXhpbiB0ZXh0LXNoYWRvdyhcbiAgJHNoYWRvdy0xIDogZGVmYXVsdCxcbiAgJHNoYWRvdy0yIDogZmFsc2UsXG4gICRzaGFkb3ctMyA6IGZhbHNlLFxuICAkc2hhZG93LTQgOiBmYWxzZSxcbiAgJHNoYWRvdy01IDogZmFsc2UsXG4gICRzaGFkb3ctNiA6IGZhbHNlLFxuICAkc2hhZG93LTcgOiBmYWxzZSxcbiAgJHNoYWRvdy04IDogZmFsc2UsXG4gICRzaGFkb3ctOSA6IGZhbHNlLFxuICAkc2hhZG93LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkc2hhZG93LTEgPT0gZGVmYXVsdCB7XG4gICAgJHNoYWRvdy0xOiBjb21wYWN0KCRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yKTtcbiAgfVxuICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogam9pbigoKSwoKSxjb21tYSk7XG4gICRzaGFkb3dzOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJGhhcy1zcHJlYWQ6IGZhbHNlO1xuICBAZWFjaCAkc2hhZG93IGluIGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApIHtcbiAgICBAaWYgbGVuZ3RoKCRzaGFkb3cpID4gNCB7XG4gICAgICAkaGFzLXNwcmVhZDogdHJ1ZTtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsIG50aCgkc2hhZG93LDEpIG50aCgkc2hhZG93LDIpIG50aCgkc2hhZG93LDMpIG50aCgkc2hhZG93LDUpKTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH0gZWxzZSB7XG4gICAgICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogYXBwZW5kKCRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkLCAkc2hhZG93KTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICBAaWYgJGhhcy1zcHJlYWQge1xuICAgIHRleHQtc2hhZG93OiAkc2hhZG93cy13aXRob3V0LXNwcmVhZDtcbiAgfVxuICB0ZXh0LXNoYWRvdzogJHNoYWRvd3M7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIHRleHQgc2hhZG93LlxuLy9cbi8vIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciB0aGUgY29sb3IsIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIsIGFuZCBzcHJlYWRcbi8vIGFjY29yZGluZyB0byB0aGUgY29uZmlndXJhdGlvbiBkZWZhdWx0cyBhYm92ZS5cbkBtaXhpbiBzaW5nbGUtdGV4dC1zaGFkb3coXG4gICRob2ZmOiBmYWxzZSxcbiAgJHZvZmY6IGZhbHNlLFxuICAkYmx1cjogZmFsc2UsXG4gICRzcHJlYWQ6IGZhbHNlLFxuICAkY29sb3I6IGZhbHNlXG4pIHtcbiAgLy8gQSBsb3Qgb2YgcGVvcGxlIHRoaW5rIHRoZSBjb2xvciBjb21lcyBmaXJzdC4gSXQgZG9lc24ndC5cbiAgQGlmIHR5cGUtb2YoJGhvZmYpID09IGNvbG9yIHtcbiAgICAkdGVtcC1jb2xvcjogJGhvZmY7XG4gICAgJGhvZmY6ICR2b2ZmO1xuICAgICR2b2ZmOiAkYmx1cjtcbiAgICAkYmx1cjogJHNwcmVhZDtcbiAgICAkc3ByZWFkOiAkY29sb3I7XG4gICAgJGNvbG9yOiAkdGVtcC1jb2xvcjtcbiAgfVxuICAvLyBDYW4ndCByZWx5IG9uIGRlZmF1bHQgYXNzaWdubWVudCB3aXRoIG11bHRpcGxlIHN1cHBvcnRlZCBhcmd1bWVudCBvcmRlcnMuXG4gICRob2ZmOiAgIGlmKCRob2ZmLCAgICRob2ZmLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0KTtcbiAgJHZvZmY6ICAgaWYoJHZvZmYsICAgJHZvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQpO1xuICAkYmx1cjogICBpZigkYmx1ciwgICAkYmx1ciwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyICAgICk7XG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQsICRzcHJlYWQsICRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZCAgKTtcbiAgJGNvbG9yOiAgaWYoJGNvbG9yLCAgJGNvbG9yLCAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IgICApO1xuICAvLyBXZSBkb24ndCBuZWVkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciB0aGlzIHByb3BlcnR5LlxuICBAaWYgJGNvbG9yID09IG5vbmUgb3IgJGhvZmYgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KGNvbXBhY3QoJGhvZmYgJHZvZmYgJGJsdXIgJHNwcmVhZCAkY29sb3IpKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTcGVjaWZ5IHRoZSBzaG9ydGhhbmQgYGNvbHVtbnNgIHByb3BlcnR5LlxuLy9cbi8vIEV4YW1wbGU6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbnMoMjBlbSAyKVxuQG1peGluIGNvbHVtbnMoJHdpZHRoLWFuZC1jb3VudCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1ucywgJHdpZHRoLWFuZC1jb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGNvbHVtbnNcbkBtaXhpbiBjb2x1bW4tY291bnQoJGNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tY291bnQsICRjb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgZ2FwIGJldHdlZW4gY29sdW1ucyBlLmcuIGAyMHB4YFxuQG1peGluIGNvbHVtbi1nYXAoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tZ2FwLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIGNvbHVtbnMgZS5nLiBgMTAwcHhgXG5AbWl4aW4gY29sdW1uLXdpZHRoKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGAxcHhgXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBzdHlsZSBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgZG90dGVkYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItc3R5bGUuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1zdHlsZSwgdW5xdW90ZSgkc3R5bGUpLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBjb2xvciBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgYmx1ZWAuXG4vLyBUaGlzIHdvcmtzIGxpa2UgYm9yZGVyLWNvbG9yLlxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvcixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZW5jb21wYXNzaW5nIGFsbCBjb2x1bW4gcnVsZSBwcm9wZXJ0aWVzXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4LCBzb2xpZCwgI2MwMClcbi8vXG4vLyBPciB0aGUgdmFsdWVzIGNhbiBiZSBzcGFjZSBzZXBhcmF0ZWQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbi1ydWxlKDFweCBzb2xpZCAjYzAwKVxuQG1peGluIGNvbHVtbi1ydWxlKCR3aWR0aCwgJHN0eWxlOiBmYWxzZSwgJGNvbG9yOiBmYWxzZSkge1xuICAkZnVsbCA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkd2lkdGgsICRzdHlsZSwgJGNvbG9yKSk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZSwgJGZ1bGwsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1iZWZvcmVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYmVmb3JlKGFsd2F5cyk7fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstYmVmb3JlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWJlZm9yZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWFmdGVyXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYWZ0ZXIoYWx3YXlzKTsgfVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbkBtaXhpbiBjb2x1bW4tYnJlYWstYWZ0ZXIoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYWZ0ZXIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1pbnNpZGVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWluc2lkZSgpO31cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy8gIFxuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstaW5zaWRlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWluc2lkZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gQWxsLXB1cnBvc2UgbWl4aW4gZm9yIHNldHRpbmcgY29sdW1uIGJyZWFrcy5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJHR5cGUgOiBiZWZvcmUsIGFmdGVyLCBpbnNpZGUgXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJyR2YWx1ZScgYXJlIGRlcGVuZGVudCBvbiAkdHlwZVxuLy8gICAgKiB3aGVuICR0eXBlID0gYmVmb3JlLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gICAgKiB3aGVuICR0eXBlID0gYWZ0ZXIsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBpbnNpZGUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gIFxuLy8gIEV4YW1wbGVzOiBcbi8vICAgIGgyLmJlZm9yZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGJlZm9yZSwgYWx3YXlzKTt9XG4vLyAgICBoMi5hZnRlciB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGFmdGVyLCBhbHdheXMpOyB9XG4vLyAgICBoMi5pbnNpZGUge0BpbmNsdWRlIGNvbHVtbi1icmVhayhpbnNpZGUpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgaDIuYmVmb3JlIHsgICAgXG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5czt9XG4vLyAgXG4vLyAgaDIuYWZ0ZXIge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzOyB9XG4vL1xuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbiBcbkBtaXhpbiBjb2x1bW4tYnJlYWsoJHR5cGU6IGJlZm9yZSwgJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImNvbHVtbi1icmVhay0jeyR0eXBlfVwiLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ2hhbmdlIHRoZSBib3ggbW9kZWwgZm9yIE1vemlsbGEsIFdlYmtpdCwgSUU4IGFuZCB0aGUgZnV0dXJlXG4vL1xuLy8gQHBhcmFtICRic1xuLy8gICBbIGNvbnRlbnQtYm94IHwgYm9yZGVyLWJveCBdXG5cbkBtaXhpbiBib3gtc2l6aW5nKCRicykge1xuICAkYnM6IHVucXVvdGUoJGJzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaXppbmcsICRicyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIGRpc3BsYXk6Ym94OyBtdXN0IGJlIHVzZWQgZm9yIGFueSBvZiB0aGUgb3RoZXIgZmxleGJveCBtaXhpbnMgdG8gd29yayBwcm9wZXJseVxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsLXZhbHVlKGRpc3BsYXksIGJveCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBvcmllbnRhdGlvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdXNlciB3YW50cyBzb21ldGhpbmcgbGVzcyBibG9jay1saWtlXG4kZGVmYXVsdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFkZWZhdWx0O1xuXG4vLyBCb3ggb3JpZW50YXRpb24gWyBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtb3JpZW50KFxuICAkb3JpZW50YXRpb246ICRkZWZhdWx0LWJveC1vcmllbnRcbikge1xuICAkb3JpZW50YXRpb24gOiB1bnF1b3RlKCRvcmllbnRhdGlvbik7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JpZW50LCAkb3JpZW50YXRpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3gtYWxpZ25cbiRkZWZhdWx0LWJveC1hbGlnbjogc3RyZXRjaCAhZGVmYXVsdDtcblxuLy8gQm94IGFsaWduIFsgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2ggXVxuQG1peGluIGJveC1hbGlnbihcbiAgJGFsaWdubWVudDogJGRlZmF1bHQtYm94LWFsaWduXG4pIHtcbiAgJGFsaWdubWVudCA6IHVucXVvdGUoJGFsaWdubWVudCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtYWxpZ24sICRhbGlnbm1lbnQsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3ggZmxleFxuJGRlZmF1bHQtYm94LWZsZXg6IDAgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgYm94IGZsZXguIEFwcGx5IHRoaXMgdG8gdGhlIGNoaWxkcmVuIGluc2lkZSB0aGUgYm94LlxuLy9cbi8vIEZvciBleGFtcGxlOiBcImRpdi5kaXNwbGF5LWJveCA+IGRpdi5jaGlsZC1ib3hcIiB3b3VsZCBnZXQgdGhlIGJveCBmbGV4IG1peGluLlxuQG1peGluIGJveC1mbGV4KFxuICAkZmxleDogJGRlZmF1bHQtYm94LWZsZXhcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWZsZXgsICRmbGV4LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgZmxleCBncm91cFxuJGRlZmF1bHQtYm94LWZsZXgtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgZmxleGlibGUgZ3JvdXBpbmdcbkBtaXhpbiBib3gtZmxleC1ncm91cChcbiAgJGdyb3VwOiAkZGVmYXVsdC1ib3gtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIG9yZGluYWwgZ3JvdXBcbiRkZWZhdWx0LWJveC1vcmRpbmFsLWdyb3VwOiAxICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIG9yZGluYWwgZ3JvdXBpbmcgYW5kIHJlYXJyYW5naW5nIHRoZSBvcmRlclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LW9yZGluYWwtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JkaW5hbC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEJveCBkaXJlY3Rpb24gZGVmYXVsdCB2YWx1ZVxuJGRlZmF1bHQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94LWRpcmVjdGlvbiBbIG5vcm1hbCB8IHJldmVyc2UgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtZGlyZWN0aW9uKFxuICAkZGlyZWN0aW9uOiAkZGVmYXVsdC1ib3gtZGlyZWN0aW9uXG4pIHtcbiAgJGRpcmVjdGlvbjogdW5xdW90ZSgkZGlyZWN0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3IgYm94IGxpbmVzXG4kZGVmYXVsdC1ib3gtbGluZXM6IHNpbmdsZSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveCBsaW5lcyBbIHNpbmdsZSB8IG11bHRpcGxlIF1cbkBtaXhpbiBib3gtbGluZXMoXG4gICRsaW5lczogJGRlZmF1bHQtYm94LWxpbmVzXG4pIHtcbiAgJGxpbmVzOiB1bnF1b3RlKCRsaW5lcyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtbGluZXMsICRsaW5lcyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggcGFja1xuJGRlZmF1bHQtYm94LXBhY2s6IHN0YXJ0ICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IHBhY2sgWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgXVxuQG1peGluIGJveC1wYWNrKFxuICAkcGFjazogJGRlZmF1bHQtYm94LXBhY2tcbikge1xuICAkcGFjazogdW5xdW90ZSgkcGFjayk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtcGFjaywgJHBhY2ssXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBwYWRkaW5nLWJveGAgLS0gdGhlIGJveCBtb2RlbCB1c2VkIGJ5IG1vZGVybiBicm93c2Vycy5cbi8vXG4vLyBJZiB5b3Ugd2lzaCB0byBkbyBzbywgeW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb25zdGFudCB3aXRoIGBib3JkZXItYm94YFxuLy9cbi8vIFRvIG92ZXJyaWRlIHRvIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggbW9kZWwsIHVzZSB0aGlzIGNvZGU6XG4vLyAgICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWRlZmF1bHQ7XG5cbi8vIENsaXAgdGhlIGJhY2tncm91bmQgKGltYWdlIGFuZCBjb2xvcikgYXQgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcgb3IgYm9yZGVyLlxuLy9cbi8vIExlZ2FsIFZhbHVlczpcbi8vXG4vLyAgICogcGFkZGluZy1ib3hcbi8vICAgKiBib3JkZXItYm94XG4vLyAgICogdGV4dFxuXG5AbWl4aW4gYmFja2dyb3VuZC1jbGlwKCRjbGlwOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXApIHtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZ11cbiAgJGNsaXA6IHVucXVvdGUoJGNsaXApO1xuICAkZGVwcmVjYXRlZDogJGNsaXA7XG4gIEBpZiAkY2xpcCA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkY2xpcCA9PSBib3JkZXItYm94IHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgfVxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGNsaXAsXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiLy8gT3ZlcnJpZGUgYCRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94ICFkZWZhdWx0O1xuXG4vLyBQb3NpdGlvbiB0aGUgYmFja2dyb3VuZCBvZmYgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcsIGJvcmRlciBvciBjb250ZW50XG4vL1xuLy8gKiBQb3NzaWJsZSB2YWx1ZXM6XG4vLyAgICogYHBhZGRpbmctYm94YFxuLy8gICAqIGBib3JkZXItYm94YFxuLy8gICAqIGBjb250ZW50LWJveGBcbi8vICogYnJvd3NlciBkZWZhdWx0cyB0byBgcGFkZGluZy1ib3hgXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvIGBjb250ZW50LWJveGBcblxuXG5AbWl4aW4gYmFja2dyb3VuZC1vcmlnaW4oJG9yaWdpbjogJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgkb3JpZ2luKTtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZyB8IGNvbnRlbnRdXG4gICRkZXByZWNhdGVkOiAkb3JpZ2luO1xuICBAaWYgJG9yaWdpbiA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkb3JpZ2luID09IGJvcmRlci1ib3ggIHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgIH1cbiAgQGlmICRvcmlnaW4gPT0gY29udGVudC1ib3ggeyAkZGVwcmVjYXRlZDogY29udGVudDsgfVxuXG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJG9yaWdpbixcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIC1vLFxuICAgIC1tcyxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciBAZm9udC1mYWNlLiBTdXBwb3J0cyBJRSwgR2Vja28sIFdlYmtpdCwgT3BlcmEuXG4vL1xuLy8gKiAkbmFtZSBpcyByZXF1aXJlZCwgYXJiaXRyYXJ5LCBhbmQgd2hhdCB5b3Ugd2lsbCB1c2UgaW4gZm9udCBzdGFja3MuXG4vLyAqICRmb250LWZpbGVzIGlzIHJlcXVpcmVkIHVzaW5nIGZvbnQtZmlsZXMoJ3JlbGF0aXZlL2xvY2F0aW9uJywgJ2Zvcm1hdCcpLlxuLy8gICBmb3IgYmVzdCByZXN1bHRzIHVzZSB0aGlzIG9yZGVyOiB3b2ZmLCBvcGVudHlwZS90cnVldHlwZSwgc3ZnXG4vLyAqICRlb3QgaXMgcmVxdWlyZWQgYnkgSUUsIGFuZCBpcyBhIHJlbGF0aXZlIGxvY2F0aW9uIG9mIHRoZSBlb3QgZmlsZS5cbi8vICogJHdlaWdodCBzaG93cyBpZiB0aGUgZm9udCBpcyBib2xkLCBkZWZhdWx0cyB0byBub3JtYWxcbi8vICogJHN0eWxlIGRlZmF1bHRzIHRvIG5vcm1hbCwgbWlnaHQgYmUgYWxzbyBpdGFsaWNcbi8vICogRm9yIGFuZHJvaWQgMi4yIENvbXBhdGlibGl0eSwgcGxlYXNlIGVuc3VyZSB0aGF0IHlvdXIgd2ViIHBhZ2UgaGFzXG4vLyAgIGEgbWV0YSB2aWV3cG9ydCB0YWcuXG4vLyAqIFRvIHN1cHBvcnQgaU9TIDwgNC4yLCBhbiBTVkcgZmlsZSBtdXN0IGJlIHByb3ZpZGVkXG4vL1xuLy8gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXIgZm9ybWF0cyBjaGVjayBvdXQgdGhlIEZvbnQgU3F1aXJyZWxcbi8vIFtmb250IGdlbmVyYXRvcl0oaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tL2ZvbnRmYWNlL2dlbmVyYXRvcilcbi8vXG5cbi8vIEluIG9yZGVyIHRvIHJlZmVyIHRvIGEgc3BlY2lmaWMgc3R5bGUgb2YgdGhlIGZvbnQgaW4geW91ciBzdHlsZXNoZWV0cyBhcyBcbi8vIGUuZy4gXCJmb250LXN0eWxlOiBpdGFsaWM7XCIsICB5b3UgbWF5IGFkZCBhIGNvdXBsZSBvZiBAZm9udC1mYWNlIGluY2x1ZGVzXG4vLyBjb250YWluaW5nIHRoZSByZXNwZWN0aXZlIGZvbnQgZmlsZXMgZm9yIGVhY2ggc3R5bGUgYW5kIHNwZWN5aW5nXG4vLyByZXNwZWN0aXZlIHRoZSAkc3R5bGUgcGFyYW1ldGVyLlxuXG4vLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoXG4gICRuYW1lLCBcbiAgJGZvbnQtZmlsZXMsIFxuICAkZW90OiBmYWxzZSxcbiAgJHdlaWdodDogZmFsc2UsXG4gICRzdHlsZTogZmFsc2Vcbikge1xuICAkaWVmb250OiB1bnF1b3RlKFwiI3skZW90fT8jaWVmaXhcIik7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XG4gICAgQGlmICRlb3Qge1xuICAgICAgc3JjOiBmb250LXVybCgkZW90KTtcbiAgICAgICRmb250LWZpbGVzOiBmb250LXVybCgkaWVmb250KSB1bnF1b3RlKFwiZm9ybWF0KCdlb3QnKVwiKSwgJGZvbnQtZmlsZXM7IFxuICAgIH1cbiAgICBzcmM6ICRmb250LWZpbGVzO1xuICAgIEBpZiAkd2VpZ2h0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIH1cbiAgICBAaWYgJHN0eWxlIHtcbiAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQGRvYyBvZmZcbi8vIE5vdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2FmYXJpLCBDaHJvbWUsIGFuZCBGaXJlZm94IGFsbCBzdXBwb3J0IDNEIHRyYW5zZm9ybXMuIEhvd2V2ZXIsXG4vLyBvbmx5IGluIHRoZSBtb3N0IHJlY2VudCBidWlsZHMuIFlvdSBzaG91bGQgYWxzbyBwcm92aWRlIGZhbGxiYWNrIDJkIHN1cHBvcnQgZm9yXG4vLyBPcGVyYSBhbmQgSUUuIElFMTAgaXMgc2xhdGVkIHRvIGhhdmUgM2QgZW5hYmxlZCwgYnV0IGlzIGN1cnJlbnRseSB1bnJlbGVhc2VkLlxuLy8gVG8gbWFrZSB0aGF0IGVhc3ksIGFsbCAyRCB0cmFuc2Zvcm1zIGluY2x1ZGUgYW4gYnJvd3Nlci10YXJnZXRpbmcgdG9nZ2xlICgkb25seTNkKVxuLy8gdG8gc3dpdGNoIGJldHdlZW4gdGhlIHR3byBzdXBwb3J0IGxpc3RzLiBUaGUgdG9nZ2xlIGRlZmF1bHRzIHRvICdmYWxzZScgKDJEKSxcbi8vIGFuZCBhbHNvIGFjY2VwdHMgJ3RydWUnICgzRCkuIEN1cnJlbnRseSB0aGUgbGlzdHMgYXJlIGFzIGZvbGxvd3M6XG4vLyAyRDogTW96aWxsYSwgV2Via2l0LCBPcGVyYSwgT2ZmaWNpYWxcbi8vIDNEOiBXZWJraXQsIEZpcmVmb3guXG5cbi8vIEF2YWlsYWJsZSBUcmFuc2Zvcm1zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBTY2FsZSAoMmQgYW5kIDNkKVxuLy8gLSBSb3RhdGUgKDJkIGFuZCAzZClcbi8vIC0gVHJhbnNsYXRlICgyZCBhbmQgM2QpXG4vLyAtIFNrZXcgKDJkIG9ubHkpXG5cbi8vIFRyYW5zZm9ybSBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBUcmFuc2Zvcm0gT3JpZ2luICgyZCBhbmQgM2QpXG4vLyAtIFBlcnNwZWN0aXZlICgzZClcbi8vIC0gUGVyc3BlY3RpdmUgT3JpZ2luICgzZClcbi8vIC0gVHJhbnNmb3JtIFN0eWxlICgzZClcbi8vIC0gQmFja2ZhY2UgVmlzaWJpbGl0eSAoM2QpXG5cbi8vIE1peGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gdHJhbnNmb3JtLW9yaWdpblxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNmb3JtLW9yaWdpbjJkLCB0cmFuc2Zvcm0tb3JpZ2luM2Rcbi8vICAtIGhlbHBlcnM6ICAgIGFwcGx5LW9yaWdpblxuLy8gdHJhbnNmb3JtXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0yZCwgdHJhbnNmb3JtM2Rcbi8vICAtIGhlbHBlcnM6ICAgIHNpbXBsZS10cmFuc2Zvcm0sIGNyZWF0ZS10cmFuc2Zvcm1cbi8vIHBlcnNwZWN0aXZlXG4vLyAgLSBoZWxwZXJzOiAgICBwZXJzcGVjdGl2ZS1vcmlnaW5cbi8vIHRyYW5zZm9ybS1zdHlsZVxuLy8gYmFja2ZhY2UtdmlzaWJpbGl0eVxuLy8gc2NhbGVcbi8vICAtIHNob3J0Y3V0czogIHNjYWxlWCwgc2NhbGVZLCBzY2FsZVosIHNjYWxlM2Rcbi8vIHJvdGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgcm90YXRlWCwgcm90YXRlWSwgcm90YXRlM2Rcbi8vIHRyYW5zbGF0ZVxuLy8gIC0gc2hvcnRjdXRzOiAgdHJhbnNsYXRlWCwgdHJhbnNsYXRlWSwgdHJhbnNsYXRlWiwgdHJhbnNsYXRlM2Rcbi8vIHNrZXdcbi8vICAtIHNob3J0Y3V0czogIHNrZXdYLCBza2V3WVxuXG4vLyBEZWZhdWx0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gVGhlIGRlZmF1bHQgeC1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi14ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi15ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1vcmlnaW4gZm9yIHRyYW5zZm9ybXNcbiRkZWZhdWx0LW9yaWdpbi16ICAgIDogNTAlICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteCAgICAgOiAxLjI1ICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXkgICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS16ICAgICA6ICRkZWZhdWx0LXNjYWxlLXggICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCBhbmdsZSBmb3Igcm90YXRpb25zXG4kZGVmYXVsdC1yb3RhdGUgICAgICA6IDQ1ZGVnICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteCAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci15ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXogICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXggOiAxZW0gICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteSA6ICRkZWZhdWx0LXRyYW5zbGF0ZS14ICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHotbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS16IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtYW5nbGUgZm9yIHNrZXdpbmdcbiRkZWZhdWx0LXNrZXcteCAgICAgIDogNWRlZyAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy15ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gKipUcmFuc2Zvcm0tb3JpZ2luKipcbi8vIFRyYW5zZm9ybS1vcmlnaW4gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZ1xuLy9cbi8vICAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oIG9yaWdpbiBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICdvcmlnaW4nIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3QgY29udGFpbmluZyAxLTMgKHgveS96KSBjb29yZGluYXRlc1xuLy8gaW4gcGVyY2VudGFnZXMsIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgb3IgcmVsYXRpdmVcbi8vIChsZWZ0LCB0b3AsIHJpZ2h0LCBib3R0b20sIGNlbnRlcikgdW5pdHNcbi8vXG4vLyBAcGFyYW0gb25seTNkIFNldCB0aGlzIHRvIHRydWUgdG8gb25seSBhcHBseSB0aGlzXG4vLyBtaXhpbiB3aGVyZSBicm93c2VycyBoYXZlIDNEIHN1cHBvcnQuXG5AbWl4aW4gYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpIHtcbiAgJG9ubHkzZDogJG9ubHkzZCBvciAtY29tcGFzcy1saXN0LXNpemUoLWNvbXBhc3MtbGlzdCgkb3JpZ2luKSkgPiAyO1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybS1vcmlnaW4sICRvcmlnaW4sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGluZGl2aWR1YWwgYXJndW1lbnRzOlxuLy9cbi8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCBbIG9yaWdpbi14LCBvcmlnaW4teSwgb3JpZ2luLXosIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlIDMgJ29yaWdpbi0nIGFyZ3VtZW50cyByZXByZXNlbnQgeC95L3ogY29vcmRpbmF0ZXMuXG4vL1xuLy8gKipOT1RFOioqIHNldHRpbmcgeiBjb29yZGluYXRlcyB0cmlnZ2VycyAzRCBzdXBwb3J0IGxpc3QsIGxlYXZlIGZhbHNlIGZvciAyRCBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbihcbiAgJG9yaWdpbi14OiAkZGVmYXVsdC1vcmlnaW4teCxcbiAgJG9yaWdpbi15OiAkZGVmYXVsdC1vcmlnaW4teSxcbiAgJG9yaWdpbi16OiBmYWxzZSxcbiAgJG9ubHkzZDogICBpZigkb3JpZ2luLXosIHRydWUsIGZhbHNlKVxuKSB7XG4gICRvcmlnaW46IHVucXVvdGUoJycpO1xuICBAaWYgJG9yaWdpbi14IG9yICRvcmlnaW4teSBvciAkb3JpZ2luLXoge1xuICAgIEBpZiAkb3JpZ2luLXggeyAkb3JpZ2luOiAkb3JpZ2luLXg7IH0gQGVsc2UgeyAkb3JpZ2luOiA1MCU7IH1cbiAgICBAaWYgJG9yaWdpbi15IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXk7IH0gQGVsc2UgeyBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiA1MCU7IH19XG4gICAgQGlmICRvcmlnaW4teiB7ICRvcmlnaW46ICRvcmlnaW4gJG9yaWdpbi16OyB9XG4gICAgQGluY2x1ZGUgYXBwbHktb3JpZ2luKCRvcmlnaW4sICRvbmx5M2QpO1xuICB9XG59XG5cblxuLy8gVHJhbnNmb3JtIHNlbnQgYXMgYSBjb21wbGV0ZSBzdHJpbmc6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSggdHJhbnNmb3JtcyBbLCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlICd0cmFuc2Zvcm1zJyBpcyBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGFsbCB0aGUgdHJhbnNmb3JtcyB0byBiZSBhcHBsaWVkLlxuQG1peGluIHRyYW5zZm9ybShcbiAgJHRyYW5zZm9ybSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICBAaWYgJG9ubHkzZCB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0sICR0cmFuc2Zvcm0sXG4gICAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBhbGwgYnJvd3NlcnMgd2l0aCAyRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTJkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCBmYWxzZSk7XG59XG5cbi8vIFNob3J0Y3V0IHRvIHRhcmdldCBvbmx5IGJyb3dzZXJzIHdpdGggM0QgdHJhbnNmb3JtIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0zZCgkdHJhbnMpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgdHJ1ZSk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyAzRCBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2V0IHRoZSBwZXJzcGVjdGl2ZSBvZiAzRCB0cmFuc2Zvcm1zIG9uIHRoZSBjaGlsZHJlbiBvZiBhbiBlbGVtZW50OlxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUoIHBlcnNwZWN0aXZlIClcbi8vXG4vLyB3aGVyZSAncGVyc3BlY3RpdmUnIGlzIGEgdW5pdGxlc3MgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVwdGggb2YgdGhlXG4vLyB6LWF4aXMuIFRoZSBoaWdoZXIgdGhlIHBlcnNwZWN0aXZlLCB0aGUgbW9yZSBleGFnZ2VyYXRlZCB0aGUgZm9yZXNob3J0ZW5pbmcuXG4vLyB2YWx1ZXMgZnJvbSA1MDAgdG8gMTAwMCBhcmUgbW9yZS1vci1sZXNzIFwibm9ybWFsXCIgLSBhIGdvb2Qgc3RhcnRpbmctcG9pbnQuXG5AbWl4aW4gcGVyc3BlY3RpdmUoJHApIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLCAkcCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU2V0IHRoZSBvcmlnaW4gcG9zaXRpb24gZm9yIHRoZSBwZXJzcGVjdGl2ZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgcGVyc3BlY3RpdmUtb3JpZ2luKG9yaWdpbi14IFtvcmlnaW4teV0pXG4vL1xuLy8gd2hlcmUgdGhlIHR3byBhcmd1bWVudHMgcmVwcmVzZW50IHgveSBjb29yZGluYXRlc1xuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkb3JpZ2luOiA1MCUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHBlcnNwZWN0aXZlLW9yaWdpbiwgJG9yaWdpbixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHdoZXRoZXIgYSAzRCBvYmplY3RzIGNoaWxkcmVuIGFsc28gbGl2ZSBpbiB0aGUgZ2l2ZW4gM0Qgc3BhY2Vcbi8vXG4vLyAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1zdHlsZSggWyBzdHlsZSBdIClcbi8vXG4vLyB3aGVyZSBgc3R5bGVgIGNhbiBiZSBlaXRoZXIgYGZsYXRgIG9yIGBwcmVzZXJ2ZS0zZGAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIGBmbGF0YCwgbWl4aW4gZGVmYXVsdHMgdG8gYHByZXNlcnZlLTNkYC5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUoJHN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERldGVybWluZSB0aGUgdmlzaWJpbGl0eSBvZiBhbiBlbGVtZW50IHdoZW4gaXQncyBiYWNrIGlzIHR1cm5lZFxuLy9cbi8vICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KCBbIHZpc2liaWxpdHkgXSApXG4vL1xuLy8gd2hlcmUgYHZpc2liaWxpdHlgIGNhbiBiZSBlaXRoZXIgYHZpc2libGVgIG9yIGBoaWRkZW5gLlxuLy8gQnJvd3NlcnMgZGVmYXVsdCB0byB2aXNpYmxlLCBtaXhpbiBkZWZhdWx0cyB0byBoaWRkZW5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5OiBoaWRkZW4pIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gVHJhbnNmb3JtIFBhcnRpYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGVzZSB3b3JrIHdlbGwgb24gdGhlaXIgb3duLCBidXQgdGhleSBkb24ndCBhZGQgdG8gZWFjaCBvdGhlciwgdGhleSBvdmVycmlkZS5cbi8vIFVzZSBhbG9uZyB3aXRoIHRyYW5zZm9ybSBwYXJhbWV0ZXIgbWl4aW5zIHRvIGFkanVzdCBvcmlnaW4sIHBlcnNwZWN0aXZlIGFuZCBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gU2NhbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFNjYWxlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBhbmQgeSBheGlzOlxuLy9cbi8vICAgICAgQGluY2x1ZGUgc2NhbGUoIFsgc2NhbGUteCwgc2NhbGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdzY2FsZS0nIGFyZ3VtZW50cyBhcmUgdW5pdGxlc3MgbXVsdGlwbGllcnMgb2YgdGhlIHggYW5kIHkgZGltZW5zaW9uc1xuLy8gYW5kIHBlcnNwZWN0aXZlLCB3aGljaCB3b3JrcyB0aGUgc2FtZSBhcyB0aGUgc3RhbmQtYWxvbmUgcGVyc3BlY3RpdmUgcHJvcGVydHkvbWl4aW5cbi8vIGJ1dCBhcHBsaWVzIHRvIHRoZSBpbmRpdmlkdWFsIGVsZW1lbnQgKG11bHRpcGxpZWQgd2l0aCBhbnkgcGFyZW50IHBlcnNwZWN0aXZlKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZShcbiAgJHNjYWxlLXg6ICAgICAkZGVmYXVsdC1zY2FsZS14LFxuICAkc2NhbGUteTogICAgICRzY2FsZS14LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWCggWyBzY2FsZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVYKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWCgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB5IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWSggWyBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVZKFxuICAkc2NhbGU6ICAgICAgICRkZWZhdWx0LXNjYWxlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWSgkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlWiggWyBzY2FsZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2NhbGVaKFxuICAkc2NhbGU6ICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlWigkc2NhbGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBTY2FsZSBhbmQgb2JqZWN0IGFsb25nIGFsbCB0aHJlZSBheGlzXG4vLyBAaW5jbHVkZSBzY2FsZTNkKCBbIHNjYWxlLXgsIHNjYWxlLXksIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZTNkKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHNjYWxlLXo6ICAgICAkZGVmYXVsdC1zY2FsZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBAZG9jIG9mZlxuLy8gUm90YXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZG9jIG9uXG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB6IGF4aXMgICgyRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSAncm90YXRpb24nIGlzIGFuIGFuZ2xlIHNldCBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0c1xuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUoXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBBIGxvbmdjdXQgZm9yICdyb3RhdGUnIGluIGNhc2UgeW91IGZvcmdldCB0aGF0ICd6JyBpcyBpbXBsaWVkXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVooXG4gICRyb3RhdGU6ICAgICAgJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgcm90YXRlKCRyb3RhdGUsICRwZXJzcGVjdGl2ZSwgJG9ubHkzZCk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIHRoZSB4IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlWCggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVgoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWCgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHkgYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGUoIFsgcm90YXRpb24sIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGVZKFxuICAkcm90YXRlOiAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZVkoJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIGFuIGFyYml0cmFyeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyB2ZWN0b3IteCwgdmVjdG9yLXksIHZlY3Rvci16LCByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vLyB3aGVyZSB0aGUgJ3ZlY3Rvci0nIGFyZ3VtZW50cyBhY2NlcHQgdW5pdGxlc3MgbnVtYmVycy5cbi8vIFRoZXNlIG51bWJlcnMgYXJlIG5vdCBpbXBvcnRhbnQgb24gdGhlaXIgb3duLCBidXQgaW4gcmVsYXRpb24gdG8gb25lIGFub3RoZXJcbi8vIGNyZWF0aW5nIGFuIGF4aXMgZnJvbSB5b3VyIHRyYW5zZm9ybS1vcmlnaW4sIGFsb25nIHRoZSBheGlzIG9mIFh4ID0gWXkgPSBaei5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlM2QoXG4gICR2ZWN0b3IteDogJGRlZmF1bHQtdmVjdG9yLXgsXG4gICR2ZWN0b3IteTogJGRlZmF1bHQtdmVjdG9yLXksXG4gICR2ZWN0b3ItejogJGRlZmF1bHQtdmVjdG9yLXosXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlM2QoJHZlY3Rvci14LCAkdmVjdG9yLXksICR2ZWN0b3IteiwgJHJvdGF0ZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2xhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggb3IgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy8gd2hlcmUgdGhlICd0cmFuc2xhdGUtJyBhcmd1bWVudHMgYWNjZXB0IGFueSBkaXN0YW5jZSBpbiBwZXJjZW50YWdlcyBvciBhYnNvbHV0ZSAocHgsIGNtLCBpbiwgZW0gZXRjLi4pIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUoXG4gICR0cmFuc2xhdGUteDogJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICR0cmFuc2xhdGUteTogJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZSgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteCwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVgoXG4gICR0cmFucy14OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVgoJHRyYW5zLXgpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpcyAoMkQpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVZKFxuICAkdHJhbnMteTogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVZKCR0cmFucy15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS16LCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWihcbiAgJHRyYW5zLXo6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWigkdHJhbnMteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4LCB5IGFuZCB6IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGUzZChcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHRyYW5zbGF0ZS16OiAkZGVmYXVsdC10cmFuc2xhdGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlM2QoJHRyYW5zbGF0ZS14LCAkdHJhbnNsYXRlLXksICR0cmFuc2xhdGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBTa2V3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2tldyBhbiBlbGVtZW50OlxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vIHdoZXJlIHRoZSAnc2tldy0nIGFyZ3VtZW50cyBhY2NlcHQgY3NzIGFuZ2xlcyBpbiBkZWdyZWVzIChkZWcpIG9yIHJhZGlhbiAocmFkKSB1bml0cy5cbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tldyhcbiAgJHNrZXcteDogJGRlZmF1bHQtc2tldy14LFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3KCRza2V3LXgsICRza2V3LXkpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB4IGF4aXpcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXgsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdYKFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WCgkc2tldy14KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIFNrZXcgYW4gZWxlbWVudCBhbG9uZyB0aGUgeSBheGlzXG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy15LCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3WShcbiAgJHNrZXcteTogJGRlZmF1bHQtc2tldy15LFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2tld1koJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG5cbi8vIEZ1bGwgdHJhbnNmb3JtIG1peGluc1xuLy8gRm9yIHNldHRpbmdzIGFueSBjb21iaW5hdGlvbiBvZiB0cmFuc2Zvcm1zIGFzIGFyZ3VtZW50c1xuLy8gVGhlc2UgYXJlIGNvbXBsZXggYW5kIG5vdCBoaWdobHkgcmVjb21tZW5kZWQgZm9yIGRhaWx5IHVzZS4gVGhleSBhcmUgbWFpbmx5XG4vLyBoZXJlIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IHB1cnBvc2VzLlxuLy9cbi8vICogdGhleSBpbmNsdWRlIG9yaWdpbiBhZGp1c3RtZW50c1xuLy8gKiBzY2FsZSB0YWtlcyBhIG11bHRpcGxpZXIgKHVuaXRsZXNzKSwgcm90YXRlIGFuZCBza2V3IHRha2UgZGVncmVlcyAoZGVnKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBjcmVhdGUtdHJhbnNmb3JtKFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlLFxuICAkc2NhbGUteDogICAgIGZhbHNlLFxuICAkc2NhbGUteTogICAgIGZhbHNlLFxuICAkc2NhbGUtejogICAgIGZhbHNlLFxuICAkcm90YXRlLXg6ICAgIGZhbHNlLFxuICAkcm90YXRlLXk6ICAgIGZhbHNlLFxuICAkcm90YXRlLXo6ICAgIGZhbHNlLFxuICAkcm90YXRlM2Q6ICAgIGZhbHNlLFxuICAkdHJhbnMteDogICAgIGZhbHNlLFxuICAkdHJhbnMteTogICAgIGZhbHNlLFxuICAkdHJhbnMtejogICAgIGZhbHNlLFxuICAkc2tldy14OiAgICAgIGZhbHNlLFxuICAkc2tldy15OiAgICAgIGZhbHNlLFxuICAkb3JpZ2luLXg6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXk6ICAgIGZhbHNlLFxuICAkb3JpZ2luLXo6ICAgIGZhbHNlLFxuICAkb25seTNkOiAgICAgIGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB1bnF1b3RlKFwiXCIpO1xuXG4gIC8vIHBlcnNwZWN0aXZlXG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgOyB9XG5cbiAgLy8gc2NhbGVcbiAgQGlmICRzY2FsZS14IGFuZCAkc2NhbGUteSB7XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUzZCgkc2NhbGUteCwgJHNjYWxlLXksICRzY2FsZS16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgc2NhbGUoJHNjYWxlLXgsICRzY2FsZS15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHNjYWxlLXggeyAkdHJhbnM6ICR0cmFucyBzY2FsZVgoJHNjYWxlLXgpOyB9XG4gICAgQGlmICRzY2FsZS15IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVZKCRzY2FsZS15KTsgfVxuICAgIEBpZiAkc2NhbGUteiB7ICR0cmFuczogJHRyYW5zIHNjYWxlWigkc2NhbGUteik7IH1cbiAgfVxuXG4gIC8vIHJvdGF0ZVxuICBAaWYgJHJvdGF0ZS14IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWCgkcm90YXRlLXgpOyB9XG4gIEBpZiAkcm90YXRlLXkgeyAkdHJhbnM6ICR0cmFucyByb3RhdGVZKCRyb3RhdGUteSk7IH1cbiAgQGlmICRyb3RhdGUteiB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVooJHJvdGF0ZS16KTsgfVxuICBAaWYgJHJvdGF0ZTNkIHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlM2QoJHJvdGF0ZTNkKTsgfVxuXG4gIC8vIHRyYW5zbGF0ZVxuICBAaWYgJHRyYW5zLXggYW5kICR0cmFucy15IHtcbiAgICBAaWYgJHRyYW5zLXogeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUzZCgkdHJhbnMteCwgJHRyYW5zLXksICR0cmFucy16KTsgfVxuICAgIEBlbHNlIHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlKCR0cmFucy14LCAkdHJhbnMteSk7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmICR0cmFucy14IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWCgkdHJhbnMteCk7IH1cbiAgICBAaWYgJHRyYW5zLXkgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVZKCR0cmFucy15KTsgfVxuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVooJHRyYW5zLXopOyB9XG4gIH1cblxuICAvLyBza2V3XG4gIEBpZiAkc2tldy14IGFuZCAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tldygkc2tldy14LCAkc2tldy15KTsgfVxuICBAZWxzZSB7XG4gICAgQGlmICRza2V3LXggeyAkdHJhbnM6ICR0cmFucyBza2V3WCgkc2tldy14KTsgfVxuICAgIEBpZiAkc2tldy15IHsgJHRyYW5zOiAkdHJhbnMgc2tld1koJHNrZXcteSk7IH1cbiAgfVxuXG4gIC8vIGFwcGx5IGl0IVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luLXgsICRvcmlnaW4teSwgJG9yaWdpbi16LCAkb25seTNkKTtcbn1cblxuXG4vLyBBIHNpbXBsaWZpZWQgc2V0IG9mIG9wdGlvbnNcbi8vIGJhY2t3YXJkcy1jb21wYXRpYmxlIHdpdGggdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlICd0cmFuc2Zvcm0nIG1peGluXG5AbWl4aW4gc2ltcGxlLXRyYW5zZm9ybShcbiAgJHNjYWxlOiAgICBmYWxzZSxcbiAgJHJvdGF0ZTogICBmYWxzZSxcbiAgJHRyYW5zLXg6ICBmYWxzZSxcbiAgJHRyYW5zLXk6ICBmYWxzZSxcbiAgJHNrZXcteDogICBmYWxzZSxcbiAgJHNrZXcteTogICBmYWxzZSxcbiAgJG9yaWdpbi14OiBmYWxzZSxcbiAgJG9yaWdpbi15OiBmYWxzZVxuKSB7XG4gIEBpbmNsdWRlIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICAgZmFsc2UsXG4gICAgJHNjYWxlLCAkc2NhbGUsIGZhbHNlLFxuICAgIGZhbHNlLCBmYWxzZSwgJHJvdGF0ZSwgZmFsc2UsXG4gICAgJHRyYW5zLXgsICR0cmFucy15LCBmYWxzZSxcbiAgICAkc2tldy14LCAkc2tldy15LFxuICAgICRvcmlnaW4teCwgJG9yaWdpbi15LCBmYWxzZSxcbiAgICBmYWxzZVxuICApO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDU1MgVHJhbnNpdGlvbnNcbi8vIEN1cnJlbnRseSBvbmx5IHdvcmtzIGluIFdlYmtpdC5cbi8vXG4vLyAqIGV4cGVjdGVkIGluIENTUzMsIEZpcmVGb3ggMy42LzcgYW5kIE9wZXJhIFByZXN0byAyLjNcbi8vICogV2UnbGwgYmUgcHJlcGFyZWQuXG4vL1xuLy8gSW5jbHVkaW5nIHRoaXMgc3VibW9kdWxlIHNldHMgZm9sbG93aW5nIGRlZmF1bHRzIGZvciB0aGUgbWl4aW5zOlxuLy9cbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5IDogYWxsXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDFzXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiA6IGZhbHNlXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSAgICA6IGZhbHNlXG4vL1xuLy8gT3ZlcnJpZGUgdGhlbSBpZiB5b3UgbGlrZS4gVGltaW5nLWZ1bmN0aW9uIGFuZCBkZWxheSBhcmUgc2V0IHRvIGZhbHNlIGZvciBicm93c2VyIGRlZmF1bHRzIChlYXNlLCAwcykuXG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiBmYWxzZSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlczogdHJhbnNmb3JtLCB0cmFuc2Zvcm0tb3JpZ2luICFkZWZhdWx0O1xuXG4vLyBPbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb25cbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogYWxzbyBhY2NlcHRzIFwiYWxsXCIgb3IgXCJub25lXCJcblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRwcm9wZXJ0eS0yIDogZmFsc2UsXG4gICRwcm9wZXJ0eS0zIDogZmFsc2UsXG4gICRwcm9wZXJ0eS00IDogZmFsc2UsXG4gICRwcm9wZXJ0eS01IDogZmFsc2UsXG4gICRwcm9wZXJ0eS02IDogZmFsc2UsXG4gICRwcm9wZXJ0eS03IDogZmFsc2UsXG4gICRwcm9wZXJ0eS04IDogZmFsc2UsXG4gICRwcm9wZXJ0eS05IDogZmFsc2UsXG4gICRwcm9wZXJ0eS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHktMSkgPT0gc3RyaW5nIHsgJHByb3BlcnR5LTE6IHVucXVvdGUoJHByb3BlcnR5LTEpOyB9XG4gICRwcm9wZXJ0aWVzOiBjb21wYWN0KCRwcm9wZXJ0eS0xLCAkcHJvcGVydHktMiwgJHByb3BlcnR5LTMsICRwcm9wZXJ0eS00LCAkcHJvcGVydHktNSwgJHByb3BlcnR5LTYsICRwcm9wZXJ0eS03LCAkcHJvcGVydHktOCwgJHByb3BlcnR5LTksICRwcm9wZXJ0eS0xMCk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbW96LCAgICAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW8sICAgICAgJHByb3BlcnRpZXMpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSA6ICRwcm9wZXJ0aWVzO1xufVxuXG4vLyBPbmUgb3IgbW9yZSBkdXJhdGlvbnMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkdXJhdGlvbnMgd2lsbCBhZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGR1cmF0aW9uLTIgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTMgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTQgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTUgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTYgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTcgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTggOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTkgOiBmYWxzZSxcbiAgJGR1cmF0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkdXJhdGlvbi0xKSA9PSBzdHJpbmcgeyAkZHVyYXRpb24tMTogdW5xdW90ZSgkZHVyYXRpb24tMSk7IH1cbiAgJGR1cmF0aW9uczogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0aW1pbmcgZnVuY3Rpb25zXG4vL1xuLy8gKiBbIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcih4MSwgeTEsIHgyLCB5MildXG4vLyAqIEZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZnVuY3Rpb24tMiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNiA6IGZhbHNlLFxuICAkZnVuY3Rpb24tNyA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOCA6IGZhbHNlLFxuICAkZnVuY3Rpb24tOSA6IGZhbHNlLFxuICAkZnVuY3Rpb24tMTA6IGZhbHNlXG4pIHtcbiAgJGZ1bmN0aW9uLTE6IHVucXVvdGUoJGZ1bmN0aW9uLTEpO1xuICAkZnVuY3Rpb25zOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9ucyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBPbmUgb3IgbW9yZSB0cmFuc2l0aW9uLWRlbGF5cyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGRlbGF5cyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5LFxuICAkZGVsYXktMiA6IGZhbHNlLFxuICAkZGVsYXktMyA6IGZhbHNlLFxuICAkZGVsYXktNCA6IGZhbHNlLFxuICAkZGVsYXktNSA6IGZhbHNlLFxuICAkZGVsYXktNiA6IGZhbHNlLFxuICAkZGVsYXktNyA6IGZhbHNlLFxuICAkZGVsYXktOCA6IGZhbHNlLFxuICAkZGVsYXktOSA6IGZhbHNlLFxuICAkZGVsYXktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGRlbGF5LTEpID09IHN0cmluZyB7ICRkZWxheS0xOiB1bnF1b3RlKCRkZWxheS0xKTsgfVxuICAkZGVsYXlzOiBjb21wYWN0KCRkZWxheS0xLCAkZGVsYXktMiwgJGRlbGF5LTMsICRkZWxheS00LCAkZGVsYXktNSwgJGRlbGF5LTYsICRkZWxheS03LCAkZGVsYXktOCwgJGRlbGF5LTksICRkZWxheS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXlzLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFRyYW5zaXRpb24gYWxsLWluLW9uZSBzaG9ydGhhbmRcblxuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksXG4gICRkdXJhdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgJGZ1bmN0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLFxuICAkZGVsYXk6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXlcbikge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbXBhY3QoJHByb3BlcnR5ICRkdXJhdGlvbiAkZnVuY3Rpb24gJGRlbGF5KSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkdHJhbnNpdGlvbi0xIDogZGVmYXVsdCxcbiAgJHRyYW5zaXRpb24tMiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0zIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTQgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi02IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTcgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi05IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkdHJhbnNpdGlvbi0xID09IGRlZmF1bHQge1xuICAgICR0cmFuc2l0aW9uLTEgOiBjb21wYWN0KCRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkpO1xuICB9XG4gICR0cmFuc2l0aW9uczogZmFsc2U7XG4gIEBpZiB0eXBlLW9mKCR0cmFuc2l0aW9uLTEpID09IGxpc3QgYW5kIHR5cGUtb2YobnRoKCR0cmFuc2l0aW9uLTEsMSkpID09IGxpc3Qge1xuICAgICR0cmFuc2l0aW9uczogam9pbigkdHJhbnNpdGlvbi0xLCBjb21wYWN0KCR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKSwgY29tbWEpO1xuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNpdGlvbnMgOiBjb21wYWN0KCR0cmFuc2l0aW9uLTEsICR0cmFuc2l0aW9uLTIsICR0cmFuc2l0aW9uLTMsICR0cmFuc2l0aW9uLTQsICR0cmFuc2l0aW9uLTUsICR0cmFuc2l0aW9uLTYsICR0cmFuc2l0aW9uLTcsICR0cmFuc2l0aW9uLTgsICR0cmFuc2l0aW9uLTksICR0cmFuc2l0aW9uLTEwKTtcbiAgfVxuICAkZGVsYXlzOiBjb21tYS1saXN0KCk7XG4gICRoYXMtZGVsYXlzOiBmYWxzZTtcbiAgJHdlYmtpdC12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkbW96LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRvLXZhbHVlOiBjb21tYS1saXN0KCk7XG5cbiAgLy8gVGhpcyBibG9jayBjYW4gYmUgbWFkZSBjb25zaWRlcmFibHkgc2ltcGxlciBhdCB0aGUgcG9pbnQgaW4gdGltZSB0aGF0XG4gIC8vIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRlYWwgd2l0aCB0aGUgZGlmZmVyZW5jZXMgaW4gaG93IGRlbGF5cyBhcmUgdHJlYXRlZC5cbiAgQGVhY2ggJHRyYW5zaXRpb24gaW4gJHRyYW5zaXRpb25zIHtcbiAgICAvLyBFeHRyYWN0IHRoZSB2YWx1ZXMgZnJvbSB0aGUgbGlzdFxuICAgIC8vICh0aGlzIHdvdWxkIGJlIGNsZWFuZXIgaWYgbnRoIHRvb2sgYSAzcmQgYXJndW1lbnQgdG8gcHJvdmlkZSBhIGRlZmF1bHQgdmFsdWUpLlxuICAgICRwcm9wZXJ0eTogbnRoKCR0cmFuc2l0aW9uLCAxKTtcbiAgICAkZHVyYXRpb246IGZhbHNlO1xuICAgICR0aW1pbmctZnVuY3Rpb246IGZhbHNlO1xuICAgICRkZWxheTogZmFsc2U7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHsgJGR1cmF0aW9uOiAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCAyKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMiB7ICR0aW1pbmctZnVuY3Rpb246IG50aCgkdHJhbnNpdGlvbiwgMyk7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDMgeyAkZGVsYXk6ICAgICAgICAgICBudGgoJHRyYW5zaXRpb24sIDQpOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gSWYgYSBkZWxheSBpcyBwcm92aWRlZCB3aXRob3V0IGEgdGltaW5nIGZ1bmN0aW9uXG4gICAgQGlmIGlzLXRpbWUoJHRpbWluZy1mdW5jdGlvbikgYW5kIG5vdCgkZGVsYXkpIHsgJGRlbGF5OiAkdGltaW5nLWZ1bmN0aW9uOyAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIEtlZXAgYSBsaXN0IG9mIGRlbGF5cyBpbiBjYXNlIG9uZSBpcyBzcGVjaWZpZWRcbiAgICAkZGVsYXlzOiBhcHBlbmQoJGRlbGF5cywgaWYoJGRlbGF5LCAkZGVsYXksIDBzKSk7XG5cbiAgICAkd2Via2l0LXZhbHVlOiBhcHBlbmQoJHdlYmtpdC12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbikuLi4pKTtcbiAgICAgICAkbW96LXZhbHVlOiBhcHBlbmQoICAgJG1vei12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgLW1veiwgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gICAgICAgICAkby12YWx1ZTogYXBwZW5kKCAgICAgJG8tdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgICAgLW8sICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICB9XG5cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uIDogJHdlYmtpdC12YWx1ZTtcbiAgICAvLyBvbGQgd2Via2l0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZGVsYXkgcGFyYW1ldGVyIGluIHRoZSBzaG9ydGhhbmQgc28gd2UgcHJvZ3Jlc3NpdmVseSBlbmhhbmNlIGl0LlxuICAgIEBpZiAkaGFzLWRlbGF5cyAgICAgICAgICAgICAgICAgICAgICAgeyAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXkgOiAkZGVsYXlzOyAgICAgICB9IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uIDogJG1vei12YWx1ZTsgICAgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24gOiAkby12YWx1ZTsgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbiA6ICR0cmFuc2l0aW9ucztcbn1cblxuLy8gY29lcmNlIGEgbGlzdCB0byBiZSBjb21tYSBkZWxpbWl0ZWQgb3IgbWFrZSBhIG5ldywgZW1wdHkgY29tbWEgZGVsaW1pdGVkIGxpc3QuXG5AZnVuY3Rpb24gY29tbWEtbGlzdCgkbGlzdDogKCkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkbGlzdCwgY29tbWEpO1xufVxuXG4vLyBSZXR1cm5zIGAkcHJvcGVydHlgIHdpdGggdGhlIGdpdmVuIHByZWZpeCBpZiBpdCBpcyBmb3VuZCBpbiBgJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlc2AuXG5AZnVuY3Rpb24gcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHByb3BlcnR5KSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eSkgPT0gbGlzdCB7XG4gICAgJG5ldy1saXN0OiBjb21tYS1saXN0KCk7XG4gICAgQGVhY2ggJHYgaW4gJHByb3BlcnR5IHtcbiAgICAgICRuZXctbGlzdDogYXBwZW5kKCRuZXctbGlzdCwgcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHYpKTtcbiAgICB9XG4gICAgQHJldHVybiAkbmV3LWxpc3Q7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBpbmRleCgkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzLCAkcHJvcGVydHkpIHtcbiAgICAgIEByZXR1cm4gI3skcHJlZml4fS0jeyRwcm9wZXJ0eX07XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRwcm9wZXJ0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2hlY2tzIGlmIHRoZSB2YWx1ZSBnaXZlbiBpcyBhIHVuaXQgb2YgdGltZS5cbkBmdW5jdGlvbiBpcy10aW1lKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgQHJldHVybiBub3Qobm90KGluZGV4KHMgbXMsIHVuaXQoJHZhbHVlKSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDaGFuZ2UgdGhlIGFwcGVhcmFuY2UgZm9yIE1vemlsbGEsIFdlYmtpdCBhbmQgcG9zc2libHkgdGhlIGZ1dHVyZS5cbi8vIFRoZSBhcHBlYXJhbmNlIHByb3BlcnR5IGlzIGN1cnJlbnRseSBub3QgcHJlc2VudCBpbiBhbnkgbmV3ZXIgQ1NTIHNwZWNpZmljYXRpb24uXG4vL1xuLy8gVGhlcmUgaXMgbm8gb2ZmaWNpYWwgbGlzdCBvZiBhY2NlcHRlZCB2YWx1ZXMsIGJ1dCB5b3UgbWlnaHQgY2hlY2sgdGhlc2Ugc291cmNlOlxuLy8gICBNb3ppbGxhIDogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vQ1NTLy1tb3otYXBwZWFyYW5jZVxuLy8gICBXZWJraXQgIDogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYmtpdC1taXJyb3Ivc291cmNlL2Jyb3dzZS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbj9zcGVjPXN2bmYxYWVhNTU5ZGNkMDI1YTg5NDZhYTdkYTZlNGU4MzA2ZjVjMWI2MDQmcj02M2M3ZDFhZjQ0NDMwYjMxNDIzM2ZlYTM0MmMzZGRiMmEwNTJlMzY1XG4vLyAgIChzZWFyY2ggZm9yICdhcHBlYXJhbmNlJyB3aXRoaW4gdGhlIHBhZ2UpXG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcCkge1xuICAkYXA6IHVucXVvdGUoJGFwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGFwcGVhcmFuY2UsICRhcCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFdlYmtpdCwgSUUxMCBhbmQgZnV0dXJlIHN1cHBvcnQgZm9yIFtDU1MgUmVnaW9uc10oaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1yZWdpb25zLylcbi8vXG4vLyAkdGFyZ2V0IGlzIGEgdmFsdWUgeW91IHVzZSB0byBsaW5rIHR3byByZWdpb25zIG9mIHlvdXIgY3NzLiBHaXZlIHRoZSBzb3VyY2Ugb2YgeW91ciBjb250ZW50IHRoZSBmbG93LWludG8gcHJvcGVydHksIGFuZCBnaXZlIHlvdXIgdGFyZ2V0IGNvbnRhaW5lciB0aGUgZmxvdy1mcm9tIHByb3BlcnR5LlxuLy9cbi8vIEZvciBhIHZpc3VhbCBleHBsYW5hdGlvbiwgc2VlIHRoZSBkaWFncmFtcyBhdCBDaHJpcyBDb3lpZXInc1xuLy8gW0NTUy1Ucmlja3NdKGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9jb250ZW50LWZvbGRpbmcvKVxuXG5AbWl4aW4gZmxvdy1pbnRvKCR0YXJnZXQpIHtcbiAgJHRhcmdldDogdW5xdW90ZSgkdGFyZ2V0KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZsb3ctaW50bywgJHRhcmdldCxcbiAgICBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG5vdCBvZmZpY2lhbFxuICApO1xufVxuXG5AbWl4aW4gZmxvdy1mcm9tKCR0YXJnZXQpIHtcbiAgJHRhcmdldDogdW5xdW90ZSgkdGFyZ2V0KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZsb3ctZnJvbSwgJHRhcmdldCxcbiAgICBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG5vdCBvZmZpY2lhbFxuICApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gTWl4aW5zIHRvIHN1cHBvcnQgc3BlY2lmaWMgQ1NTIFRleHQgTGV2ZWwgMyBlbGVtZW50c1xuLy9cbi8vXG4vL1xuLy8gTWl4aW4gZm9yIHdvcmQtYnJlYWsgcHJvcGVydGllc1xuLy8gaHR0cDovL3d3dy53My5vcmcvY3NzMy10ZXh0LyN3b3JkLWJyZWFrXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJHR5cGUgOiBub3JtYWwsIGtlZXAtYWxsLCBicmVhay1hbGxcbi8vXG4vLyBFeGFtcGxlOlxuLy8gICAgcC53b3JkQnJlYWsge0BpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTt9XG4vL1xuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy8gICAgcC53b3JkQnJlYWsge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7fVxuLy9cbkBtaXhpbiB3b3JkLWJyZWFrKCR2YWx1ZTogbm9ybWFsKXtcbiAgQGlmICR2YWx1ZSA9PSBicmVhay1hbGwge1xuICAgIC8vTW9zdCBicm93c2VycyBoYW5kbGUgdGhlIGJyZWFrLWFsbCBjYXNlIHRoZSBzYW1lLi4uXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssICR2YWx1ZSxcbiAgICAgIG5vdCgtbW96KSwgbm90KC13ZWJraXQpLCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gICAgLy9XZWJraXQgaGFuZGxlcyBicmVhay1hbGwgZGlmZmVyZW50bHkuLi4gYXMgYnJlYWstd29yZFxuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCBicmVhay13b3JkLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgdGhlIGh5cGhlbnMgcHJvcGVydHlcbi8vXG4vLyBXM0Mgc3BlY2lmaWNhdGlvbjogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10ZXh0LyNoeXBoZW5zXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJHR5cGUgOiBhdXRvLCBtYW51YWwsIG5vbmVcbi8vXG4vLyBFeGFtcGxlOlxuLy8gIHAge1xuLy8gICAgQGluY2x1ZGUgaHlwaGVucyhhdXRvKTt9XG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgcCB7XG4vLyAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4vLyAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4vLyAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVucygkdmFsdWU6IGF1dG8pe1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoaHlwaGVucywgJHZhbHVlLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHgtYnJvd3NlciBoeXBoZW5hdGlvbiBiYXNlZCBvbiBAYXVjaGVuYmVyZydzIHBvc3Q6XG4vLyBSZW1vdmVzIHRoZSBuZWVkIGZvciB0aGUgPHdici8+IEhUTUwgdGFnXG4vLyBodHRwOi8vYmxvZy5rZW5uZXRoLmlvL2Jsb2cvMjAxMi8wMy8wNC93b3JkLXdyYXBwaW5nLWh5cGVybmF0aW9uLXVzaW5nLWNzcy9cbi8vXG4vLyAgRXhhbXBsZTpcbi8vICBkaXYge0BpbmNsdWRlIGh5cGhlbmF0aW9uO31cbi8vXG4vLyAgV2hpY2ggZ2VuZXJhdGVzOlxuLy8gICAgZGl2IHtcbi8vICAgICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuLy8gICAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4vLyAgICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgICAgaHlwaGVuczogYXV0bzt9XG4vL1xuQG1peGluIGh5cGhlbmF0aW9ue1xuICBAaW5jbHVkZSB3b3JkLWJyZWFrKGJyZWFrLWFsbCk7XG4gIEBpbmNsdWRlIGh5cGhlbnM7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgc3VwcG9ydCBmb3IgdGhlIHVwY29taW5nICg/KSBjc3MzIGZpbHRlciBwcm9wZXJ0eS5cbi8vXG4vLyBFYWNoIGZpbHRlciBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyBmaWx0ZXIgcHJvcGVydHkuXG5AbWl4aW4gZmlsdGVyIChcbiAgJGZpbHRlci0xLFxuICAkZmlsdGVyLTIgOiBmYWxzZSxcbiAgJGZpbHRlci0zIDogZmFsc2UsXG4gICRmaWx0ZXItNCA6IGZhbHNlLFxuICAkZmlsdGVyLTUgOiBmYWxzZSxcbiAgJGZpbHRlci02IDogZmFsc2UsXG4gICRmaWx0ZXItNyA6IGZhbHNlLFxuICAkZmlsdGVyLTggOiBmYWxzZSxcbiAgJGZpbHRlci05IDogZmFsc2UsXG4gICRmaWx0ZXItMTA6IGZhbHNlXG4pIHtcbiAgJGZpbHRlciA6IGNvbXBhY3QoJGZpbHRlci0xLCAkZmlsdGVyLTIsICRmaWx0ZXItMywgJGZpbHRlci00LCAkZmlsdGVyLTUsICRmaWx0ZXItNiwgJGZpbHRlci03LCAkZmlsdGVyLTgsICRmaWx0ZXItOSwgJGZpbHRlci0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChmaWx0ZXIsICRmaWx0ZXIsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuIiwiJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBTYXNzJ3MgQGV4dGVuZCBkaXJlY3RpdmUgdG8gYXBwbHkgdGhlIGJlaGF2aW9yXG4vLyB0byB5b3VyIFBJRSBlbGVtZW50cy4gVG8gYXNzaXN0IHlvdSwgQ29tcGFzcyBwcm92aWRlcyB0aGlzIHZhcmlhYmxlLlxuLy8gV2hlbiBzZXQsIGl0IHdpbGwgY2F1c2UgdGhlIGBAaW5jbHVkZSBwaWVgIG1peGluIHRvIGV4dGVuZCB0aGlzIGNsYXNzLlxuLy8gVGhlIGNsYXNzIG5hbWUgeW91IHByb3ZpZGUgc2hvdWxkICoqbm90KiogaW5jbHVkZSB0aGUgYC5gLlxuJHBpZS1iYXNlLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgYXBwcm9hY2ggdG8gdXNpbmcgUElFLlxuLy8gQ2FuIGJlIG9uZSBvZjpcbi8vXG4vLyAqIHJlbGF0aXZlIChkZWZhdWx0KVxuLy8gKiB6LWluZGV4XG4vLyAqIG5vbmVcbiRwaWUtZGVmYXVsdC1hcHByb2FjaDogcmVsYXRpdmUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBsb2NhdGlvbiBvZiB5b3VyIFBJRSBiZWhhdmlvciBmaWxlXG4vLyBUaGlzIHNob3VsZCBiZSByb290LXJlbGF0aXZlIHRvIHlvdXIgd2ViIHNlcnZlclxuLy8gcmVsYXRpdmUgYXNzZXRzIGRvbid0IHdvcmsuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXRcbi8vIHlvdSBzZXQgdGhpcyB5b3Vyc2VsZi5cbiRwaWUtYmVoYXZpb3I6IHN0eWxlc2hlZXQtdXJsKFwiUElFLmh0Y1wiKSAhZGVmYXVsdDtcblxuLy8gV2hlbiB1c2luZyB0aGUgei1pbmRleCBhcHByb2FjaCwgdGhlXG4vLyBmaXJzdCBhbmNlc3RvciBvZiB0aGUgUElFIGVsZW1lbnQgYXRcbi8vIG9yIGJlZm9yZSB0aGUgY29udGFpbmVyJ3Mgb3BhcXVlIGJhY2tncm91bmRcbi8vIHNob3VsZCBoYXZlIGEgei1pbmRleCBzZXQgYXMgd2VsbCB0byBlbnN1cmVcbi8vIHByb3BlcnQgei1pbmRleCBzdGFja2luZy5cbi8vXG4vLyBUaGUgYCRwb3NpdGlvbmAgYXJndW1lbnQgbXVzdCBiZSBzb21lIG5vbi1zdGF0aWNcbi8vIHZhbHVlIChhYnNvbHV0ZSwgcmVsYXRpdmUsIGV0Yy4pXG5AbWl4aW4gcGllLWNvbnRhaW5lcigkei1pbmRleDogMCwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICB6LWluZGV4OiAkei1pbmRleDtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcbn1cblxuLy8gUElFIGVsZW1lbnRzIG11c3QgaGF2ZSB0aGlzIGJlaGF2aW9yIGF0dGFjaGVkIHRvIHRoZW0uXG4vLyBJRSBpcyBicm9rZW4gLS0gaXQgZG9lc24ndCB0aGluayBvZiBiZWhhdmlvciB1cmxzIGFzXG4vLyByZWxhdGl2ZSB0byB0aGUgc3R5bGVzaGVldC4gSXQgY29uc2lkZXJzIHRoZW0gcmVsYXRpdmVcbi8vIHRvIHRoZSB3ZWJwYWdlLiBBcyBhIHJlc3VsdCwgeW91IGNhbm5vdCByZWxpYWJseSB1c2Vcbi8vIGNvbXBhc3MncyByZWxhdGl2ZV9hc3NldHMgd2l0aCBQSUUuXG4vL1xuLy8gKiBgJGFwcHJvYWNoYCAtIG9uZSBvZjogcmVsYXRpdmUsIHotaW5kZXgsIG9yIG5vbmVcbi8vICogYCR6LWluZGV4YCAtIHdoZW4gdXNpbmcgdGhlIHotaW5kZXggYXBwcm9hY2gsIHRoaXNcbi8vICAgICAgICAgICAgICAgIGlzIHRoZSB6LWluZGV4IHRoYXQgaXMgYXBwbGllZC5cbkBtaXhpbiBwaWUtZWxlbWVudChcbiAgJGFwcHJvYWNoOiAkcGllLWRlZmF1bHQtYXBwcm9hY2gsXG4gICR6LWluZGV4OiAwXG4pIHtcbiAgYmVoYXZpb3I6ICRwaWUtYmVoYXZpb3I7XG4gIEBpZiAkYXBwcm9hY2ggPT0gcmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gei1pbmRleCB7XG4gICAgei1pbmRleDogJHotaW5kZXg7XG4gIH1cbn1cblxuLy8gYSBzbWFydCBtaXhpbiB0aGF0IGtub3dzIHRvIGV4dGVuZCBvciBpbmNsdWRlIHBpZS1lbGVtZW50IGFjY29yZGluZ1xuLy8gdG8geW91ciBzdHlsZXNoZWV0J3MgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuXG5AbWl4aW4gcGllKCRiYXNlLWNsYXNzOiAkcGllLWJhc2UtY2xhc3MpIHtcbiAgQGlmICRiYXNlLWNsYXNzIHtcbiAgICBAZXh0ZW5kIC4jeyRiYXNlLWNsYXNzfTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgcGllLWVsZW1lbnQ7XG4gIH1cbn1cblxuLy8gV2F0Y2ggYCRuYCBsZXZlbHMgb2YgYW5jZXN0b3JzIGZvciBjaGFuZ2VzIHRvIHRoZWlyIGNsYXNzIGF0dHJpYnV0ZVxuLy8gU28gdGhhdCBjYXNjYWRpbmcgc3R5bGVzIHdpbGwgd29yayBjb3JyZWN0bHkgb24gdGhlIFBJRSBlbGVtZW50LlxuQG1peGluIHBpZS13YXRjaC1hbmNlc3RvcnMoJG4pIHtcbiAgLXBpZS13YXRjaC1hbmNlc3RvcnM6ICRuO1xufVxuIiwiLy8gVXNlciBJbnRlcmZhY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY2FuIGJlIGV4cGFuZGVkIHRvIGhhbmRsZSBhbGwgdGhlIHVzZXIgaW50ZXJmYWNlIHByb3BlcnRpZXMgYXNcbi8vIHRoZXkgYmVjb21lIGF2YWlsYWJsZSBpbiBicm93c2Vyczpcbi8vIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDAvV0QtY3NzMy11c2VyaW50LTIwMDAwMjE2XG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cblxuLy8gVGhpcyBwcm9wZXJ0eSBjb250cm9scyB0aGUgc2VsZWN0aW9uIG1vZGVsIGFuZCBncmFudWxhcml0eSBvZiBhbiBlbGVtZW50LlxuLy9cbi8vIEBwYXJhbSAkc2VsZWN0XG4vLyAgIFsgbm9uZSB8IHRleHQgfCB0b2dnbGUgfCBlbGVtZW50IHwgZWxlbWVudHMgfCBhbGwgfCBpbmhlcml0IF1cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gICRzZWxlY3Q6IHVucXVvdGUoJHNlbGVjdCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh1c2VyLXNlbGVjdCwgJHNlbGVjdCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIC1raHRtbCwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3R5bGUgdGhlIGh0bWw1IGlucHV0IHBsYWNlaG9sZGVyIGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cbi8vXG4vLyBUaGUgc3R5bGVzIGZvciB0aGUgaW5wdXQgcGxhY2Vob2xkZXIgYXJlIHBhc3NlZCBhcyBtaXhpbiBjb250ZW50XG4vLyBhbmQgdGhlIHNlbGVjdG9yIGNvbWVzIGZyb20gdGhlIG1peGluJ3MgY29udGV4dC5cbi8vXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgI3tlbGVtZW50cy1vZi10eXBlKHRleHQtaW5wdXQpfSB7XG4vLyAgICAgICBAaW5jbHVkZSBpbnB1dC1wbGFjZWhvbGRlciB7XG4vLyAgICAgICAgIGNvbG9yOiAjYmZiZmJmO1xuLy8gICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy9cbi8vIGlmIHlvdSB3YW50IHRvIGFwcGx5IHRoZSBwbGFjZWhvbGRlciBzdHlsZXMgdG8gYWxsIGVsZW1lbnRzIHN1cHBvcnRpbmdcbi8vIHRoZSBgaW5wdXQtcGxhY2Vob2xkZXJgIHBzZXVkbyBjbGFzcyAoYmV3YXJlIG9mIHBlcmZvcm1hbmNlIGltcGFjdHMpOlxuLy9cbi8vICAgICAqIHtcbi8vICAgICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbi8vICAgICAgICAgY29sb3I6ICNiZmJmYmY7XG4vLyAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgICAgIH1cbi8vICAgICB9XG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoaXMgaXMgdGhlIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24gZm9yIGFsbCB0aGUgb3RoZXIgbWl4aW5zIGluIHRoaXMgbW9kdWxlLlxuLy8gSXQgaXMgdGhlIG9ubHkgd2F5IHRvIGFjY2VzcyBwcmVmaXggc3VwcG9ydCBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgdGhlIHNwZWMuXG4vLyBEZXZpYXRlcyBmcm9tIGNhbm9uaWNhbCBDb21wYXNzIGltcGxlbWVudGF0aW9uIGJ5IGRyb3BwaW5nIHN1cHBvcnQgZm9yXG4vLyBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgRmxleGJveCBzcGVjLlxuLy9cbi8vIGAkcHJvcGVydGllc2A6IG1hcCBvZiBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0aGF0IHNob3VsZCBiZSBwcmVmaXhlZFxuQG1peGluIGZsZXhib3goJHByb3BlcnRpZXMpIHtcbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmICRwcm9wID09IGRpc3BsYXkge1xuICAgICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsLXZhbHVlKGRpc3BsYXksICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVmFsdWVzIGZvciAkZGlzcGxheSBhcmU6IGZsZXggKGRlZmF1bHQpLCBpbmxpbmUtZmxleFxuQG1peGluIGRpc3BsYXktZmxleCgkZGlzcGxheTogZmxleCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChkaXNwbGF5OiAkZGlzcGxheSkpO1xufVxuXG4vLyBWYWx1ZXM6IHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2VcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uKSk7XG59XG5cbi8vIFZhbHVlczogbm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZVxuQG1peGluIGZsZXgtd3JhcCgkd3JhcCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LXdyYXA6ICR3cmFwKSk7XG59XG5cbi8vIFNob3J0aGFuZCBmb3IgZmxleC1kaXJlY3Rpb24gYW5kIGZsZXgtd3JhcC5cbkBtaXhpbiBmbGV4LWZsb3coJGZsb3cpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1mbG93OiAkZmxvdykpO1xufVxuXG4vLyBBY2NlcHRzIGFuIGludGVnZXJcbkBtaXhpbiBvcmRlcigkb3JkZXIpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgob3JkZXI6ICRvcmRlcikpO1xufVxuXG4vLyBTaG9ydGhhbmQgZm9yIGZsZXgtZ3JvdywgZmxleC1zaHJpbmsgYW5kIG9wdGlvbmFsbHkgZmxleC1iYXNpcy5cbi8vIFNwYWNlIHNlcGFyYXRlZCwgaW4gdGhhdCBvcmRlci5cbkBtaXhpbiBmbGV4KCRmbGV4KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXg6ICRmbGV4KSk7XG59XG5cbi8vIEFjY2VwdHMgYSBudW1iZXIuXG5AbWl4aW4gZmxleC1ncm93KCRmbGV4LWdyb3cpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1ncm93OiAkZmxleC1ncm93KSk7XG59XG5cbi8vIEFjY2VwdHMgYSBudW1iZXIuXG5AbWl4aW4gZmxleC1zaHJpbmsoJGZsZXgtc2hyaW5rKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtc2hyaW5rOiAkZmxleC1zaHJpbmspKTtcbn1cblxuLy8gQWNjZXB0cyBhbnkgbGVnYWwgdmFsdWUgZm9yIHRoZSB3aWR0aCBwcm9wZXJ0eS5cbkBtaXhpbiBmbGV4LWJhc2lzKCRmbGV4LWJhc2lzKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtYmFzaXM6ICRmbGV4LWJhc2lzKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZFxuQG1peGluIGp1c3RpZnktY29udGVudCgkanVzdGlmeS1jb250ZW50KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudCkpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWl0ZW1zKCRhbGlnbi1pdGVtcykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1pdGVtczogJGFsaWduLWl0ZW1zKSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduLXNlbGYpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24tc2VsZjogJGFsaWduLXNlbGYpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduLWNvbnRlbnQpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoYWxpZ24tY29udGVudDogJGFsaWduLWNvbnRlbnQpKTtcbn1cbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpICogLjAwMTtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMikgIT0gbnVtYmVyIHtcbiAgICAkdmFsdWUyOiB1bnF1b3RlKFwiKFwiKSArICR2YWx1ZTIgKyB1bnF1b3RlKFwiKVwiKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gTGUgcHJlbWnDqHJlIGltcG9ydCBjb250aWVudCBsZXMgdmFyaWFibGVzIGJvb3RzdHJhcC5cbi8vIExlIGRldXhpw6htZSBpbXBvcnQgY29udGllbnQgbm9zIHZhcmlhYmxlcy5cblxuLy8gQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9vcHRpb25zXCI7XG5AaW1wb3J0IFwib3B0aW9uc1wiO1xuXG4vLyBDb2xvciBzeXN0ZW1cbkBpbXBvcnQgXCJib290c3RyYXAtY3cvY29sb3Itc3lzdGVtXCI7XG5AaW1wb3J0IFwiY29sb3JzXCI7XG5cbi8vIFNwYWNpbmdcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvc3BhY2luZ1wiO1xuXG4vLyBHcmlkIGNvbnRhaW5lcnMgLy8gR3JpZCBjb2x1bW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2dyaWRcIjtcblxuLy8gQ29tcG9uZW50cyAocmFkaXVzIC8gbGluZS1oZWlnaHQgLyBib3JkdXJlcylcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcInNpemVzXCI7XG5cbi8vIFR5cG9ncmFwaHlcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuLy8gVGFibGVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L3RhYmxlc1wiO1xuXG4vLyBCdXR0b25zICsgRm9ybXNcbkBpbXBvcnQgXCJib290c3RyYXAtY3cvYnV0dG9ucy1mb3Jtc1wiO1xuXG4vLyBCdXR0b25zXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5cbi8vIEZvcm1zIC8vIEZvcm0gdmFsaWRhdGlvblxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9mb3Jtc1wiO1xuXG4vLyBOYXZzIC8vIE5hdmJhclxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9uYXYtbmF2YmFyXCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5cbi8vIERyb3Bkb3ducyAobWVudS1kw6lyb3VsYW50KVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9kcm9wZG93bnNcIjtcblxuLy8gUGFnaW5hdGlvbiAocG91ciBnw6lyZXIgcGx1c2lldXJzIHBhZ2VzIGRhbnMgdW5lIG3Dqm1lIHJ1YnJpcXVlKVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9wYWdpbmF0aW9uXCI7XG5cbi8vIEp1bWJvdHJvblxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb24tYW5kcm9tZWRlXCI7IC8vIEFjdGl2w6kgcGFyIGTDqWZhdXQgZGFucyBzdHlsZS5zY3NzXG4vL0BpbXBvcnQgXCJqdW1ib3Ryb24tYm9kZVwiO1xuXG4vLyBDYXJkc1xuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jYXJkc1wiO1xuXG4vLyBUb2FzdHMgKG1lc3NhZ2UgcydhZmZpY2hhbnQgbG9ycyBkJ3VuZSBtb2RpZmljYXRpb24pXG5AaW1wb3J0IFwiYm9vdHN0cmFwLWN3L3RvYXN0c1wiO1xuXG4vLyBCcmVhZGNydW1icyAoZmlsIGQnYXJpYW5lKVxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9icmVhZGNydW1ic1wiO1xuXG4vLyBDYXJvdXNlbFxuQGltcG9ydCBcImJvb3RzdHJhcC1jdy9jYXJvdXNlbFwiO1xuXG4vLy8vIFZhcmlhYmxlcyBub24gaW1wb3J0w6llc1xuLy8vLyBUb29sdGlwcyAtIFBvcG92ZXJzIC0gQmFkZ2VzIC0gTW9kYWxzIC0gQWxlcnRzIC0gUHJvZ3Jlc3MgYmFycyAtIExpc3QgZ3JvdXAgLSBJbWFnZSB0aHVtYm5haWxzIC0gRmlndXJlcyAtIFNwaW5uZXJzIC0gQ2xvc2UgLSBDb2RlIC0gVXRpbGl0aWVzIC0gUHJpbnRpbmdcbiIsIi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG4vLyBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZG9jcy80LjAvZ2V0dGluZy1zdGFydGVkL3RoZW1pbmcvI3Nhc3Mtb3B0aW9uc1xuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7IiwiLy8gQ2FyZHNcbiRjdy1jYXJkczogXCJhbmRyb21lZGVcIjsgLy9hbmRyb21lZGUsIGJvZGVcblxuLy8gQm91dG9uc1xuJGJ0bi1iZy10cmFuc2l0aW9uOiAwOyAvLyAwID0gZm9uZHUsIDEgPSBkw6lncmFkw6ksIDIgPSBkw6lncmFkw6kgKyBkw6lncmFkw6ksIDMgPSBzbGlkZSwgNCA9IHNsaWRlLCA1ID0gb21icmUsIDYgPSBkw6lncmFkw6kgKyBvbWJyZSwgNyA9IGTDqWdyYWTDqSArIGJvcmR1cmUsIDcgPSBib3JkdXJlICsgZMOpZ3JhZMOpXG4kYnRuLXNoYWRvdzogZmFsc2U7XG5cbi8vIFRpdHJlIHNvdWxpZ25hZ2Vcbi8vIE1ldHRyZSBoU3BhbiDDoCB0cnVlIGRhbnMgY3VzdG9tLmpzIGFmaW4gZGUgbmUgcGFzIHV0aWxpc2VyIGRlcyByZXNzb3VyY2VzIHNpIG5vbiB1dGlsaXPDqS5cbiR0aXRsZS1kZWNvcmF0aW9uOiBcImZhbHNlXCI7IC8vIGZhbHNlLCBsaW5lX3RvcCwgbGluZV9ib3R0b20sIGxpbmVfdG9wLWJvdHRvbSwgbGluZV9iZywgcGljdHVyZV9ib3R0b20sIGdyYWRpZW50X2Fib3ZlXG5cbi8vIE1vdGlmIHN1ciBqdW1ib3Ryb24gZXQgcGFyYWxsYXggLy8gMCA9IGRpYWdvbmFsZSwgMSA9IHBvaW50LCAyID0gcXVhZHJpbGxhZ2UsIDMgPSBxdWFkcmlsbGFnZVxuJG92ZXJsYXktanVtYm90cm9uOiBmYWxzZTtcbiRvdmVybGF5LWNhbGwtdG8tYWN0aW9uOiBmYWxzZTtcbiRvdmVybGF5LXBhcmFsbGF4OiBmYWxzZTtcbiRvdmVybGF5LWZvcmNlczogZmFsc2U7XG4kb3ZlcmxheS1yZWZlcmVuY2VzOiBmYWxzZTtcbiRvdmVybGF5LW1vdGlmLWp1bWJvdHJvbjogMTtcbiRvdmVybGF5LW1vdGlmLWNhbGwtdG8tYWN0aW9uOiAxO1xuJG92ZXJsYXktbW90aWYtcGFyYWxsYXg6IDE7XG4kb3ZlcmxheS1tb3RpZi1mb3JjZXM6IDE7XG4kb3ZlcmxheS1tb3RpZi1yZWZlcmVuY2VzOiAxO1xuXG4vLyBBY3R1YWxpdMOpXG4kY3ctY2FyZHMtaW1nLXNoYWRvdzogdHJ1ZTtcblxuLy8gRGFtaWVyIC8gY2FyZHNcbiRkYW1pZXItY2FyZHMtc2hhZG93OiB0cnVlO1xuJGRhbWllci1jb2wtcmVzc2VycmVyOiB0cnVlO1xuJGRhbWllci1pbWctY2VudGVyLWJnOiBmYWxzZTtcbiRkYW1pZXItZ3JhZGllbnQ6IGZhbHNlO1xuJGRhbWllci1oMi1hbGlnbi14czogbGVmdDtcbiRkYW1pZXItdHh0LWFsaWduLXhzOiBsZWZ0O1xuJGRhbWllci1idG4tYWxpZ24teHM6IGxlZnQ7XG4kZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZzogbGVmdDtcbiRkYW1pZXItYmctb25lLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZzogJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXR3by10eHQtYWxpZ24tbGc6ICRkYW1pZXItYmctb25lLXR4dC1hbGlnbi1sZztcbiRkYW1pZXItYmctdHdvLWJ0bi1hbGlnbi1sZzogJGRhbWllci1iZy10d28taDItYWxpZ24tbGc7XG4kZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnOiBjZW50ZXI7XG4kZGFtaWVyLWJnLXRocmVlLXR4dC1hbGlnbi1sZzogY2VudGVyO1xuJGRhbWllci1iZy10aHJlZS1idG4tYWxpZ24tbGc6IGNlbnRlcjtcblxuLy8gQ2FyZHNcbiRjdy1jYXJkLWRhdGUtaWNvbjogZmFsc2U7IC8vdXRpbGlzw6kgZGFucyBhY3R1YWxpdMOpXG5cbi8vIFNoYXJlLXRoaXNcbiRhZGR0b2FueS1iYWNrZ3JvdW5kIDogXCJjaXJjbGVcIjsgLy9jaXJjbGUsIGNpcmNsZS10aGluLCBub25lXG5cbi8vIFBhcmFsbGF4XG4kcGFyYWxsYXgtZ3JhZGllbnQ6IHRydWU7XG5cbi8vIEZvcm1cbiRmb3JtLWFuaW0tbGluZTogYm9yZGVyLWJvdHRvbTsvLyBmYWxzZSwgYm90dG9tLCBhbGwsIGJvcmRlciwgYm9yZGVyLWJvdHRvbVxuXG4vLyBNYXBcbiRjb25maWd1cmF0aW9uLW1hcDogXCJtYXAtZnVsbFwiOyAvL21hcC1mdWxsLCBtYXAtc3VwZXJwb3NpdGlvbiwgbWFwLWNlbnRlciwgbWFwLWRvdWJsZShham91dGVyIHVuIGRldXhpw6htZSBsaWVuLCBtYXAtd2l0aC1jb250ZW50KVxuJG1hcC1pbnRlcnZlbnRpb24tZmEtY29udGVudDogXCJcXGYzYzVcIjsgLy8gZjNjNSAobWFya2VyIGNsYXNzaWMpIC0gZjA1YiAoY3Jvc3NoYWlycykgLSBmNWEwIChtYXApIC0gZjA0MSAobWFya2VyIGZ1bGwpIC0gZjI3NiAocGluKVxuXG4vLyBCbHVyXG4kYmx1cjogZmFsc2U7XG4kYmx1ci12YWx1ZTogMTVweDtcblxuLy8gU2hhcGUtZGl2aWRlciAoc8OpcGFyYXRpb25zIGF2ZWMgZGVzIGZvcm1lcyBlbiBzdmcpXG4vL1xuLy8gQXR0ZW50aW9uIHNpIGlsIHkgYSBkZXMgZmlsdHJlcyBzdXIgbGVzIGltYWdlcyAoaGVhZGVyL3BhcmFsbGF4KSBpbHMgZmF1dCBsZXMgaW50w6lncmVyIGF1eCBsJ2ltYWdlcyBldCBkw6lzYWN0aXZlciBsZXMgb3B0aW9ucyBhZmluIGRlIHBvdXZvaXIgdXRpbGlzZXIgbGVzIGFmdGVyIGV0IGJlZm9yZSBzYW5zIGNvbmZsaXRzLlxuJHNoYXBlLWRpdmlkZXItc2VsZWN0aW9uOiAxOy8vMT1XYXZlcywgMz1XYXZlcyBPcGFjaXR5LCA0PUN1cnZlLCA1PVRyaWFuZ2xlLCA2PVRyaWFuZ2xlIEFzeW1tZXRyaWNhbCwgNz1BcnJvdywgOD1UaWx0L0RpYWdvbmFsLCA5PUJvb2tcbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b206IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItanVtYm90cm9uLWJvdHRvbS1ub3QtZnJvbnQ6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItYWN0dWFsaXRlLWJvdHRvbTogZmFsc2U7XG4kc2hhcGUtZGl2aWRlci1wYXJhbGxheC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtYm90dG9tOiBmYWxzZTtcbiRzaGFwZS1kaXZpZGVyLW1hcC10b3A6IGZhbHNlO1xuJHNoYXBlLWRpdmlkZXItbWFwLWJvdHRvbTogZmFsc2U7XG4iLCIvLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjlmOWY5ICFkZWZhdWx0O1xuJGdyYXktMTUwOiAjZjNmM2YzICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllOWU5ICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVkZWRlICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VjZWNlICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRhZGFkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjODE4MTgxICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk0OTQ5ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzNDM0ICFkZWZhdWx0O1xuJGdyYXktODUwOiAjMzczNzM3ICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMTgxODE4ICFkZWZhdWx0O1xuJGJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZ3JheXNcbik7XG5cbiRibHVlOiAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICMxN2EyYjggIWRlZmF1bHQ7XG5cblxuJHByaW1hcnk6ICNGRjk5MDAgIWRlZmF1bHQ7XG4kcHJpbWFyeS1kYXJrOiBkYXJrZW4oJHByaW1hcnksIDglKTtcbiRwcmltYXJ5LWxpZ2h0OiAkd2hpdGU7XG4kc2Vjb25kYXJ5OiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWRhcms6ICMxMTExMTE7XG4kc2Vjb25kYXJ5LWxpZ2h0OiBsaWdodGVuKCRzZWNvbmRhcnksIDEwJSk7XG4kdGVydGlhcnk6ICMxRTFFMUUgIWRlZmF1bHQ7XG4kdGVydGlhcnktZGFyazogIzE3MTcxNztcbiR0ZXJ0aWFyeS1saWdodDogbGlnaHRlbigkdGVydGlhcnksIDIwJSk7XG5cbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS04NTAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJpbWFyeVwiOiAkcHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluZm9cIjogJGluZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsaWdodFwiOiAkbGlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhcmtcIjogJGRhcmtcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAgICAgICAgICAgICAgIChcIjxcIiwgXCIlM2NcIiksXG4gICAgICAgICAgICAgICAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgICAgICAgICAgICAgICAoXCIjXCIsIFwiJTIzXCIpLFxuICAgICAgICAgICAgICAgIChcIihcIiwgXCIlMjhcIiksXG4gICAgICAgICAgICAgICAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG4iLCIvLyBCT0RZXG4kYm9keS1iZzogJHRlcnRpYXJ5ICFkZWZhdWx0O1xuXG4vLyBCQUNLR1JPVU5EXG4kYmctb25lOiAkdGVydGlhcnktZGFyaztcbiRiZy10d286ICR0ZXJ0aWFyeTtcbiRiZy10aHJlZTogJHRlcnRpYXJ5O1xuJGJnLWdyYXk6ICRncmF5LTEwMDsgLy8gYWN0dSArIGN3LWlib3ggKyAkY3ctY2FyZC1kYXRlLWJnXG4kYmctZGFyazogJGRhcms7XG5cbi8vIEdMT0JBTCBURVhURVNcbiRoMS1jb2xvcjogJHByaW1hcnk7XG4kaDItY29sb3I6ICRoMS1jb2xvcjtcbiRib2R5LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIExJRU5TXG4kbGluay1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gVUwgLSBMSVxuJGxpLXN0eWxlLWNvbG9yOiAkcHJpbWFyeTtcbiRsaS1zdHlsZS1mYS1pY29uOiAnXFxmMTkyJzsgLy8gZjVkMihhdG9tKSBmMTkyKGRvdC1jKSBmMmZlKHBvbykgZjA1NShwbHVzKSBmMDhkKHB1bmFpc2UpIGYwMmIodGFnKSBmNWJjKHNwbG90Y2gpIGYwYTMoY2VydGlmKVxuJGxpLXN0eWxlLWZhLXdlaWdodDogOTAwO1xuJGxpLXN0eWxlLWZhLXNpemU6IDAuOHJlbTtcblxuLy8gTElORVxuJGxpbmUtdGl0bGUtY29sb3I6ICRwcmltYXJ5O1xuJGxpbmUtZm9ybS1jb2xvcjogJHdoaXRlOyAvL0Zvcm11bGFpcmVzXG4kbGluZS1mb3JtLWNvbG9yLW9wYWNpdHk6IDE7XG4kbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3Q6ICRsaW5lLWZvcm0tY29sb3I7XG4kbGluZS1mb3JtLWNvbG9yLWJsb2NrLWZsb2F0OiAkbGluZS1mb3JtLWNvbG9yO1xuXG4vLyBKVU1CT1RST04gPiBwYXJhbcOpdHJhZ2VzIGRhbnMgZmV1aWxsZSBkZSBzdHlsZSBqdW1ib3Ryb24uc2NzcyBldCBkYW5zIGp1bWJvdHJvbiB1dGlsaXPDqSAoZXhlbXBsZToganVtYm90cm9uLWFuZHJvbWVkZS5zY3NzKVxuXG4vLyBDQVJEU1xuJGN3LWNhcmQtYmc6ICRib2R5LWJnOyAvL3V0aWxpc8OpIHBhciBsJ2FjdHVhbGl0w6lcbiRjdy1jYXJkLWRhdGUtY29sb3I6ICR3aGl0ZTtcbiRjdy1jYXJkLWRhdGUtYmc6ICR0ZXJ0aWFyeS1kYXJrO1xuXG4vLyBCbG9jIEFDVFVBTElUw4lTXG4kYmxvYy1hY3R1LXRpdGxlOiAkaDEtY29sb3I7XG4kYmxvYy1hY3R1LWNvbG9yOiAkYm9keS1jb2xvcjtcbiRibG9jLWFjdHUtbGluazogJGxpbmstY29sb3I7XG4kYmxvYy1hY3R1LWJnOiAkdGVydGlhcnktZGFyaztcbiRibG9jLWFjdHUtYmctZW5kOiByZ2JhKGRhcmtlbigkYmxvYy1hY3R1LWJnLCAyJSksIDEpO1xuJGJsb2MtYWN0dS1ncmFkaWVudDogJGVuYWJsZS1ncmFkaWVudHM7XG4kYmxvYy1hY3R1LWdyYWRpZW50LXN0YXJ0OiAxMCU7XG4kYmxvYy1hY3R1LWdyYWRpZW50LWVuZDogODAlO1xuJGJsb2MtYWN0dS1ncmFkaWVudC1kZWc6IDIyZGVnO1xuXG4vLyBEQU1JRVJcbiRkYW1pZXItaDItb25lLWNvbG9yOiAkaDItY29sb3I7XG4kZGFtaWVyLWgyLXVuZGVybGluZS1vbmUtY29sb3I6ICRsaW5lLXRpdGxlLWNvbG9yO1xuJGRhbWllci10eHQtb25lLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRkYW1pZXItbGluay1vbmUtY29sb3I6ICRib2R5LWNvbG9yO1xuJGRhbWllci1saW5rLW9uZS1jb2xvci1ob3ZlcjogJHNlY29uZGFyeS1kYXJrO1xuJGRhbWllci1iZy1vbmU6ICRiZy1vbmU7XG4kZGFtaWVyLWJnLW9uZS1lbmQ6IHJnYmEoZGFya2VuKCRkYW1pZXItYmctb25lLCAyJSksIDEpO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQ6ICRlbmFibGUtZ3JhZGllbnRzO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtc3RhcnQ6IDEwJTtcbiRkYW1pZXItYmctb25lLWdyYWRpZW50LWVuZDogODAlO1xuJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtZGVnOiAyMmRlZztcblxuJGRhbWllci1oMi10d28tY29sb3I6ICR3aGl0ZTtcbiRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcjogJGxpbmUtdGl0bGUtY29sb3I7XG4kZGFtaWVyLXR4dC10d28tY29sb3I6ICRib2R5LWNvbG9yO1xuJGRhbWllci1saW5rLXR3by1jb2xvcjogJGJvZHktY29sb3I7XG4kZGFtaWVyLWxpbmstdHdvLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1kYXJrO1xuJGRhbWllci1iZy10d286ICRiZy10d287XG4kZGFtaWVyLWJnLXR3by1lbmQ6IGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50LXN0YXJ0OiAwJTtcbiRkYW1pZXItYmctdHdvLWdyYWRpZW50LWVuZDogNTAlO1xuJGRhbWllci1iZy10d28tZ3JhZGllbnQtZGVnOiAxMjZkZWc7XG5cbi8vIEJPVVRPTlMgPiBwYXJhbcOpdHJhZ2UgZGFucyBidXR0b25zLnNjc3NcblxuLy8gUsOpZ2lvbiBDQUxMIFRPIEFDVElPTlxuJHJlZ2lvbi1mZWF0dXJlZC1maXJzdC1iZzogdHJhbnNwYXJlbnQ7XG4vLyBCbG9jIENBTEwgVE8gQUNUSU9OXG4kY2FsbC1hY3Rpb25zLXRpdGxlOiAkaDEtY29sb3I7XG4kY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I6ICR3aGl0ZTtcbiRjYWxsLWFjdGlvbnMtYmc6ICR3aGl0ZTsvL2ZvbmN0aW9uIHBhcyDDoCBnw6lyZXJcbi8vIEJsb2MgQUREVE9BTllcbiRhZGR0b2FueS10aXRsZTogJHdoaXRlO1xuJGFkZHRvYW55LWNvbG9yOiAkd2hpdGU7XG4kYWRkdG9hbnktYm9yZGVyOiAkZ3JheS02MDA7IC8vc2kgJGFkZHRvYW55LWJhY2tncm91bmQgPSBjaXJjbGUtdGhpbjtcbiRhZGR0b2FueS1iZzogJHByaW1hcnk7XG5cbi8vIEJsb2MgRk9SQ0VTXG4kZm9yY2VzLXRpdGxlOiAkaDEtY29sb3I7XG4kZm9yY2VzLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRmb3JjZXMtYmc6ICR0ZXJ0aWFyeS1kYXJrO1xuJGZvcmNlcy1iZy1lbmQ6IHJnYmEoZGFya2VuKCRmb3JjZXMtYmcsIDIlKSwgMSk7XG4kZm9yY2VzLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRmb3JjZXMtZ3JhZGllbnQtc3RhcnQ6IDAlO1xuJGZvcmNlcy1ncmFkaWVudC1lbmQ6IDcwJTtcbiRmb3JjZXMtZ3JhZGllbnQtZGVnOiAyMDBkZWc7XG5cbi8vIEJsb2MgUEFSQUxMQVhcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWNvbG9yOiAkaDItY29sb3I7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWNvbG9yOiAkd2hpdGU7XG5cbi8vIEJsb2MgUsOJRsOJUkVOQ0VTXG4kcmVmZXJlbmNlcy10aXRsZTogJGgxLWNvbG9yO1xuJHJlZmVyZW5jZXMtY29sb3I6ICRib2R5LWNvbG9yO1xuJHJlZmVyZW5jZXMtYmc6ICR0ZXJ0aWFyeS1kYXJrO1xuJHJlZmVyZW5jZXMtYmctZW5kOiByZ2JhKGRhcmtlbigkcmVmZXJlbmNlcy1iZywgMiUpLCAxKTtcbiRyZWZlcmVuY2VzLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50cztcbiRyZWZlcmVuY2VzLWdyYWRpZW50LXN0YXJ0OiAxMCU7XG4kcmVmZXJlbmNlcy1ncmFkaWVudC1lbmQ6IDgwJTtcbiRyZWZlcmVuY2VzLWdyYWRpZW50LWRlZzogMjJkZWc7XG5cbi8vIEJsb2MgQVZJUyBHT1xuJGF2aXNnby1iZzogJHdoaXRlO1xuJGF2aXNnby1jb2xvcjogJGJvZHktY29sb3I7XG5cbi8vIEZPT1RFUlxuJHJlZ2lvbi1mb290ZXItc2Vjb25kLWJnOiAkdGVydGlhcnktZGFyaztcbiRibG9jLWZ0LWNvb3Jkb25uZWVzLWJnOiB0cmFuc3BhcmVudDtcbiRibG9jLXdmLWNvbnRhY3QtYmc6IHRyYW5zcGFyZW50O1xuJGZvb3Rlci1jb2xvcjogJGJvZHktY29sb3I7XG4kZm9vdGVyLWRlbm9taW5hdGlvbi1jb2xvcjogJGZvb3Rlci1jb2xvcjtcbiRmb290ZXItc2xvZ2FuLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci1hZHJlc3NlLWNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuJGZvb3Rlci10ZWwtY29sb3I6ICRmb290ZXItY29sb3I7XG4kZm9vdGVyLXRlbC1jb2xvci1ob3ZlcjogJGxpbmstY29sb3I7XG4kZm9vdGVyLWhvcmFpcmUtY29sb3I6ICRmb290ZXItY29sb3I7XG4vLyBTb2NpYWwgbmV0d29ya1xuJGJsb2MtcmVzZWF1eC1iZzogJHByaW1hcnk7XG4kYmxvYy1yZXNlYXV4LWNvbG9yOiAkd2hpdGU7XG4kYmxvYy1yZXNlYXV4LWJnLWhvdmVyOiAkd2hpdGU7XG4kYmxvYy1yZXNlYXV4LWNvbG9yLWhvdmVyOiAkcHJpbWFyeTtcbi8vIEZvcm1cbiRmb3JtLWJsb2MtaDItY29sb3I6ICRoMi1jb2xvcjtcbiRmb3JtLWJsb2MtaDItdW5kZXJsaW5lLWNvbG9yOiAkbGluZS10aXRsZS1jb2xvcjtcbi8vJGZvcm0tdGV4dC1jb2xvcjogJGJvZHktY29sb3I7XG4vLyRmb3JtLWxhYmVsLWNvbG9yOiAkZ3JheS04MDA7XG4kZm9ybS1ibG9jLXJncGQ6IGRhcmtlbigkZm9ybS1ibG9jLWgyLWNvbG9yLCAzNSUpO1xuJGZvcm0tYmxvYy1yZ3BkLWxpbms6IGRhcmtlbigkZm9ybS1ibG9jLWgyLWNvbG9yLCAxMCUpO1xuJGZvcm0tYmxvYy1yZ3BkLWxpbmstaG92ZXI6ICRmb3JtLWJsb2MtaDItY29sb3I7XG5cbi8vIE1BUFxuJHJlZ2lvbi1mb290ZXItdGhpcmQtYmc6ICRib2R5LWJnO1xuJG1hcC1pbnRlcnZlbnRpb24tZmE6ICRwcmltYXJ5O1xuJG1hcC1pbnRlcnZlbnRpb24tdGl0bGU6ICRoMS1jb2xvcjtcbiRtYXAtaW50ZXJ2ZW50aW9uLWNvbnRlbnQ6ICRib2R5LWNvbG9yO1xuXG4vLyBCT1RUT01cbiRib3R0b20tY29sb3I6ICR3aGl0ZTtcbiRib3R0b20tYmc6ICRzZWNvbmRhcnktZGFyaztcbiRib3R0b20tYmctZW5kOiByZ2JhKGRhcmtlbigkYm90dG9tLWJnLCA3JSksIDEpO1xuJGJvdHRvbS1ncmFkaWVudDogJGVuYWJsZS1ncmFkaWVudHM7XG4kYm90dG9tLWdyYWRpZW50LXN0YXJ0OiAwJTtcbiRib3R0b20tZ3JhZGllbnQtZW5kOiA2NSU7XG4kYm90dG9tLWdyYWRpZW50LWRlZzogMTU1ZGVnO1xuIiwiLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDAuNnJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMzogJHNwYWNlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIDQ6IDFyZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICA1OiAoJHNwYWNlciAqIDQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgNjogKCRzcGFjZXIgKiA2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDc6ICgkc3BhY2VyICogMTIpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHNwYWNlcnNcbik7XG5cbiRzcGFjZXJzLTI6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnMtMjogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IDBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwOiAxMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgMTU6IDE1cHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAyMDogMjBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDMwOiAzMHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgNDA6IDQwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA1MDogNTBweCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDYwOiA2MHB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgNzA6IDcwcHgsXG4gICAgICAgICAgICAgICAgICAgICAgICA4MDogODBweCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzcGFjZXJzLTJcbik7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0OyIsIi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAgICAgeHM6IDAsXG4gICAgICAgIHNtOiA1NzZweCxcbiAgICAgICAgbWQ6IDc2OHB4LFxuICAgICAgICBsZzogOTkycHgsXG4gICAgICAgIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICAgICAgc206IDU0MHB4LFxuICAgICAgICBtZDogNzIwcHgsXG4gICAgICAgIGxnOiA5NjBweCxcbiAgICAgICAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcbiIsIi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYShkYXJrZW4oJGJvZHktYmcsIDUlKSwgMSkgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIDAuMjVyZW0gIWRlZmF1bHQ7IC8vIDByZW0gLSAwLjI1cmVtIC0gMXJlbSAtIDJyZW1cbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICogLjMgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAqIC41ICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMDgpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAwLjhyZW0gMS40cmVtIHJnYmEoJGJsYWNrLCAuMDgpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbi8vIGZsw6hjaGUgZGVzIGRyb3Bkb3duc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIFZhcmlhYmxlcyBDVyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vLyBSYWRpdXNcbiRyYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuJHJhZGl1cy1idG46IDA7XG4vLyRyYWRpdXMtbmF2YmFyOiAwcHg7XG4kbmF2YmFyLWRyb3BtZW51LXJhZGl1czogMCAwICRyYWRpdXMgJHJhZGl1cztcbiRyYWRpdXMtZmxvdHRhbnQ6ICRyYWRpdXM7XG4kcmFkaXVzLWRhbWllci1jYXJkczogJHJhZGl1cztcbiRjdy1jYXJkLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuJGJsb2MtcmVzZWF1eC1yYWRpdXM6ICRyYWRpdXM7XG4vLyRyYWRpdXMtZm9ybTogJHJhZGl1czsiLCIvLyBQYWRkaW5nIC0gTWFyZ2luIChlc3BhY2UgZW50cmUgbGVzIFwiYmxvY3NcIiBldCBlbnRyZSBsZXMgXCJibG9jcyBkZSB0ZXh0ZXNcIiBzdXIgdG91dCBsZSBwcm9qZXQpXG4kYmV0d2Vlbi16b25lczogM3JlbTtcbiRiZXR3ZWVuLXpvbmVzLWxnOiA0cmVtO1xuXG4vLyBIYXV0ZXVycyBibG9ja1xuJGRhbWllci1taW4taGVpZ2h0OiA1MDBweDtcbiRwYXJhbGxheC1taW4taGVpZ2h0OiA4NXZoO1xuXG4vLyBSw6lzZWF1eFxuJGJsb2MtcmVzZWF1eC13aWR0aC1oZWlnaHQ6IDUwcHg7XG4vLyRmb3JtLWlucHV0LWhlaWdodDogNDdweDtcblxuLy8gQ29udGFpbmVyXG4kY3ctY29udGFpbmVyIDogMTE0MHB4O1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuOCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgMXJlbTtcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDIuMiAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDEuNyAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRoLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkaC1mb250LXNpemUgKiAxLjE1ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICogMS4xICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGgtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICFkZWZhdWx0OyAvLyAkc3BhY2VyIC8gMlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMyAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIDMhZGVmYXVsdDtcbiIsIi8vIEZvbnQgUEFTIFBMVVMgREUgREVVWCBQT0xJQ0VTIEdPT0dMRSAhIVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDMwMDs1MDA7NjAwJmRpc3BsYXk9c3dhcCcpO1xuXG4vLyBHTE9CQUwgVFlQT0dSQVBISUVTXG4kdGl0bGUtZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiR0aXRsZS1ub3JtYWwtd2VpZ2h0OiAzMDA7XG4kdGl0bGUtYm9sZC13ZWlnaHQ6IDYwMDtcblxuJHByaW1hcnktZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ6IDMwMDtcbiRwcmltYXJ5LWJvbGQtd2VpZ2h0OiA1MDA7XG5cbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJHNlY29uZGFyeS1mb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG5cbiRmb250LWZhbWlseS1iYXNlOiAkcHJpbWFyeS1mb250LWZhbWlseTsgLy9Gb250IHN1ciBib2R5XG4kZm9udC13ZWlnaHQtYmFzZTogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjQ7XG4kbGV0dGVyLXNwYWNpbmctYmFzZTogMGVtO1xuXG4kY3ctZm9udC1zaXplLXhzOiAxNHB4O1xuJGN3LWZvbnQtc2l6ZS1tZDogMTVweDtcbiRjdy1mb250LXNpemUtbGc6IDE2cHg7XG5cbi8vIEgxXG4kaDEtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRoMS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGgxLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGgxLWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4kaDEtbGV0dGVyLXNwYWNpbmc6IDBlbTtcblxuLy8gSDJcbiRoMi1mb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuJGgyLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kaDItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kaDItbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiRoMi1sZXR0ZXItc3BhY2luZzogMGVtO1xuXG4vLyBOQVZCQVJcbiRuYXZiYXItbmFtZS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLW5hbWUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG5hdmJhci1uYW1lLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiRuYXZiYXItbmFtZS1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItbmFtZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbiRuYXZiYXItc2xvZ2FuLWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRuYXZiYXItc2xvZ2FuLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJG5hdmJhci1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kbmF2YmFyLXNsb2dhbi1mb250LXNpemU6ICRmb250LXNpemUteHM7XG4kbmF2YmFyLXNsb2dhbi1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItc2xvZ2FuLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJG5hdmJhci1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kbmF2YmFyLWZvbnQtd2VpZ2h0OiA2MDA7XG4kbmF2YmFyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4kbmF2YmFyLWZvbnQtc2l6ZTogMXJlbTtcbiRuYXZiYXItbGluZS1oZWlnaHQ6IDEuMjtcbiRuYXZiYXItbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4vLyBOQVZCQVIgRHJvcGRvd24tbWVudVxuJG5hdmJhci1kLW1lbnUtZm9udC1mYW1pbHk6ICRuYXZiYXItZm9udC1mYW1pbHk7XG4kbmF2YmFyLWQtbWVudS1mb250LXdlaWdodDogNDAwO1xuJG5hdmJhci1kLW1lbnUtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kbmF2YmFyLWQtbWVudS1mb250LXNpemU6IDAuOTVyZW07XG4kbmF2YmFyLWQtbWVudS1saW5lLWhlaWdodDogMTtcbiRuYXZiYXItZC1tZW51LWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gSlVNQk9UUk9OIC0gRMOpbm9taW5hdGlvblxuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodC1zdHJvbmc6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLXhzOiAycmVtO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1zaXplLWxnOiAyLjhyZW07XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUtbGctbmY6IGNhbGMoI3skanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUtbGd9IC0gMnJlbSk7XG4kanVtYm90cm9uLWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDogMS4yO1xuJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiRqdW1ib3Ryb24tZGVub21pbmF0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBKVU1CT1RST04gLSBTbG9nYW5cbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC13ZWlnaHQtc3Ryb25nOiA1MDA7XG4kanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUteHM6IDEuNHJlbTtcbiRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtc2l6ZS1sZzogMS45cmVtO1xuJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnLW5mOiBjYWxjKCN7JGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnfSAtIDAuNXJlbSk7XG4kanVtYm90cm9uLXNsb2dhbi1saW5lLWhlaWdodDogMS4yO1xuJGp1bWJvdHJvbi1zbG9nYW4tbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1zbG9nYW4tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIEpVTUJPVFJPTiAtIFTDqWzDqXBob25lXG4kanVtYm90cm9uLXRlbC1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLXRlbC1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRqdW1ib3Ryb24tdGVsLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi10ZWwtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tdGVsLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRqdW1ib3Ryb24tdGVsLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBKVU1CT1RST04gLSBBZHJlc3NlXG4kanVtYm90cm9uLWFkcmVzc2UtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGp1bWJvdHJvbi1hZHJlc3NlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGp1bWJvdHJvbi1hZHJlc3NlLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kanVtYm90cm9uLWFkcmVzc2UtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1hZHJlc3NlLXRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4vLyBKVU1CT1RST04gLSBCb3V0b24gMVxuJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiRqdW1ib3Ryb24tYm91dG9uLTEtbGluZS1oZWlnaHQ6IDEuNDtcbiRqdW1ib3Ryb24tYm91dG9uLTEtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGp1bWJvdHJvbi1ib3V0b24tMS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuLy8gSlVNQk9UUk9OIC0gQm91dG9uIDJcbiRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGp1bWJvdHJvbi1ib3V0b24tMi1mb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kanVtYm90cm9uLWJvdXRvbi0yLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kanVtYm90cm9uLWJvdXRvbi0yLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRqdW1ib3Ryb24tYm91dG9uLTItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIEJUTlxuJGJ0bi1mb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiRidG4tZm9udC13ZWlnaHQ6IDUwMDtcbiRidG4tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiRidG4tZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4kYnRuLWxpbmUtaGVpZ2h0OiAxO1xuJGJ0bi1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbi8vIENBUkRTXG4kY3ctY2FyZHMtdGl0bGUtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGN3LWNhcmRzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGN3LWNhcmRzLXRpdGxlLWZvbnQtc2l6ZTogMS4zcmVtO1xuJGN3LWNhcmRzLXRpdGxlLWxpbmUtaGVpZ2h0OiAxZW07XG4kY3ctY2FyZHMtdGl0bGUtbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcblxuJGN3LWNhcmRzLWRhdGUtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGN3LWNhcmRzLWRhdGUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuJGN3LWNhcmRzLWRhdGUtZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xuJGN3LWNhcmRzLWRhdGUtbGluZS1oZWlnaHQ6IDFlbTtcbiRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cbiRjdy1jYXJkcy10ZXh0LWZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiRjdy1jYXJkcy10ZXh0LWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGN3LWNhcmRzLXRleHQtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kY3ctY2FyZHMtdGV4dC1mb250LXNpemU6IDFyZW07XG4kY3ctY2FyZHMtdGV4dC1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4kY3ctY2FyZHMtdGV4dC1sZXR0ZXItc3BhY2luZzogMDtcblxuJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGh1bWI6IDByZW07XG4kY3ctY2FyZHMtbWFyZ2luLXRvcC1zdW1tYXJ5OiAwLjVyZW07XG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS1kYXRlOiAxcmVtO1xuJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGl0bGU6IDFyZW07XG4kY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS10ZXh0OiAxcmVtO1xuXG4vLyBBQ1RVXG4vLyBWT0lSIGN3LWNhcmRzLnNjc3MgcG91ciBsZSBtb21lbnRcbiRibG9jLWFjdHUtdGl0bGUtZm9udC1mYW1pbHk6ICRjdy1jYXJkcy10aXRsZS1mb250LWZhbWlseTtcbiRibG9jLWFjdHUtdGl0bGUtZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDtcbiRibG9jLWFjdHUtdGl0bGUtdGV4dC10cmFuc2Zvcm06ICRjdy1jYXJkcy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiRibG9jLWFjdHUtdGl0bGUtZm9udC1zaXplOiAkY3ctY2FyZHMtdGl0bGUtZm9udC1zaXplO1xuJGJsb2MtYWN0dS10aXRsZS1saW5lLWhlaWdodDogJGN3LWNhcmRzLXRpdGxlLWxpbmUtaGVpZ2h0O1xuJGJsb2MtYWN0dS10aXRsZS1sZXR0ZXItc3BhY2luZzogJGN3LWNhcmRzLXRpdGxlLWxldHRlci1zcGFjaW5nO1xuJGJsb2MtYWN0dS1ib2R5LWZvbnQtc2l6ZTogJGN3LWNhcmRzLXRleHQtZm9udC1zaXplO1xuJGJsb2MtYWN0dS1ib2R5LWxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtdGV4dC1saW5lLWhlaWdodDtcblxuLy8gREFNSUVSXG4kZGFtaWVyLWgyLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kZGFtaWVyLWgyLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kZGFtaWVyLWgyLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGRhbWllci1oMi1mb250LXNpemU6ICRoMi1mb250LXNpemU7XG4kZGFtaWVyLWgyLWxpbmUtaGVpZ2h0OiAkaDItbGluZS1oZWlnaHQ7XG4kZGFtaWVyLWgyLWxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG5cbi8vIENBTEwgVE8gQUNUSU9OXG4vLyBEb2l0IGV0cmUgcGFyZWlsIHF1ZSBsZXMgaDIgZGFtaWVyIDopXG4kY2FsbC1hY3Rpb24taDItZm9udC1mYW1pbHk6ICRkYW1pZXItaDItZm9udC1mYW1pbHk7XG4kY2FsbC1hY3Rpb24taDItZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XG4kY2FsbC1hY3Rpb24taDItdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XG4kY2FsbC1hY3Rpb24taDItZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZSAqIDEuMjtcbiRjYWxsLWFjdGlvbi1oMi1saW5lLWhlaWdodDogJGRhbWllci1oMi1saW5lLWhlaWdodDtcbiRjYWxsLWFjdGlvbi1oMi1sZXR0ZXItc3BhY2luZzogJGRhbWllci1oMi1sZXR0ZXItc3BhY2luZztcbiRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC13ZWlnaHQ6IDYwMDtcbiRjYWxsLWFjdGlvbi1udW1iZXJzLXRleHQtdHJhbnNmb3JtOiAkZGFtaWVyLWgyLXRleHQtdHJhbnNmb3JtO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC1zaXplOiAxLjM1cmVtO1xuJGNhbGwtYWN0aW9uLW51bWJlcnMtbGluZS1oZWlnaHQ6IDE7XG4kY2FsbC1hY3Rpb24tbnVtYmVycy1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG5cbi8vIEFERFRPQU5ZXG4kYWRkdG9hbnktdGl0bGUtZm9udC1mYW1pbHk6ICRjYWxsLWFjdGlvbi1oMi1mb250LWZhbWlseTtcbiRhZGR0b2FueS10aXRsZS1mb250LXdlaWdodDogNTAwO1xuJGFkZHRvYW55LXRpdGxlLXRleHQtdHJhbnNmb3JtOiAkY2FsbC1hY3Rpb24taDItdGV4dC10cmFuc2Zvcm07XG4kYWRkdG9hbnktdGl0bGUtZm9udC1zaXplOiAxLjFyZW07XG4kYWRkdG9hbnktdGl0bGUtbGluZS1oZWlnaHQ6ICRjYWxsLWFjdGlvbi1oMi1saW5lLWhlaWdodDtcbiRhZGR0b2FueS10aXRsZS1sZXR0ZXItc3BhY2luZzogJGNhbGwtYWN0aW9uLWgyLWxldHRlci1zcGFjaW5nO1xuXG4vLyBQQVJBTExBWFxuJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kYmxvYy1wYXJhbGxheC10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcbiRibG9jLXBhcmFsbGF4LXRpdGxlLWxpbmUtaGVpZ2h0OiAkaDItbGluZS1oZWlnaHQ7XG4kYmxvYy1wYXJhbGxheC10aXRsZS1sZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1mb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC1zaXplOiAxcmVtO1xuJGJsb2MtcGFyYWxsYXgtY29udGVudC1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4kYmxvYy1wYXJhbGxheC1jb250ZW50LWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLy8gRk9STVVMQUlSRVxuJGZvcm0tdGl0bGUtZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRmb3JtLXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4kZm9ybS10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmb3JtLXRpdGxlLWZvbnQtc2l6ZTogMS40cmVtO1xuJGZvcm0tdGl0bGUtbGluZS1oZWlnaHQ6IDEuMztcbiRmb3JtLXRpdGxlLWxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG5cbi8vIEZPT1RFUlxuJGNvbnRhY3QtZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuJGNvbnRhY3QtZm9udC1zaXplOiAxcmVtO1xuJGNvbnRhY3QtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXG4vLyBCT1RUT01cbiRib3R0b20tZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4kYm90dG9tLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cztcblxuLy8gQ09MT1JCT1hcbiRjb2xvcmJveC1mb250OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuJGNvbG9yYm94LWZvbnQtc2l6ZTogMC43NXJlbTtcbiIsIi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSkgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gVGFibGVhdVxuJHRyLWV2ZW4tYmc6ICRncmF5LTMwMDtcbiR0ci1ldmVuLWRhc2g6ICRncmF5LTIwMDtcblxuLy8gdGFibGVhdSByZXNwb25zaXZlXG4kY3ctdGFibGUtY29udGFpbmVyLWJnIDogcmdiYSgkcHJpbWFyeSwgMC4zNSk7XG4kY3ctdGFibGUtY29udGFpbmVyLWNvbG9yOiAkcHJpbWFyeTtcbiRjdy10YWJsZS1tb2ItYmcgOiByZ2JhKCR3aGl0ZSwgMC43KTtcbiRjdy10YWJsZS1tb2ItYmctdHItY2hpbGRfb2RkIDogcmdiYSgkd2hpdGUsIDAuNCk7XG4kY3ctdGFibGUtbW9iLWNvbG9yOiRwcmltYXJ5O1xuIiwiLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIDEuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgICRwcmltYXJ5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgIDEgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIDByZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIDAgIWRlZmF1bHQ7XG4iLCIvLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuIiwiJGJ0bi1ib3JkZXItaGVpZ2h0OiAwcHg7IC8vVXRpbGlzZXIgZGVzIGJvcmR1cmVzIHVuaXF1ZW1lbnQgc3VyICRidG4tYmctdHJhbnNpdGlvbjogMCBvdSB1dGlsaXNlciA3IG91IDggZXQgbGFpc3NlciBsYSB2YXJpYWJsZSDDoCAwcHguXG5cbi8vIEJUTiBQUklNQVJZXG4kYnRuLW9uZS1iZzogJHByaW1hcnk7XG4kYnRuLW9uZS1iZy1vcGFjaXR5OiAxO1xuJGJ0bi1vbmUtYmctaG92ZXI6ICR3aGl0ZTtcbiRidG4tb25lLWJnLW9wYWNpdHktaG92ZXI6IDE7XG4kYnRuLW9uZS1mb250LWNvbG9yOiAkc2Vjb25kYXJ5LWRhcms7XG4kYnRuLW9uZS1mb250LWNvbG9yLWhvdmVyOiAkc2Vjb25kYXJ5LWRhcms7XG4kYnRuLW9uZS1ib3JkZXItY29sb3I6ICRidG4tb25lLWJnO1xuJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLW9wYWNpdHk6IDE7XG4kYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXI6ICRidG4tb25lLWJnLWhvdmVyO1xuJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyLW9wYWNpdHk6IDE7XG5cbi8vIEJUTiBTRUNPTkRBUllcbiRidG4tdHdvLWJnOiAkc2Vjb25kYXJ5O1xuJGJ0bi10d28tYmctb3BhY2l0eTogMTtcbiRidG4tdHdvLWJnLWhvdmVyOiAkc2Vjb25kYXJ5LWRhcms7XG4kYnRuLXR3by1iZy1vcGFjaXR5LWhvdmVyOiAxO1xuJGJ0bi10d28tZm9udC1jb2xvcjogJHdoaXRlO1xuJGJ0bi10d28tZm9udC1jb2xvci1ob3ZlcjogJHdoaXRlO1xuJGJ0bi10d28tYm9yZGVyLWNvbG9yOiAkYnRuLXR3by1iZztcbiRidG4tdHdvLWJvcmRlci1jb2xvci1vcGFjaXR5OiAxO1xuJGJ0bi10d28tYm9yZGVyLWNvbG9yLWhvdmVyOiAkYnRuLXR3by1iZy1ob3ZlcjtcbiRidG4tdHdvLWJvcmRlci1jb2xvci1ob3Zlci1vcGFjaXR5OiAxO1xuXG4vL0JUTiBTTElERSBQUklNQVJZXG4kYnRuLXNsaWRlLW9uZS1jb2xvcjogJHByaW1hcnk7XG4kYnRuLXNsaWRlLW9uZS1jb2xvci1ob3ZlcjogJHdoaXRlO1xuJGJ0bi1zbGlkZS1vbmUtYmc6ICRwcmltYXJ5O1xuJGJ0bi1zbGlkZS1vbmUtY29sb3ItYXJyb3c6ICR3aGl0ZTtcblxuLy9CVE4gU0xJREUgU0VDT05EQVJZXG4kYnRuLXNsaWRlLXR3by1jb2xvcjogJHNlY29uZGFyeTtcbiRidG4tc2xpZGUtdHdvLWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4kYnRuLXNsaWRlLXR3by1iZzogJHNlY29uZGFyeTtcbiRidG4tc2xpZGUtdHdvLWNvbG9yLWFycm93OiAkd2hpdGU7XG5cblxuJGJ0bi1pbWc6IFwiLi4vaW1hZ2VzL2JnLWJvdXRvbi0yLmpwZ1wiO1xuJGJ0bi1pbWctaG92ZXI6IFwiLi4vaW1hZ2VzL2JnLWJvdXRvbi5qcGdcIjtcbiIsIi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgIDAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWxpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDsgLy8gaW5wdXRzIChzYXVmIGJsb2NrIGNvbnRhY3QgZXQgZmxvYXQtYmxvY2ssIHZvaXIgdmFyaWFibGVzIGwyNSBldCAyNilcbiRpbnB1dC1iZy1kYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlOyAvLyBtb2RpZmllIGxhIGNvdWxldXIgZHUgdGV4dGUgZGVzIGlucHV0cyBwb3VyIHF1J2VsbGUgc29pdCB2aXNpYmxlIHN1ciBmb25kIHNvbWJyZS5cbiRpbnB1dC1iZy1mbG9hdC1ibG9jazogICAgICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7IC8vIGlucHV0cyBibG9jayBmbG9hdC1ibG9ja1xuJGlucHV0LWJnLWZsb2F0LWJsb2NrLWRhcms6ICAgICAgICAgICAgIGZhbHNlOyAvLyBzZW1ibGFibGUgw6AgbGEgbGlnbmUgMjMuXG4kaW5wdXQtYmctYmxvY2stY29udGFjdDogICAgICAgICAgICAgICAgJGdyYXktMTAwOyAvLyBpbnB1dHMgYmxvY2sgY29udGFjdFxuJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QtZGFyazogICAgICAgICAgIHRydWU7Ly8gc2VtYmxhYmxlIMOgIGxhIGxpZ25lIDIzLlxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaW5wdXQtYmcsIDgwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s6ICAgICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1iZy1mbG9hdC1ibG9jaywgODAlKTsvL2N3XG4kaW5wdXQtY29sb3ItYmxvY2stY29udGFjdDogICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCA4MCUpOy8vY3dcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgZGFya2VuKCRpbnB1dC1iZywgMzAlKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1mbG9hdC1ibG9jazogICBkYXJrZW4oJGlucHV0LWJnLWZsb2F0LWJsb2NrLCAzMCUpOy8vY3dcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1ibG9jay1jb250YWN0OiBkYXJrZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDMwJSk7Ly9jd1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogNCkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDQpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiA0LCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDQsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogNCwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4wNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICAgICAgICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBcImludmFsaWRcIjogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTsiLCIvLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsvL1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsvL1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAxMHB4ICFkZWZhdWx0Oy8vXG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7IiwiLyoqKioqKioqKioqKioqIEdMT0JBTEUgKioqKioqKioqKioqKiovXG4vLyBIYXV0ZXVyXG4kbmF2YmFyLWhlaWdodC14czogNjBweDtcbiRuYXZiYXItaGVpZ2h0LW1kOiAxMDBweDsgLy8gU2kgYnVnIHN1ciBuYXZiYXIgaWwgZmF1dCBhdWdtZW50ZXIgbCdhY3RpdmF0aW9uIGRlIHNjcm9sbFRvcCBkYW5zIGxlIGN1c3RvbS5qcyAocHJvYmzDqG1lIHBvc2l0aW9uOnN0aWNreSlcbiRuYXZiYXItaGVpZ2h0LW1kLWFmZml4LXNjcm9sbDogODBweDtcbiRuYXZiYXItaGVpZ2h0LW5hdmJhci1uYXY6IDBweDsgLy8gUGVybWV0IGRlIGTDqWNvbGxlciBsZXMgb25nbGV0cyBkdSBiYXMgZGUgbGEgbmF2YmFyICh0YWlsbGUgZGUgbGEgXCJtYXJnZVwiIGR1IGRlc3N1cyBldCBkZXNzb3VzKVxuXG4vLyBDb3VsZXVyXG4kbmF2YmFyLWJnOiAkc2Vjb25kYXJ5LWRhcms7XG4kbmF2YmFyLW9wYWNpdHk6IDE7IC8vIHNpIHRyYW5zcGFyZW5jZSBtZXR0cmUgJG5hdmJhci1vcGFjaXR5LWFmZml4LXNjcm9sbCDDoCAwLjk2XG4kbmF2YmFyLW9wYWNpdHktYWZmaXgtc2Nyb2xsOiAkbmF2YmFyLW9wYWNpdHk7XG4kbmF2YmFyLWNvbG9yOiAkd2hpdGU7XG5cbi8qKioqKioqKioqKioqKiBMT0dPIC8gQlJBTkQgKioqKioqKioqKioqKiovXG4vLyBBZmZpY2hhZ2VcbiR4cy1zaG93LWxvZ286IHRydWU7IC8vIFhTID4gbG9nb1xuJHhzLXNob3ctbmFtZTogZmFsc2U7IC8vIFhTID4gbmFtZVxuJHhzLXNob3ctc2xvZ2FuOiBmYWxzZTsgLy8gWFMgPiBzbG9nYW5cbiRsZy1zaG93LWxvZ286IHRydWU7IC8vIExHID4gbG9nb1xuJGxnLXNob3ctbmFtZTogZmFsc2U7IC8vIExHID4gbmFtZVxuJGxnLXNob3ctc2xvZ2FuOiBmYWxzZTsgLy8gTEcgPiBzbG9nYW5cbiRsb2dvLW91dC1uYXZiYXI6IGZhbHNlOyAvLyBMb2dvIGTDqXBhc3NhbnQgZGUgbGEgbmF2YmFyXG4kbG9nby1vdXQtbmF2YmFyLWJyYW5kLWxlZnQ6IDEyMHB4OyAvLyDDoCByw6lnbGVyIHNpIETDqW5vbWluYXRpb24gb3Ugc2xvZ2FuIGFmZmljaMOpIChhdHRlbnRpb24gYXV4IG9uZ2xldHMgZW4gbGcpXG4kbG9nby1iZzogZmFsc2U7IC8vIExvZ28gYXZlYyBmb25kIChjb3VsZXVyIGRlIGxhIG5hdmJhciBkZSBiYXNlKVxuJGxvZ28tY2VudGVyLW5hdmJhcjogZmFsc2U7XG4kbG9nby1jZW50ZXItbmF2YmFyLXBvc2l0aW9uOiAzO1xuJHNob3ctbWluaS1sb2dvLWFmZml4LXNjcm9sbDogZmFsc2U7IC8vIEFmZmljaGUgbWluaS1sb2dvLWFmZml4LXNjcm9sbC5wbmcgbG9ycyBkdSBzY3JvbGxcblxuLy8gVGFpbGxlIC0gQ291bGV1clxuJG5hdmJhci1taW5pLWxvZ28td2lkdGg6IDE1MHB4O1xuJG5hdmJhci1taW5pLWxvZ28td2lkdGgtbGc6IDMwMHB4O1xuJG5hdmJhci1icmFuZC13aWR0aDogMjcwcHg7XG4kbmF2YmFyLWJyYW5kLWNvbG9yOiAkbmF2YmFyLWNvbG9yO1xuJG5hdmJhci1zbG9nYW4tb3BhY2l0eTogMC44O1xuXG4vKioqKioqKioqKioqKiogT05MR0VUICoqKioqKioqKioqKioqL1xuLy8gTm9uIGFjdGlmXG4kaXRlbS1hLWNvbG9yOiAkbmF2YmFyLWNvbG9yO1xuJGl0ZW0tYS1jb2xvci1vcGFjaXR5OiAxO1xuXG4vLyBBY3RpZiBldCBob3ZlclxuJGl0ZW0tYS1hY3RpdmUtYm9sZDogZmFsc2U7XG4kaXRlbS1hLWFjdGl2ZS1iZy14czogdHJhbnNwYXJlbnQ7XG4kaXRlbS1hLWFjdGl2ZS1jb2xvci14czogJHByaW1hcnk7XG4kaXRlbS1hLWFjdGl2ZS1iZy1sZzogJGl0ZW0tYS1hY3RpdmUtYmcteHM7XG4kaXRlbS1hLWFjdGl2ZS1jb2xvci1sZzogJGl0ZW0tYS1hY3RpdmUtY29sb3IteHM7XG4kaXRlbS1hLXBhZGRpbmcteDogMTRweDtcblxuLyoqKioqKioqKioqKioqIE1FTlUgREVST1VMQU5UICoqKioqKioqKioqKioqL1xuJGRyb3BtZW51LWJnOiAkdGVydGlhcnktZGFyaztcbiRkcm9wbWVudS1iZy1vcGFjaXR5OiAxO1xuJGRyb3BtZW51LWl0ZW0tYS1jb2xvcjogJG5hdmJhci1jb2xvcjtcbiRkcm9wbWVudS1pdGVtLWEtY29sb3Itb3BhY2l0eTogMTtcbiRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcbiRkcm9wbWVudS1pdGVtLWEtYWN0aXZlLWNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiRkcm9wbWVudS1ib3JkZXI6IGZhbHNlO1xuJGRyb3BtZW51LWJvcmRlci1jb2xvcjogbGlnaHRlbigkZHJvcG1lbnUtYmcsIDE1JSk7XG5cblxuLyoqKioqKioqKioqKioqIFRPR0dMRVIgKioqKioqKioqKioqKiovXG4kbmF2YmFyLXRvZ2dsZXItbGluZS1jb2xvci1leHBhbmRlZC1mYWxzZTogJG5hdmJhci1icmFuZC1jb2xvcjsgLy8gTWVudSBmZXJtw6lcbiRuYXZiYXItdG9nZ2xlci1saW5lLWNvbG9yLWV4cGFuZGVkLXRydWU6ICRuYXZiYXItdG9nZ2xlci1saW5lLWNvbG9yLWV4cGFuZGVkLWZhbHNlOyAvLyBNZW51IG91dmVydFxuJG5hdmJhci10b2dnbGVyLWdyYWRpZW50OiAkZW5hYmxlLWdyYWRpZW50czsgLy8gQWZmaWNoZSB1biBkw6lncmFkw6kgc3VyIGxlIGp1bWJvdHJvblxuJG5hdmJhci10b2dnbGVyLWxpbmVhci1ncmFkaWVudC1jb2xvci0xOiAkbmF2YmFyLWJnOyAvLyBjb3VsZXVyIHV0aWxpc8OpIHNpIGTDqWdyYWTDqSBub24gdXRpbGlzw6lcbiRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMjogZGFya2VuKCRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSw1JSk7XG4kbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uOiAyNzBkZWc7XG4kbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkOiA4MCU7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSwgNSUpOyAvLyBsaWdodGVuIC0gZGFya2VuXG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogT1BUSU9OICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8vIEFqb3V0IGQndW5lIHRvcC1iYXJyZVxuJG5hdmJhci10b3A6IHRydWU7XG4kbmF2YmFyLXRvcC1jb2xvcjogJHNlY29uZGFyeS1kYXJrO1xuJG5hdmJhci10b3AtYmc6ICRwcmltYXJ5O1xuJG5hdmJhci10b3Atb3BhY2l0eTogMTtcbiRuYXZiYXItdG9wLWhlaWdodDogMzVweDtcbiRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGc6IDM1cHg7XG5AaWYgJG5hdmJhci10b3AgIT0gdHJ1ZSB7XG4gICRuYXZiYXItdG9wLWhlaWdodDogMHB4O1xufVxuJG5hdmJhci10b3AtbG9nby1vdmVyOiBmYWxzZTtcblxuLy8gTmF2YmFyIC0gRMOpZ3JhZMOpIGVuIGFmZml4LXRvcCwgYW3DqWxpb3JlIGxpc2liaWxpdMOpIGxvcnNxdWUgbGEgbmF2YmFyIGVzdCB0cmFuc3BhcmVudGVcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wOiBmYWxzZTtcbiRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLWNvbG9yLTE6ICRuYXZiYXItYmc7XG4kbmF2YmFyLWdyYWRpZW50LWFmZml4LXRvcC1jb2xvci0yOiAkbmF2YmFyLWJnO1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0xOiAwLjg1O1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0yOiAwO1xuJG5hdmJhci1ncmFkaWVudC1hZmZpeC1zY3JvbGwtb3BhY2l0eTogMC45NTtcbi8vIE5hdmJhciAtIENvdWxldXJzIGRpZmbDqXJlbnRlIGF1IGFmZml4LXNjcm9sbFxuJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbDogZmFsc2U7XG4kbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yOiAkYmxhY2s7XG4kbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWFjdGl2ZS1jb2xvcjogcmVkO1xuXG4vLyBOYXZiYXIvRHJvcG1lbnUgLSBPbWJyZVxuJG5hdmJhci1zaGFkb3c6IHRydWU7XG4kbmF2YmFyLWRyb3Bkb3duLW1lbnUtc2hhZG93OiB0cnVlO1xuJG5hdmJhci1zaGFkb3ctY29sb3I6ICRibGFjaztcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wOiAwLjA1OyAvLyBBdSBhZmZpeC10b3BcbiRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtc2Nyb2xsOiAwLjA1OyAvLyBBdSBhZmZpeC1zY3JvbGxcblxuLy8gQmx1ciAtIGZsb3VcbiRuYXZiYXItYmx1cjogZmFsc2U7XG5cbi8vIE9uZ2xldCAtIENlbnRyYWdlXG4kbmF2YmFyLWhvcml6b250YWwtY2VudGVyaW5nLWxpOiBmbGV4LWVuZDsgLy8gZmxleC1zdGFydCAtIHNwYWNlLWV2ZW5seSAtIGZsZXgtZW5kXG4kbmF2YmFyLXZlcnRpY2FsLWNlbnRlcmluZy1hOiBjZW50ZXI7XG4kbmF2YmFyLWhvcml6b250YWwtY2VudGVyaW5nLWE6IGNlbnRlcjtcbiRuYXZiYXItbGktd2lkdGgtZnVsbDogZmFsc2U7XG5cbi8vIE9uZ2xldCAtIEFmZmljaGUgdW5lIGxpZ25lIHNvdXMgbCdvbmdsZXRcbiRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlOiBmYWxzZTtcbiRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlLXBvc2l0aW9uOiBjZW50ZXI7IC8vIGxlZnQgb3UgY2VudGVyXG4kbmF2YmFyLWEtdW5kZXJsaW5lLWhlaWdodDogMnB4O1xuJG5hdmJhci1hLXVuZGVybGluZS13aWR0aDogNDVweDsvLyAyNXB4IC0gY2FsYygxMDAlIC0gI3skaXRlbS1hLXBhZGRpbmcteH0gKiAyKVxuJG5hdmJhci1hLXVuZGVybGluZS1jb2xvcjogJHNlY29uZGFyeTtcbiRuYXZiYXItdG9wLWEtdW5kZXJsaW5lLWNvbG9yOiAkbmF2YmFyLXRvcC1jb2xvcjtcbkBpZiAkbmF2YmFyLWEtdW5kZXJsaW5lLWFjdGl2ZSB7XG4gICRpdGVtLWEtYWN0aXZlLWJnLWxnOiB0cmFuc3BhcmVudDsgLy8gISEgTkUgUEFTIENIQU5HRVIgQ0VUVEUgVkFMRVVSXG59XG5cbi8vJGRyb3BtZW51LXB1Y2U6IGZhbHNlOyAvLyBBZmZpY2hlIHVuZSBwdWNlIHRyaWFuZ3VsYWlyZSBhdSBkZXNzdXNcbi8vJG5hdmJhci1tZW51LWljb25lczogZmFsc2U7IC8vIEFmZmljaGUgdW4gaWPDtG5lIMOgIGPDtHTDqSBkZSBjaGFxdWUgcnVicmlxdWUgYXlhbnQgdW5lIGNsYXNzIGF0dHJpYnXDqSIsIi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8uM3JlbVxuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkZ3JheS01MDAsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAwICFkZWZhdWx0OyAvLyRuYXYtZGl2aWRlci1tYXJnaW4teVxuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgMC41cmVtICFkZWZhdWx0OyAvLy4yNXJlbVxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDsiLCIvLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRoMS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaDEtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0OyIsIi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiIsIi8vIFRhaWxsZXNcbiRqdW1ib3Ryb24taGVpZ2h0OiAxMDB2aDsvL21ldHRyZSBlbiA1NXZoIHNpIHNsaWRlci1zbGltXG4kanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ6IDI0MHB4O1xuXG4kanVtYm90cm9uLXhzLW1hcmdpbi10b3AtZGVub21pbmF0aW9uOiAwO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLXNsb2dhbjogMS41cmVtO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yOiAwO1xuJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWFkcmVzc2U6IDVweDtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC10ZWxlcGhvbmU6IDA7XG4kanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYm91dG9uLTE6IDEuNXJlbTtcbiRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1ib3V0b24tMjogNXB4O1xuXG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtZGVub21pbmF0aW9uOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLXNsb2dhbjogMS41cmVtO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWFkcmVzc2U6IDA7XG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtdGVsZXBob25lOiAwO1xuJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xOiAxLjVyZW07XG4kanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtYm91dG9uLTI6IDA7XG5cbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtZGVub21pbmF0aW9uOiAwO1xuJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1zbG9nYW46IDFyZW07XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTI6IDA7XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLXRlbGVwaG9uZTogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYWRyZXNzZTogMDtcbiRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYm91dG9uLTE6IDA7XG4kanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0yOiAwO1xuXG4vLyBPbWJyYWdlXG4kanVtYm90cm9uLXNoYWRvdzogdHJ1ZTtcbiRqdW1ib3Ryb24tc2hhZG93LXg6IDBweDtcbiRqdW1ib3Ryb24tc2hhZG93LXk6IDNweDtcbiRqdW1ib3Ryb24tc2hhZG93LWJsdXI6IDRweDtcbiRqdW1ib3Ryb24tc2hhZG93LXNwcmVhZDogMHB4O1xuJGp1bWJvdHJvbi1zaGFkb3ctY29sb3I6ICRibGFjaztcbiRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHk6IDAuMTU7XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIENPVUxFVVIgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbiRqdW1ib3Ryb24tY29sb3I6ICR3aGl0ZTtcblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIFRZUE9HUkFQSElFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gTE9HT1xuJGp1bWJvdHJvbi1sb2dvLXdpZHRoLW1heDogNTMwcHg7IiwiLy8gQmxvYyBwcmluY2lwYWxcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nOiBjZW50ZXI7IC8vIGxlZnQgLSBjZW50ZXIgLSByaWdodCAtIGxlZnRjZW50ZXIgLSByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC13aWR0aDogNTAwcHg7IC8vIHBvdXIgbGVmdGNlbnRlciBldCByaWdodGNlbnRlclxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQ6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1sb2dvLWZvbmQtY29sb3I6ICR3aGl0ZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLW9wYWNpdHk6IDAuNTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLWJsdXI6IGZhbHNlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1jb2xvcjogJHdoaXRlO1xuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kLW9wYWNpdHk6IDAuNTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZC1ibHVyOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtd2lkdGg6IDQ4MHB4OyAvL0xhcmdldXIgc2kgZm9uZCBibGFuYyDDoCB0cnVlXG4kanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWJvdXRvbnMtZW4tbGlnbmU6IGZhbHNlO1xuXG4vLyBCbG9jIGluZm9zXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtcG9zaXRpb246IGJvdHRvbTsgLy8gdG9wIC0gYm90dG9tXG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nOiBjZW50ZXI7IC8vIGNlbnRlciAtIGJldHdlZW5cbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHM6IDExOHB4OyAvLyBNZXR0cmUgw6AgMHB4IHNpIGJsb2MtaW5mb3MgZMOpc2FjdGl2w6lcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGc6IDUycHg7IC8vIE1ldHRyZSDDoCAwcHggc2kgYmxvYy1pbmZvcyBkw6lzYWN0aXbDqVxuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44NSk7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3ItbGluazogcmdiYSgkd2hpdGUsIDAuODUpO1xuJGp1bWJvdHJvbi1ibG9jLWluZm9zLWNvbG9yLWxpbmstaG92ZXI6ICR3aGl0ZTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5OiAwLjM7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtYmc6ICRibGFjaztcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1lbmQ6ICRncmF5LTgwMDtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudDogZmFsc2U7XG4kanVtYm90cm9uLWJsb2MtaW5mb3MtZ3JhZGllbnQtc3RhcnQ6IDEwJTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1lbmQ6IDgwJTtcbiRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1kZWc6IDIyZGVnO1xuXG4vLyBCbG9jIGNhcm91c2VsXG4kanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbWluaTogZmFsc2U7IC8vIGTDqXNhY3RpdmVyIGJsb2MtaW5mb3MgZXQgbW9kaWZpZXIgYmFja2dyb3VuZFxuJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLXhzOiBmYWxzZTtcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbDogdHJ1ZTtcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZi14czogZmFsc2U7IC8vIEEgZMOpdmVsb3BwZXJcbiRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZjogZmFsc2U7IC8vIEEgZMOpdmVsb3BwZXJcblxuLy8gMiBjb2xvbm5lcyBlbiBmcm9udFxuJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC0yLWNvbDpmYWxzZTtcblxuLy8gQXZhbnQvQXByw6hzIGZyb250XG4kanVtYm90cm9uLWF2YW50LWFwcmVzLWZyb250OiBmYWxzZTsgLy8gQWN0aXZlciAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLTItY29sIGV0ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1jZW50ZXJpbmcgZW4gY2VudGVyXG5cbi8vIExvZ28gbm90LWZyb250XG4kamJuZi1sb2dvLW1heC1oZWlnaHQ6IDUycHg7XG5cbi8vIEdyYWRpZW50XG4kanVtYm90cm9uLWdyYWRpZW50OiB0cnVlOyAvLyBBZmZpY2hlIHVuIGTDqWdyYWTDqSBzdXIgbGUganVtYm90cm9uIC8vIFNpIHkgYSB1biBjYXJvdXNlbCBMZSBkw6lncmFkw6kgZXN0IHN1ciBjYXJvdXNlbC1pdGVtIHBvdXIgcXVlIGNhcm91c2VsLWNhcHRpb24gc29pdCBhdSBkZXNzdXMgbW9kaWZpZXIgcG91ciBjYXJvdXNlbC1pbm5lciBzaSBwYXMgYmVzb2luIGRlIGNhcm91c2VsLWNhcHRpb25cbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yOiAkYmxhY2s7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEteHM6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHM6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGc6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGc6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbjogMGRlZztcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkOiAxMDAlO1xuXG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZjogJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3I7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGctbmY6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGctbmY6IDAuNjU7XG4kanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbi1uZjogMGRlZztcbiRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkLW5mOiAxMDAlO1xuXG4vLyBPdmVybGF5XG4kanVtYm90cm9uLW92ZXJsYXk6ICRvdmVybGF5LWp1bWJvdHJvbjsgLy8gQWZmaWNoZSB1biBtb3RpZiB0cmFuc3BhcmVudCBzdXIgbGUganVtYm90cm9uXG4iLCIvLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuIiwiLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuIiwiLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4vLyRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRzZWNvbmRhcnktZGFyayAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgMCAhZGVmYXVsdDtcblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBWYXJpYWJsZXMgQ1cgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLy8gQnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItZm9udDogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblxuJGJyZWFkY3J1bWItY29sb3I6IGxpZ2h0ZW4oJGJvZHktY29sb3IsIDIlKTtcbiRicmVhZGNydW1iLWJnOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiRicmVhZGNydW1iLWJnLWVuZDogZGFya2VuKCRib2R5LWJnLCAwJSk7XG4kYnJlYWRjcnVtYi1ncmFkaWVudDogJGVuYWJsZS1ncmFkaWVudHM7XG4kYnJlYWRjcnVtYi1ncmFkaWVudC1zdGFydDogMCU7XG4kYnJlYWRjcnVtYi1ncmFkaWVudC1lbmQ6IDkwJTtcbiRicmVhZGNydW1iLWdyYWRpZW50LWRlZzogMjJkZWc7XG5cbiIsIi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC42LjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIxIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICogQ29weXJpZ2h0IDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3Mvcm9vdFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdHlwZVwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9pbWFnZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY29kZVwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ncmlkXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuLy9AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90cmFuc2l0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9kcm9wZG93blwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9idXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL25hdlwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY2FyZFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYmFkZ2VcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2FsZXJ0XCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21lZGlhXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvY2xvc2VcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9hc3RzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21vZGFsXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcG9wb3ZlclwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jYXJvdXNlbFwiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9zcGlubmVyc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvcHJpbnRcIjtcbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSBuby1yZXBlYXQgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtc2Nyb2xsLW1heC1oZWlnaHQ6ICAgICAgNzV2aCAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc206ICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcbiR1c2VyLXNlbGVjdHM6IGFsbCwgYXV0bywgbm9uZSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8va2l0dHlnaXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZm9ybS1jb250cm9sLWZvY3VzKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZigmLCBcIiZcIiwgXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsICRjb2xvciwgJGljb24pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMxNTU3XG4gICAgLy8gQWxpZ24gdG9vbHRpcCB0byBmb3JtIGVsZW1lbnRzXG4gICAgLmZvcm0tcm93ID4gLmNvbCA+ICYsXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0gPiAmIHtcbiAgICAgIGxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LXBhZGRpbmcteCAqIDQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LXBhZGRpbmcteCAqIDIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsICRjdXN0b20tc2VsZWN0LWJnIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemUgbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctZ3JhZGllbnQtdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC41LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGlmIChsZW5ndGgoJHNoYWRvdykgPT0gMSkge1xuICAgICAgLy8gV2UgY2FuIHBhc3MgYEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7YFxuICAgICAgJHJlc3VsdDogJHNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEZpbHRlciB0byBhdm9pZCBpbnZhbGlkIHByb3BlcnRpZXMgZm9yIGV4YW1wbGUgYGJveC1zaGFkb3c6IG5vbmUsIDFweCAxcHggYmxhY2s7YFxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNoYWRvdykge1xuICAgICAgICBAaWYgbnRoKCRzaGFkb3csICRpKSAhPSBcIm5vbmVcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkc2hhZG93LCAkaSksIFwiY29tbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyICogLjU7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgICBtYXgtd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSgpIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiOnJvb3Qge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JGJwfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG59XG5cbmgxLCAuaDEgeyBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7IH1cbmgyLCAuaDIgeyBAaW5jbHVkZSBmb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7IH1cbmgzLCAuaDMgeyBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7IH1cbmg0LCAuaDQgeyBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7IH1cbmg1LCAuaDUgeyBAaW5jbHVkZSBmb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7IH1cbmg2LCAuaDYgeyBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7IH1cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuLmRpc3BsYXktMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTEtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTEtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5Mi1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTMge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkzLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkzLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJGhyLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkaHItbWFyZ2luLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgYmFzZSAuZm9ybS1jaGVja1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcblxuICAvLyBVbmRvIC5mb3JtLWNoZWNrLWlucHV0IGRlZmF1bHRzIGFuZCBhZGQgc29tZSBgbWFyZ2luLXJpZ2h0YC5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBQb3BwZXIgaXMgZW5hYmxlZCwgcmVzZXQgdGhlIGJhc2ljIGRyb3Bkb3duIHBvc2l0aW9uXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmRyb3Bkb3duLW1lbnUge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJib3R0b21cIl0sXG4gICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmJ0bixcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBjb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX0gbm8tcmVwZWF0O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3csICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0ICogLjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6ICRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14ICogLjU7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoICogLjU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxpZ25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9ib3JkZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZW1iZWRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxleFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbG9hdFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9pbnRlcmFjdGlvbnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2NyZWVucmVhZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaGFkb3dzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NpemluZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3N0cmV0Y2hlZC1saW5rXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmlzaWJpbGl0eVwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoZGl2aWRlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15LCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIkBtaXhpbiBzaGFwZS1kaXZpZGVyKCRiZy1zaGFwZS1kaXZpZGVyOiB0cmFuc3BhcmVudCwgJGNvbG9yLWZpbGwtZGlhZzogI2Y3ZjdmNywgJG9wYWNpdHk6IDEsICRzaGFwZS1kaXZpZGVyLWhlaWdodDogNTBweCwgJHN2ZzogJHNoYXBlLWRpdmlkZXItc2VsZWN0aW9uKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1zaGFwZS1kaXZpZGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgY2FsYygjeyRzaGFwZS1kaXZpZGVyLWhlaWdodH0gLSA1MHB4KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKCN7JHNoYXBlLWRpdmlkZXItaGVpZ2h0fSAtIDUwcHgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAzMTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGhlaWdodDogJHNoYXBlLWRpdmlkZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAkc2hhcGUtZGl2aWRlci1oZWlnaHQ7XG4gIH1cblxuICBAaWYgJHN2ZyA9PSAxIHsgLy8gV2F2ZXMvVmFndWVzXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNMzIxLjM5LDU2LjQ0YzU4LTEwLjc5LDExNC4xNi0zMC4xMywxNzItNDEuODYsODIuMzktMTYuNzIsMTY4LjE5LTE3LjczLDI1MC40NS0uMzlDODIzLjc4LDMxLDkwNi42Nyw3Miw5ODUuNjYsOTIuODNjNzAuMDUsMTguNDgsMTQ2LjUzLDI2LjA5LDIxNC4zNCwzVjBIMFYyNy4zNUE2MDAuMjEsNjAwLjIxLDAsMCwwLDMyMS4zOSw1Ni40NFpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPiA8L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSAyIHsgLy8gV2F2ZXMgT3BhY2l0eVxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj4gPHBhdGggZD1cIk0wLDBWNDYuMjljNDcuNzksMjIuMiwxMDMuNTksMzIuMTcsMTU4LDI4LDcwLjM2LTUuMzcsMTM2LjMzLTMzLjMxLDIwNi44LTM3LjVDNDM4LjY0LDMyLjQzLDUxMi4zNCw1My42Nyw1ODMsNzIuMDVjNjkuMjcsMTgsMTM4LjMsMjQuODgsMjA5LjQsMTMuMDgsMzYuMTUtNiw2OS44NS0xNy44NCwxMDQuNDUtMjkuMzRDOTg5LjQ5LDI1LDExMTMtMTQuMjksMTIwMCw1Mi40N1YwWlwiIG9wYWNpdHk9XCIuMjVcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPiA8cGF0aCBkPVwiTTAsMFYxNS44MUMxMywzNi45MiwyNy42NCw1Ni44Niw0Ny42OSw3Mi4wNSw5OS40MSwxMTEuMjcsMTY1LDExMSwyMjQuNTgsOTEuNThjMzEuMTUtMTAuMTUsNjAuMDktMjYuMDcsODkuNjctMzkuOCw0MC45Mi0xOSw4NC43My00NiwxMzAuODMtNDkuNjcsMzYuMjYtMi44NSw3MC45LDkuNDIsOTguNiwzMS41NiwzMS43NywyNS4zOSw2Mi4zMiw2MiwxMDMuNjMsNzMsNDAuNDQsMTAuNzksODEuMzUtNi42OSwxMTkuMTMtMjQuMjhzNzUuMTYtMzksMTE2LjkyLTQzLjA1YzU5LjczLTUuODUsMTEzLjI4LDIyLjg4LDE2OC45LDM4Ljg0LDMwLjIsOC42Niw1OSw2LjE3LDg3LjA5LTcuNSwyMi40My0xMC44OSw0OC0yNi45Myw2MC42NS00OS4yNFYwWlwiIG9wYWNpdHk9XCIuNVwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+IDxwYXRoIGQ9XCJNMCwwVjUuNjNDMTQ5LjkzLDU5LDMxNC4wOSw3MS4zMiw0NzUuODMsNDIuNTdjNDMtNy42NCw4NC4yMy0yMC4xMiwxMjcuNjEtMjYuNDYsNTktOC42MywxMTIuNDgsMTIuMjQsMTY1LjU2LDM1LjRDODI3LjkzLDc3LjIyLDg4Niw5NS4yNCw5NTEuMiw5MGM4Ni41My03LDE3Mi40Ni00NS43MSwyNDguOC04NC44MVYwWlwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+IDwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDMgeyAvLyBDdXJ2ZVxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTAsMFY3LjIzQzAsNjUuNTIsMjY4LjYzLDExMi43Nyw2MDAsMTEyLjc3UzEyMDAsNjUuNTIsMTIwMCw3LjIzVjBaXCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSA0IHsgLy8gVHJpYW5nbGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+IDxwYXRoIGQ9XCJNMTIwMCAwTDAgMCA1OTguOTcgMTE0LjcyIDEyMDAgMHpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPiA8L3N2Zz4nKTtcbiAgfVxuICBAaWYgJHN2ZyA9PSA1IHsgLy8gVHJpYW5nbGUgQXN5bW1ldHJpY2FsXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTIwMCAwTDAgMCA4OTIuMjUgMTE0LjcyIDEyMDAgMHpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPjwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDYgeyAvLyBBcnJvd1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgZGF0YS1uYW1lPVwiTGF5ZXIgMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyMDAgMTIwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj48cGF0aCBkPVwiTTY0OS45NyAwTDU1MC4wMyAwIDU5OS45MSA1NC4xMiA2NDkuOTcgMHpcIiBjbGFzcz1cInNoYXBlLWZpbGxcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCI+PC9wYXRoPjwvc3ZnPicpO1xuICB9XG4gIEBpZiAkc3ZnID09IDcgeyAvLyBUaWx0L0RpYWdvbmFsXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyBkYXRhLW5hbWU9XCJMYXllciAxXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIwMCAxMjBcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTIwMCAxMjBMMCAxNi40OCAwIDAgMTIwMCAwIDEyMDAgMTIwelwiIGNsYXNzPVwic2hhcGUtZmlsbFwiIGZpbGw9XCInKyB0b1JHQkEoJGNvbG9yLWZpbGwtZGlhZywgJG9wYWNpdHkpICsnXFxcIj48L3BhdGg+PC9zdmc+Jyk7XG4gIH1cbiAgQGlmICRzdmcgPT0gOCB7IC8vIEJvb2tcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCA8c3ZnIGRhdGEtbmFtZT1cIkxheWVyIDFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMjAwIDEyMFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCI+PHBhdGggZD1cIk0xMjAwLDBIMFYxMjBIMjgxLjk0QzU3Mi45LDExNi4yNCw2MDIuNDUsMy44Niw2MDIuNDUsMy44NmgwUzYzMiwxMTYuMjQsOTIzLDEyMGgyNzdaXCIgY2xhc3M9XCJzaGFwZS1maWxsXCIgZmlsbD1cIicrIHRvUkdCQSgkY29sb3ItZmlsbC1kaWFnLCAkb3BhY2l0eSkgKydcXFwiPjwvcGF0aD48L3N2Zz4nKTtcbiAgfVxuICAvL0BpZiAkc3ZnID09IDkgeyAvLyBWYWd1ZXMgY3dcbiAgLy8gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgaWQ9XCJDYWxxdWVfMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDU5Ni43NiAxNi4wMlwiPjxnIGlkPVwiQ2FscXVlXzEtMlwiPjxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwiTTAsMS40NGMzMy4xMiwwLDMzLjY2LDE0LjU4LDY2Ljc4LDE0LjU4Uzk5LjkxLDEuNDQsMTMzLjAzLDEuNDRzMzMuMTIsMTQuNTgsNjYuMjUsMTQuNThTMjMyLjQsMS40NCwyNjUuNTIsMS40NHMzMy4xMiwxNC41OCw2Ni4yNSwxNC41OFMzNjQuODksMS40NCwzOTguMDEsMS40NHMzMy4xMiwxNC41OCw2Ni4yNSwxNC41OFM0OTcuMzksMS40NCw1MzAuNTEsMS40NHMzMy4xMywxNC41OCw2Ni4yNSwxNC41OFYwSDBWMS40NFpcIiBmaWxsPVwiJysgdG9SR0JBKCRjb2xvci1maWxsLWRpYWcsICRvcGFjaXR5KSArJ1xcXCIvPjwvZz48L3N2Zz4nKTtcbiAgLy99XG59XG5cbkBtaXhpbiBjbGlwLXBhdGgoJHByb3BlcnR5Li4uKSB7IC8vIGh0dHBzOi8vYmVubmV0dGZlZWx5LmNvbS9jbGlwcHkvXG4gIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogJHByb3BlcnR5O1xuICBzaGFwZS1vdXRzaWRlOiAkcHJvcGVydHk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiAkcHJvcGVydHk7XG4gIGNsaXAtcGF0aDogJHByb3BlcnR5O1xufVxuXG5AbWl4aW4geC1vcGFjaXR5KCR2YWx1ZTogMCkgeyAvLyBUT0RPIGh0dHBzOi8vZ2l0aHViLmNvbS9kcnVibGljL1Nhc3MtTWl4aW5zL2Jsb2IvbWFzdGVyL3BhcnRpYWxzL19vcGFjaXR5LnNjc3NcbiAgJHZhbHVlLXBlcmNlbnRhZ2U6ICR2YWx1ZSAqIDEwMDtcblxuICBvcGFjaXR5OiAkdmFsdWU7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9I3skdmFsdWUtcGVyY2VudGFnZX0pXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0jeyR2YWx1ZS1wZXJjZW50YWdlfSk7XG59XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS4uLikge1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkZHVyYXRpb24uLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6ICRkdXJhdGlvbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRkdXJhdGlvbjtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmcuLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXkuLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuQG1peGluIGFscGhhLWF0dHJpYnV0ZSgkYXR0cmlidXRlLCAkY29sb3IsICRiYWNrZ3JvdW5kKSB7XG4gICRwZXJjZW50OiBhbHBoYSgkY29sb3IpICogMTAwJTtcbiAgJG9wYXF1ZTogb3BhY2lmeSgkY29sb3IsIDEpO1xuICAkc29saWQtY29sb3I6IG1peCgkb3BhcXVlLCAkYmFja2dyb3VuZCwgJHBlcmNlbnQpO1xuICAjeyRhdHRyaWJ1dGV9OiAkc29saWQtY29sb3I7XG4gICN7JGF0dHJpYnV0ZX06ICRjb2xvcjtcbn1cblxuQG1peGluIGJlZm9yZS1hZnRlci1mdWxsIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWl4aW4gcHVsbC1sZWZ0KCkge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gcHVsbC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU2IG9yICRsZWdhY3ktc3VwcG9ydC1mb3ItaWU3IHtcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IC8vIElFNiBhbmQgSUU3IHVzZSB0aGUgd3Jvbmcgc3ludGF4LlxuICB9XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbn1cblxuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuQG1peGluIGVsZW1lbnQtZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgfVxufVxuXG5AbWl4aW4gYWxwaGEtYXR0cmlidXRlKCRhdHRyaWJ1dGUsICRjb2xvciwgJGJhY2tncm91bmQpIHtcbiAgJHBlcmNlbnQ6IGFscGhhKCRjb2xvcikgKiAxMDAlO1xuICAkb3BhcXVlOiBvcGFjaWZ5KCRjb2xvciwgMSk7XG4gICRzb2xpZC1jb2xvcjogbWl4KCRvcGFxdWUsICRiYWNrZ3JvdW5kLCAkcGVyY2VudCk7XG4gICN7JGF0dHJpYnV0ZX06ICRzb2xpZC1jb2xvcjtcbiAgI3skYXR0cmlidXRlfTogJGNvbG9yO1xufVxuXG5AbWl4aW4gdGV4dC1ncmFkaWVudCgkZGVncmVlOjI4OC4xN2RlZywgJGNvbG9yMTojMjkxNjlkLCAkY29sb3IyOiMzNjQ2Y2MsICRjb2xvcjM6IzFjYzJlNywgJHBlcmNlbnRhZ2Vjb2xvcjE6MTIuNiUsICRwZXJjZW50YWdlY29sb3IyOjUwLjgyJSwgJHBlcmNlbnRhZ2Vjb2xvcjM6OTAuMTIlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVncmVlLCAkY29sb3IxICRwZXJjZW50YWdlY29sb3IxLCAkY29sb3IyICRwZXJjZW50YWdlY29sb3IyLCRjb2xvcjMgJHBlcmNlbnRhZ2Vjb2xvcjMpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG59XG5cbkBtaXhpbiBsaW5lLWJlZm9yZV9hZnRlcigkYmdjb2xvcjokZ3JheSwgJHdpZHRoOjEwMCUsICRoZWlnaHQ6MXB4KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGJhY2tncm91bmQ6ICRiZ2NvbG9yO1xuICBtYXJnaW46IDEwcHggYXV0byAyM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGxpbmUtYmFja2dyb3VuZCgkYmdjb2xvcjokZ3JheSwgJGhlaWdodDowLjI1ZW0sICRwb3NpdGlvbjo4NSUpIHsgLy9tZXR0cmUgdW5lIHNwYW4gZXQgbHVpIGFqb3V0ZXIgbGEgY2xhc3MgYWZpbiBkZSBuZSBwYXMgcGVyZHJlIGxlIGNlbnRyYWdlIGV0IG1hcmdlc1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoJGJnY29sb3IsIDEpIDAsIHJnYmEoJGJnY29sb3IsIDEpIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgJGhlaWdodDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAkcG9zaXRpb247XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtaXhpbiBhZnRlcl9sZWZ0X3JpZ2h0LWJvcmRlcigkYmdjb2xvcjokcHJpbWFyeSwgJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2U6MzVweCwgJHdpZHRoOjhweCwgJGhlaWdodDo5MCUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaWYgKCRwb3NpdGlvbiA9PSBsZWZ0KSB7XG4gICAgbGVmdDogJHNwYWNlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZTtcbiAgfSBAZWxzZSB7XG4gICAgcmlnaHQ6ICRzcGFjZTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKCgxMDAlIC0gI3skaGVpZ2h0fSkgLyAyKTtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIEBpZiAoJHBvc2l0aW9uID09IGxlZnQpIHtcbiAgICAgIGxlZnQ6IC0kc3BhY2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICByaWdodDogLSRzcGFjZTtcbiAgICB9XG4gIH1cbn1cblxuLy9AbWl4aW4gYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6MjdweCwgJG10OjE1cHgsICRmaWxlOidwdWNlLWgxLnBuZycpIHtcbi8vICBkaXNwbGF5OiBibG9jaztcbi8vICBjb250ZW50OiBcIlwiO1xuLy8gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7JGhlaWdodH0pO1xuLy8gIHdpZHRoOiAxMDAlO1xuLy8gIG1heC13aWR0aDogMTAwJTtcbi8vICB0b3A6IGNhbGMoLSN7JGhlaWdodH0gLyAyKTtcbi8vICBsZWZ0OiAwO1xuLy8gIHotaW5kZXg6IC0xO1xuLy8gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvI3skZmlsZX0pO1xuLy8gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4vLyAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbi8vICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4vL31cblxuQG1peGluIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OjI3cHgsICRtdDoxNXB4LCAkZmlsZToncHVjZS1oMS5wbmcnKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogY2FsYygxMDAlICsgI3skaGVpZ2h0fSk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRvcDogY2FsYygtI3skaGVpZ2h0fSAvIDIgKyAjeyRtdH0pO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy8jeyRmaWxlfSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC8vbWFyZ2luOiAkbXQgYXV0byAwO1xufVxuXG5AbWl4aW4gY2hldnJvbi1hZnRlcigkbmFtZSwkcG9zaXRpb254KSB7IC8vdXRpbGlzw6kgcG91ciBsYSBwYWdpbmF0aW9uXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJG5hbWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBAaWYgJHBvc2l0aW9ueCA9PSBsZWZ0IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWJveHNoYWRvdygkb3BhY2l0eSA6IDAuMTEsICR4IDogMHB4LCAkeSA6IDlweCwgJGJsdXIgOiA0NnB4LCAkc3ByZWFkIDogMHB4LCAkY29sb3IgOiAkYmxhY2spIHtcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJHNwcmVhZCByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZiA6IDAsICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQgOiB0cnVlLCAkb3BhY2l0eSA6IDEsICR6LWluZGV4IDogLTEpIHtcbiAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICB6LWluZGV4OiAkei1pbmRleDtcbiAgQGlmICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQgPT0gdHJ1ZSB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxuICBAaWYgJG92ZXJsYXktbW90aWYgPT0gMCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3ZlcmxheS0xLnBuZycpO1xuICB9XG4gIEBpZiAkb3ZlcmxheS1tb3RpZiA9PSAxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9vdmVybGF5LTIucG5nJyk7XG4gIH1cbiAgQGlmICRvdmVybGF5LW1vdGlmID09IDIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL292ZXJsYXktMy5wbmcnKTtcbiAgfVxuICBAaWYgJG92ZXJsYXktbW90aWYgPT0gMyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3ZlcmxheS00LnBuZycpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tY2FyZCgkY29sb3IsICRiZywgJGJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG4gIGJvcmRlcjogJGJvcmRlcjtcbn1cblxuQGZ1bmN0aW9uIHRvUkdCQSAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICBAcmV0dXJuIFwicmdiYShcIiArIHJlZCgkY29sb3IpICsgXCIsIFwiICsgZ3JlZW4oJGNvbG9yKSArIFwiLCBcIiArIGJsdWUoJGNvbG9yKSArIFwiLCBcIiArICRvcGFjaXR5ICsgXCIpXCI7XG59XG5cbkBtaXhpbiBjdy1jb250YWluZXIoJG13IDogJGN3LWNvbnRhaW5lcikge1xuICBtYXgtd2lkdGg6ICRtdztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY3ctbGlzdC11bCgpIHtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGk6YmVmb3Jle1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICBmb250LXdlaWdodDogJGxpLXN0eWxlLWZhLXdlaWdodDtcbiAgICBmb250LXNpemU6ICRsaS1zdHlsZS1mYS1zaXplO1xuICAgIGNvbnRlbnQ6ICRsaS1zdHlsZS1mYS1pY29uO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogJGxpLXN0eWxlLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdy1pbWctc2hvdy1tb3JlKCRmYS1pY29uOidcXGYwNmUnLCAkaW1nLW9wYWNpdHk6MSwgJGljb24tcm90YXRlLWRlZzowKSB7XG4gIGltZyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKCRpbWctb3BhY2l0eSkgYmx1cigwcHgpO1xuICAgIC8vZmlsdGVyOiBzZXBpYSgwJSk7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuNHMsIGZpbHRlciAwLjJzKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC5zaG93LW1vcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaWNvbi1yb3RhdGUtZGVnK2RlZyk7XG4gICAgfVxuXG4gICAgLmljb246YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbnRlbnQ6ICRmYS1pY29uO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC44cyAuMnMpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS42KSk7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC41KSBibHVyKDFweCk7XG4gICAgICAvL2ZpbHRlcjogc2VwaWEoMjUlKTtcbiAgICB9XG5cbiAgICAuc2hvdy1tb3JlIHtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMpO1xuXG4gICAgICAuaWNvbjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzY2FsZSgxLjUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjZzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICB9XG4gIH1cbn1cbiIsImRpdi5jdy1ncmlkLXR3byB7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvIGF1dG8gYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBCT1VUT05TIEFWRUMgRk9ORCAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuXG5AbWl4aW4gYnRuLWNvbG9yKCRjb2xvcjokYnRuLW9uZS1mb250LWNvbG9yLCAkY29sb3JIb3ZlcjokYnRuLW9uZS1mb250LWNvbG9yLWhvdmVyKSB7XG4gIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvckhvdmVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1ib3JkZXIoJGJvcmRlci1oZWlnaHQ6JGJ0bi1ib3JkZXItaGVpZ2h0LCAkYm9yZGVyOiRidG4tb25lLWJvcmRlci1jb2xvciwgJGJvcmRlci1ob3ZlcjokYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXIsICRvcGFjaXR5OiRidG4tb25lLWJvcmRlci1jb2xvci1vcGFjaXR5LCAkb3BhY2l0eS1ob3ZlcjokYnRuLW9uZS1ib3JkZXItY29sb3ItaG92ZXItb3BhY2l0eSkge1xuICBib3JkZXI6ICRib3JkZXItaGVpZ2h0IHNvbGlkIHJnYmEoJGJvcmRlciwgJG9wYWNpdHkpO1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXI6ICRib3JkZXItaGVpZ2h0IHNvbGlkIHJnYmEoJGJvcmRlci1ob3ZlciwgJG9wYWNpdHktaG92ZXIpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tYWZ0ZXIoJGFmdGVyLWhlaWdodDoxcHgsICR1bmRlcmxpbmUtY29sb3I6JHByaW1hcnksICR1bmRlcmxpbmUtY29sb3ItaG92ZXI6JHByaW1hcnktZGFyaykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGxlZnQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhZnRlci1oZWlnaHQgc29saWQgJHVuZGVybGluZS1jb2xvcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFmdGVyLWhlaWdodCBzb2xpZCAkdW5kZXJsaW5lLWNvbG9yLWhvdmVyO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoMTAwJSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ0bi1pbWcoJGJ0bi1pbWcsICRidG4taW1nLWhvdmVyKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkYnRuLWltZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkYnRuLWltZy1ob3Zlcik7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1iZy10cmFuc2l0aW9uKCRiZy10cmFuc2l0aW9uOiRidG4tYmctdHJhbnNpdGlvbiwgJGJnQ29sb3I6JGJ0bi1vbmUtYmcsICRiZ0NvbG9ySG92ZXI6JGJ0bi1vbmUtYmctaG92ZXIsICRiZ0NvbG9yT3BhY2l0eTokYnRuLW9uZS1iZy1vcGFjaXR5LCAkYmdDb2xvck9wYWNpdHlIb3ZlcjokYnRuLW9uZS1iZy1vcGFjaXR5LWhvdmVyLCAkYmdDb2xvclR3bzokYnRuLW9uZS1iZy1ob3ZlciwgJGJnQ29sb3JUd29Ib3ZlcjokYnRuLW9uZS1iZykge1xuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvciwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICAmOmhvdmVye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAxIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGxpZ2h0ZW4oJGJnQ29sb3IsIDUlKSwgJGJnQ29sb3JPcGFjaXR5KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSksIHRyYW5zcGFyZW50IDcwJSkgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShsaWdodGVuKCR0ZXJ0aWFyeSwgNSUpLCAkYnRuLW9uZS1iZy1vcGFjaXR5KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSAzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKSwgcmdiYSgkYmdDb2xvckhvdmVyLCAkYmdDb2xvck9wYWNpdHlIb3ZlcikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICB9XG4gIH1cbiAgQGlmICRiZy10cmFuc2l0aW9uID09IDQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJnQ29sb3IsICRiZ0NvbG9yT3BhY2l0eSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpLCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSA1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiZ0NvbG9yLCAkYmdDb2xvck9wYWNpdHkpO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMHB4IDBweCByZ2JhKCRiZ0NvbG9ySG92ZXIsICRiZ0NvbG9yT3BhY2l0eUhvdmVyKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDExcHggMTFweCAwcHggMHB4IHJnYmEoJGJnQ29sb3JIb3ZlciwgJGJnQ29sb3JPcGFjaXR5SG92ZXIpO1xuICAgIH1cbiAgfVxuICBAaWYgJGJnLXRyYW5zaXRpb24gPT0gNiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMmRlZywgJGJnQ29sb3IsIGxpZ2h0ZW4oJGJnQ29sb3IsIDI1JSksICRiZ0NvbG9yKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgkYmxhY2ssIDAuMik7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MCU7XG4gICAgICBib3gtc2hhZG93OiAwcHggNnB4IDEwcHggMHB4IHJnYmEoZGFya2VuKCRibGFjaywgMTAlKSwgMC4wNSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgfVxuICB9XG4gIEBpZiAkYmctdHJhbnNpdGlvbiA9PSA3IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMmRlZywgJGJnQ29sb3JIb3ZlciwgbGlnaHRlbigkYmdDb2xvckhvdmVyLCAyNSUpLCAkYmdDb2xvckhvdmVyKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG91dGxpbmU6IHNvbGlkIDJweCBkYXJrZW4ocmdiYSgkYmdDb2xvciwgMSksIDMlKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIG91dGxpbmU6IHNvbGlkIDAgZGFya2VuKHJnYmEoJGJnQ29sb3IsIDApLCAzJSk7XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIGNoYW5nZSB0byBmYWxzZSBpZiBpdHMgbm90IGltcG9ydGVkIGludG8gYm9vdHN0cmFwXG4kdXNlLWJvb3RzdHJhcDogZmFsc2U7XG5cbi8vIG1hcmdpbiBhbmQgcGFkZGluZyB2YWx1ZXMgYXJyYXlcbiR3aWR0aC12YWx1ZXM6IChcbiAgICAgICAgMTAwLFxuICAgICAgICAxMjAsXG4gICAgICAgIDE0MCxcbiAgICAgICAgMTYwLFxuICAgICAgICAxODAsXG4gICAgICAgIDIwMCxcbiAgICAgICAgMjIwLFxuICAgICAgICAyNDAsXG4gICAgICAgIDI2MCxcbiAgICAgICAgMjgwLFxuICAgICAgICAzMDAsXG4gICAgICAgIDMyMCxcbiAgICAgICAgMzQwLFxuICAgICAgICAzNjAsXG4gICAgICAgIDM4MCxcbiAgICAgICAgNDAwLFxuKSAhZGVmYXVsdDtcblxuLy8gbWFpbiBmdW5jdGlvbiBkZWZpbml0aW9uXG5AbWl4aW4gbWFrZS1zcGFjZSgkdmFsdWVzLCAkYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQtbmFtZSwgJGJyZWFrcG9pbnQtdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgICAuYnRuLSN7JGJyZWFrcG9pbnQtbmFtZX0tI3skdmFsdWV9IHtcbiAgICAgICAgICB3aWR0aDogI3skdmFsdWV9cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtYWtlLXNwYWNlKCR3aWR0aC12YWx1ZXMsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gIFtjbGFzcyo9XCJidG4tXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDtcbiAgICAuZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIuY3ctb3BhY2l0eS0xMDAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMSlcbn1cblxuLmN3LW9wYWNpdHktOTAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC45KTtcbn1cblxuLmN3LW9wYWNpdHktODAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC44KTtcbn1cblxuLmN3LW9wYWNpdHktNzAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC43KTtcbn1cblxuLmN3LW9wYWNpdHktNjAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC42KTtcbn1cblxuLmN3LW9wYWNpdHktNTAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC41KTtcbn1cblxuLmN3LW9wYWNpdHktNDAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC40KTtcbn1cblxuLmN3LW9wYWNpdHktMzAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC4zKTtcbn1cblxuLmN3LW9wYWNpdHktMjAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC4yKTtcbn1cblxuLmN3LW9wYWNpdHktMTAge1xuICBAaW5jbHVkZSB4LW9wYWNpdHkoMC4xKTtcbn1cblxuLmN3LW9wYWNpdHktMCB7XG4gIEBpbmNsdWRlIHgtb3BhY2l0eSgwKVxufSIsImJ1dHRvbiwgLmJ0biB7XG4gICY6Zm9jdXMsICY6YWN0aXZlOmZvY3VzLCAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmJ0bi1kcm9wZG93biB7XG4gIC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIGJ1dHRvbiwgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnRuLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidG4tdGV4dC10cmFuc2Zvcm07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBQQVJBTUVUUkFHRSBERSBCQVNFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4uYnRuIHtcbiAgQGlmICRidG4tc2hhZG93IHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xNSwgMHB4LCAyMHB4LCA0MHB4LCAwcHgpO1xuICB9XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cy1idG4pO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDI0cHggMzBweDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIHRleHQtdHJhbnNmb3JtOiAkYnRuLXRleHQtdHJhbnNmb3JtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vbWFyZ2luOiAwO1xuICAvL292ZXJmbG93OiBoaWRkZW47XG4gIC8vdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvL2JhY2tncm91bmQ6IG5vbmU7XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjJzKTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gICAgLy90ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmJ0bi1wcmltYXJ5LCAuYnV0dG9uLXByaW1hcnkge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oKTsgLy9SZWdhcmRlciBlbiBiYXMgcG91ciBhdm9pciBsZXMgZGlmZsOpcmVudGVzIHZhcmlhYmxlc1xuICBAaWYgJGJ0bi1ib3JkZXItaGVpZ2h0ID4gMCB7XG4gICAgQGluY2x1ZGUgYnRuLWJvcmRlcigkYnRuLWJvcmRlci1oZWlnaHQsICRidG4tb25lLWJvcmRlci1jb2xvciwgJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgfVxuICAvL0BpbmNsdWRlIGJ0bi1hZnRlcigpO1xufVxuXG4uYnRuLXNlY29uZGFyeSwgLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidG4tY29sb3IoJGJ0bi10d28tZm9udC1jb2xvciwgJGJ0bi10d28tZm9udC1jb2xvci1ob3Zlcik7XG4gIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbiwgJGJ0bi10d28tYmcsICRidG4tdHdvLWJnLWhvdmVyLCAkYnRuLXR3by1iZy1vcGFjaXR5LCAkYnRuLXR3by1iZy1vcGFjaXR5LWhvdmVyKTtcbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLXR3by1ib3JkZXItY29sb3IsICRidG4tdHdvLWJvcmRlci1jb2xvci1ob3ZlciwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLW9wYWNpdHksICRidG4tdHdvLWJvcmRlci1jb2xvci1ob3Zlci1vcGFjaXR5KTtcbiAgfVxufVxuXG4uYnRuLXRlcnRpYXJ5IHtcbiAgQGluY2x1ZGUgYnRuLWFmdGVyKDFweCwgJGdyYXktNjAwLCAkd2hpdGUpO1xuICBwYWRkaW5nOiA3cHggMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqIEJMT0MgQUNUVSAqKioqKioqKioqKioqKi9cbi5hbGwtYWN0dXMge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oJGJ0bi1iZy10cmFuc2l0aW9uKTtcbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLW9uZS1ib3JkZXItY29sb3IsICRidG4tb25lLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqIEJMT0MgQVZJUyBDTElFTlQgKGZyb250KSoqKioqKioqKioqKioqL1xuI2F2aXMtY2xpZW50IC52aWV3LWZvb3RlciB7XG4gIC5idG4tYXZpcyAuYnRuLXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbik7XG4gICAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgICAgQGluY2x1ZGUgYnRuLWJvcmRlcigkYnRuLWJvcmRlci1oZWlnaHQsICRidG4tb25lLWJvcmRlci1jb2xvciwgJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqIEFWSVMgQ0xJRU5UICoqKioqKioqKioqKioqL1xuLnBhZ2Utbm9kZS1hZGQtbWVzc2FnZSAuZm9ybS1hY3Rpb25zIHtcbiAgLndlYmZvcm0tc3VibWl0LCAjZWRpdC1zdWJtaXQge1xuICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigpO1xuICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKCRidG4tYmctdHJhbnNpdGlvbik7XG4gICAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAge1xuICAgICAgQGluY2x1ZGUgYnRuLWJvcmRlcigkYnRuLWJvcmRlci1oZWlnaHQsICRidG4tb25lLWJvcmRlci1jb2xvciwgJGJ0bi1vbmUtYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqIEZPUk1VTEFJUkUgQkxPQyBCT1RUT00gQUNDVUVJTCAqKioqKioqKioqKioqKi9cbi8vLmJsb2NrLXdmLWNvbnRhY3Qge1xuLy8gIC5idXR0b24tLXByaW1hcnkge1xuLy8gIH1cbi8vfVxuXG4vKioqKioqKioqKioqKiogRk9STVVMQUlSRSBQQUdFIENPTlRBQ1QgKioqKioqKioqKioqKiovXG4vL2Zvcm0ge1xuLy8gIC5idXR0b24tLXByaW1hcnkge1xuLy8gIH1cbi8vfVxuXG4vLy8qKioqKioqKioqKioqKiBGTE9UVEFOVCAqKioqKioqKioqKioqKi9cbi8vLmZsYi1idG4geyAvLyBib3V0b24gZW4gbW9iaWxlLCBkYW5zIGxhIG5hdmJhclxuLy8gIC5idG4tcHJpbWFyeSB7XG4vLyAgfVxuLy99XG4vLy5mbGItYmxvY2sgeyAvLyBib3V0b24gZHUgZm9ybXVsYWlyZVxuLy8gIC5idXR0b24tLXByaW1hcnkge1xuLy8gIH1cbi8vfVxuXG4vLy8qKioqKioqKioqKioqKiBDVy1DQVJEICoqKioqKioqKioqKioqL1xuLy8uY3ctY2FyZCB7XG4vLyAgLmJ0bi1wcmltYXJ5IHtcbi8vICB9XG4vL31cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqIEJUTiBFWEVNUExFICoqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG4uYnRuLTAge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCk7XG59XG5cbi5idG4tMSB7XG4gIEBpbmNsdWRlIGJ0bi1jb2xvcigpO1xuICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigxLCAkcHJpbWFyeSwgJHByaW1hcnktZGFyaywgMSwgMSwgJHByaW1hcnktZGFyaywgJHByaW1hcnkpO1xufVxuXG4uYnRuLTIge1xuICBAaW5jbHVkZSBidG4tY29sb3IoKTtcbiAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMik7XG59XG5cbi5idG4taW1nIHtcbiAgQGluY2x1ZGUgYnRuLWNvbG9yKCk7XG4gIEBpbmNsdWRlIGJ0bi1pbWcoJGJ0bi1pbWcsICRidG4taW1nLWhvdmVyKTtcbn1cblxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKiBCVE4gcG91ciBGb250IEF3ZXNvbWUgKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuW2NsYXNzKj1cImJ0bi1mYS1cIl0ge1xuICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICB3aWR0aDogMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLWZhLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG59XG5cbi5idG4tZmEtYW5nbGUtcmlnaHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cblxuLmJ0bi1mYS1hbmdsZS1jZW50ZXIge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXhzID4gLmJ0biwgLmJ0bi14cyB7XG4gIHBhZGRpbmc6IC40cmVtIC41cmVtO1xuICBmb250LXNpemU6IC42NXJlbTtcbiAgbGluZS1oZWlnaHQ6IC41O1xuICBib3JkZXItcmFkaXVzOiAuMnJlbTtcbn1cblxuLy8gQm91dG9uIGRlIG1vZGlmaWNhdGlvbnNcbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiAjMTgxODE4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzIWltcG9ydGFudDtcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwO1xuICB9XG59XG5cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqIEJUTiBzbGlkZSAqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KHhzKSB7XG4gIGJvZHkgLmJ0bi1zbGlkZSB7XG4gICAgbWluLXdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBib2R5IC5idG4tc2xpZGUtcHJpbWFyeSB7XG4gICAgbWluLXdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICBjb2xvcjogJGJ0bi1zbGlkZS1vbmUtY29sb3ItaG92ZXI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIGJvZHkgLmJ0bi1zbGlkZS1zZWNvbmRhcnkge1xuICAgIG1pbi13aWR0aDogMjUwcHggIWltcG9ydGFudDtcbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgY29sb3I6ICRidG4tc2xpZGUtdHdvLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNsaWRlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiA2MnB4O1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBAaWYgJGJ0bi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAwIDJweCAzcHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuICB9XG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4ycyBlYXNlLWluLW91dCwgcmlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDFweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIHBhZGRpbmc6IDcuNXB4O1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4ycyBlYXNlLWluLW91dCk7XG4gICAgY29udGVudDpcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5cbi5idG4tc2xpZGUtcHJpbWFyeSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogNjJweDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgQGlmICRidG4tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggM3B4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiAgfVxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiAkYnRuLXNsaWRlLW9uZS1jb2xvcjtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMXB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgY29sb3I6ICRidG4tc2xpZGUtb25lLWNvbG9yLWFycm93O1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nOiA3LjVweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtM3B4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXNsaWRlLW9uZS1iZztcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB9XG4gICY6aG92ZXIge1xuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjJzIGVhc2UtaW4tb3V0LCByaWdodCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGNvbG9yOiAkYnRuLXNsaWRlLW9uZS1jb2xvci1ob3ZlcjtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNsaWRlLXNlY29uZGFyeSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogNjJweDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgQGlmICRidG4tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAycHggM3B4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiAgfVxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsIHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiAkYnRuLXNsaWRlLXR3by1jb2xvcjtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMXB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgY29sb3I6ICRidG4tc2xpZGUtdHdvLWNvbG9yLWFycm93O1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBwYWRkaW5nOiA3LjVweDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtM3B4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLXNsaWRlLXR3by1iZztcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB9XG4gICY6aG92ZXIge1xuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAwLjJzIGVhc2UtaW4tb3V0LCByaWdodCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGNvbG9yOiAkYnRuLXNsaWRlLXR3by1jb2xvci1ob3ZlcjtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNsaWRlLmJ0bi1zbGlkZS13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICB9XG59XG5cbi8vIMOgIHV0aWxpc2VyIHN1ciB1bmUgaW1hZ2UgKGxvZ28gcGFyIGV4ZW1wbGUpXG4uYnRuLWltZyB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsdGVyIDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDBweCA2cHggNnB4IHJnYmEoJGJsYWNrLCAwLjIpKSk7XG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oZmlsdGVyIDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygwcHggNnB4IDEycHggcmdiYSgkYmxhY2ssIDAuNSkpKTtcbiAgfVxufVxuIiwiLmltZy1jZW50ZXIsIC5ib3gtY2VudGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmltZy1zbS1jZW50ZXIsIC5ib3gtc20tY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuaW1nLXNtLWxlZnQsIC5ib3gtc20tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5pbWctc20tcmlnaHQsIC5ib3gtc20tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5tZC1pbWctYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgfVxuXG4gIC5pbWctbWQtY2VudGVyLCAuYm94LW1kLWNlbnRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmltZy1tZC1sZWZ0LCAuYm94LW1kLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuaW1nLW1kLXJpZ2h0LCAuYm94LW1kLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubGctaW1nLWFydGljbGUge1xuICAgIG1heC13aWR0aDogNzkwcHg7XG4gIH1cbiAgLmltZy1sZy1jZW50ZXIsIC5ib3gtbGctY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuaW1nLWxnLWxlZnQsIC5ib3gtbGctbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5pbWctbGctcmlnaHQsIC5ib3gtbGctcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5pbWcteGwtY2VudGVyLCAuYm94LXhsLWNlbnRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmltZy14bC1sZWZ0LCAuYm94LXhsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAuaW1nLXhsLXJpZ2h0LCAuYm94LXhsLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0gUElDVE9TIFBBUkFMTEFYIC0tLS0tLS0tLS0tLSAqL1xuLmN3LWlib3gge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuMXMgZWFzZS1pbi1vdXQpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogMjBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJhY2tncm91bmQ6IHJnYmEoZGFya2VuKCRib2R5LWJnLCAxJSksIDEpO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMmRlZywgcmdiYShkYXJrZW4oJGJvZHktYmcsIDIlKSwgMSkgMCUsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAwLjUlKSwgMSkgOTAlKTtcbiAgfVxuXG4gID4gaDQge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnNlcGFyYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjAzKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG5cbiAgdWwsIHAge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLSBaT09NIFNVUiBJTUFHRSBiNDMxIC0tLS0tLS0tLS0tLSAqL1xuLmN3LWxhenkgeyAvL0wnaW1hZ2Ugc29ydCBkZSBzYSBkaXZcbiAgaW1nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgfVxuXG4gIGltZzpob3ZlciB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4uY3ctbGF6eS1oaWRlIHsgLy9MJ2ltYWdlIG5lIHNvcnQgcGFzIGRlIHNhIGRpdlxuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuLmN3LW5vLWJlZm9yZS1hZnRlciB7XG4gICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmN3LWNvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgKiAyO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIEBpbmNsdWRlIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuLmN3LWJsZW5kLW1vZGUtc2NyZWVuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgLy9BIHV0aWxpc2VyIHN1ciAucG5nIHBvdXIgc3VwcHJpbWVyIGZvbmQsIG5lIHBhcyBtZXR0cmUgZGUgZmFkZUluLlxufVxuXG4uY3ctYmxlbmQtbW9kZS1kYXJrZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogZGFya2VuOyAvL0EgdXRpbGlzZXIgc3VyIC5wbmcgcG91ciBzdXBwcmltZXIgZm9uZCwgbmUgcGFzIG1ldHRyZSBkZSBmYWRlSW5cbn1cblxuLmN3LWJveC0xMDAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN3LWJveHJhZGl1cy1ub25lIHtcbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmN3LWJveHJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLmN3LWJveHJhZGl1cy0yIHtcbiAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xufVxuXG4vLyRjdy1ib3hyYWRpdXMteHh4eFxuJGN3LWJveHJhZGl1cy14eHh4OiAxMDBweDtcbi5jdy1ib3hyYWRpdXMtMXgxeCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoI3skY3ctYm94cmFkaXVzLXh4eHh9IC8gMikgMCBjYWxjKCN7JGN3LWJveHJhZGl1cy14eHh4fSAvIDIpIDAgIWltcG9ydGFudDtcbn1cblxuLmN3LWJveHJhZGl1cy14MXgxIHtcbiAgYm9yZGVyLXJhZGl1czogMCBjYWxjKCN7JGN3LWJveHJhZGl1cy14eHh4fSAvIDIpIDAgY2FsYygjeyRjdy1ib3hyYWRpdXMteHh4eH0gLyAyKSAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1ib3hyYWRpdXMtMXgxeCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGN3LWJveHJhZGl1cy14eHh4IDAgJGN3LWJveHJhZGl1cy14eHh4IDAgIWltcG9ydGFudDtcbiAgfVxuICAuY3ctYm94cmFkaXVzLXgxeDEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJGN3LWJveHJhZGl1cy14eHh4IDAgJGN3LWJveHJhZGl1cy14eHh4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8tLS0tLS1cblxuLmN3LWJveHNoYWRvdyB7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xufVxuXG4uY3ctYm94c2hhZG93LTEge1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbTtcbn1cblxuLmN3LWJveHNoYWRvdy0yIHtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG59XG5cbi5jdy1kcm9wLXNoYWRvdyB7XG4gIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygwcHggNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KSkpO1xufVxuXG4uY3ctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1zcXVhcmUge1xuICBoZWlnaHQ6IDI2MHB4O1xuICB3aWR0aDogMjYwcHg7XG4gIG1heC1oZWlnaHQ6IDgwdnc7XG4gIG1heC13aWR0aDogODB2dztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uY3ctYmctZHJvcF9maWx0ZXJfYmx1ciB7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRibHVyLXZhbHVlKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRibHVyLXZhbHVlKTtcbn1cblxuLmN3LWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMXB4IHJnYmEoJGdyYXktMjAwLCAwLjUyKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKCRncmF5LTIwMCwgMSkgIWltcG9ydGFudDtcbn1cblxuLmN3LWJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgkZ3JheS0yMDAsIDEpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1saW5lLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS0yMDAsIDEpO1xufVxuXG4uY3ctYmctb25lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuXG4uY3ctYmctdHdvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdGhyZWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUxRTFFICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1vbmUtdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkcHJpbWFyeSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdHdvLXRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHNlY29uZGFyeSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctdGhyZWUtdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYmctb25lLCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy13aGl0ZS10ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctYmxhY2stdHIsIC5jdy1iZy1kYXJrLXRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uY3ctYmctYmxhY2ssIC5jdy1iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1iZy1pbWcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGljdG8tYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uY3ctYmctZ3JhZGllbnQtb25lIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkcHJpbWFyeSAwJSwgJHByaW1hcnktZGFyayAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10d28ge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRzZWNvbmRhcnkgMCUsICRzZWNvbmRhcnktZGFyayAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10aHJlZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJHRlcnRpYXJ5IDAlLCAkdGVydGlhcnktZGFyayAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC13aGl0ZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJHdoaXRlIDAlLCAkZ3JheS0xMDAgMTAwJSkpO1xufVxuXG4uY3ctYmctZ3JhZGllbnQtZ3JheSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGdyYXktMTAwIDAlLCAkZ3JheS0yMDAgMTAwJSkpO1xufVxuXG4uY3ctYmctZ3JhZGllbnQtZGFyayB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGdyYXktODAwIDAlLCAkZ3JheS05MDAgMTAwJSkpO1xufVxuXG5bY2xhc3MqPVwiY3ctYmctZ3JhZGllbnQtXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgfVxufVxuXG4uY3ctYmctZ3JhZGllbnQtb25lLXRyYW5zcGFyZW50OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkcHJpbWFyeSwgMC42KSAwJSwgcmdiYSgkcHJpbWFyeSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10d28tdHJhbnNwYXJlbnQ6YmVmb3JlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRzZWNvbmRhcnksIDAuNikgMCUsIHJnYmEoJHNlY29uZGFyeSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC10aHJlZS10cmFuc3BhcmVudDpiZWZvcmUge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJHRlcnRpYXJ5LCAwLjYpIDAlLCByZ2JhKCR0ZXJ0aWFyeSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC13aGl0ZS10cmFuc3BhcmVudDpiZWZvcmUge1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoJHdoaXRlLCAwLjYpIDAlLCByZ2JhKCR3aGl0ZSwgMC42KSAxMDAlKSk7XG59XG5cbi5jdy1iZy1ncmFkaWVudC1ncmF5LXRyYW5zcGFyZW50OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGJhY2tncm91bmQobGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkZ3JheS0yMDAsIDAuNikgMCUsIHJnYmEoJGdyYXktMjAwLCAwLjYpIDEwMCUpKTtcbn1cblxuLmN3LWJnLWdyYWRpZW50LWRhcmstdHJhbnNwYXJlbnQ6YmVmb3JlIHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZChsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRibGFjaywgMC43KSAwJSwgcmdiYSgkYmxhY2ssIDAuNykgMTAwJSkpO1xufVxuXG4uY3ctYmVmb3JlLWFmdGVyLWZ1bGwge1xuICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbn1cblxuLmN3LWZpbHRlci1ibGFjazphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgLy9AaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCh0cmFuc3BhcmVudCAsICRibGFjaywgMCUsIDEwMCUpO1xufVxuXG5cbi5jdy1pbWctZ3JheXNjYWxlIHtcbiAgQGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSgxKSk7XG59XG5cbi5jdy1uZXdsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiAtLS0gZGlzcGxheSBub25lIGEgcGFydGlyIGRlIC4uLiBjZiBxdWVyaWVzIC0tLSAqL1xuLmZyb250IC54cy1mci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubm90LWZyb250IC54cy1uZnItaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGltcG9ydCAncXVlcmllcy9jdy1ib3gnO1xuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY3ctaWJveCB7XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5tZC1pbWctYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5sZy1pbWctYXJ0aWNsZSB7XG4gICAgbWF4LXdpZHRoOiA3OTBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG59IiwiLy8gVGFibGVhdSByZXNwb25zaXZlXG4uY3ctdGFibGUtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN3LXRhYmxlLWNvbnRhaW5lci1iZztcbiAgY29sb3I6ICRjdy10YWJsZS1jb250YWluZXItY29sb3I7XG5cbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjdy10YWJsZS1jb250YWluZXItY29sb3I7XG4gIH1cblxuICAuYnRuIHtcbiAgICBAaW5jbHVkZSBidG4tY29sb3IoJGJ0bi10d28tZm9udC1jb2xvciwgJGJ0bi10d28tZm9udC1jb2xvci1ob3Zlcik7XG4gICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oJGJ0bi1iZy10cmFuc2l0aW9uLCAkYnRuLXR3by1iZywgJGJ0bi10d28tYmctaG92ZXIsICRidG4tdHdvLWJnLW9wYWNpdHksICRidG4tdHdvLWJnLW9wYWNpdHktaG92ZXIpO1xuICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoJGJ0bi1ib3JkZXItaGVpZ2h0LCAkYnRuLXR3by1ib3JkZXItY29sb3IsICRidG4tdHdvLWJvcmRlci1jb2xvci1ob3ZlciwgJGJ0bi10d28tYm9yZGVyLWNvbG9yLW9wYWNpdHksICRidG4tdHdvLWJvcmRlci1jb2xvci1ob3Zlci1vcGFjaXR5KTtcbiAgICBwYWRkaW5nOiA3cHggN3B4O1xuICB9XG5cbiAgdGhlYWQgdHIgdGQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmN3LXRhYmxlLW1vYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN3LXRhYmxlLW1vYi1iZztcblxuICAgIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogJGN3LXRhYmxlLW1vYi1jb2xvcjtcblxuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctdGFibGUtbW9iLWJnLXRyLWNoaWxkX29kZDtcbiAgICAgIH1cblxuICAgICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMHB4IDIwcHggMTBweCAyMHB4O1xuXG4gICAgICAgIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAvL3BhZGRpbmctdG9wOiAwcHghaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKipUYWJsZWF1IGNvbXBsZXhlIC0gYmVmb3JlIC0gYWpvdXRlciBsYSBjbGFzc2UgLmN3LXRhYmxlLWNvbXBsZXggKioqL1xuJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzE6IFwiLSBNaW5pIC1cIjtcbiRjb250ZW50LWJlZm9yZS1jaGlsZF8yOiBcIi0gU3RhbmRhcmQgLVwiO1xuJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzM6IFwiLSBHcmFuZGUgLVwiO1xuXG4uY3ctdGFibGUtY29udGFpbmVyIC5jdy10YWJsZS1jb21wbGV4IHtcbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0Ym9keSB0ciB0ZCB7XG4gICAgJjpudGgtY2hpbGQoMik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjb250ZW50LWJlZm9yZS1jaGlsZF8xO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY29udGVudC1iZWZvcmUtY2hpbGRfMjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KTpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNvbnRlbnQtYmVmb3JlLWNoaWxkXzM7XG4gICAgfVxuICB9XG59XG5cblxuLm5vdC1iZWZvcmU6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0+IENsYXNzZSDDoCBham91dGVyIGF1IEhUTUwgcG91ciBlZmZhY2VyIGxlcyBiZWZvcmUgc3VyIGxlcyBjZWxsdWxlcyBhdmVjIHVuZSBjb25maWd1cmF0aW9uIGRpZmbDqXJlbnRlXG5cbi8qKiogRGV1eCB0YWJsZWF1IGRhbnMgdW5lIGNhcnRlX21lbnUgKioqL1xuLmN3LWNvbnRhaW5lci10d28tdGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC5jdy10YWJsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctdGFibGUtbW9iIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICAvL3BhZGRpbmc6MHB4IWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiA1NSUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206MHB4IWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8qKipUYWJsZWF1IGNvbXBsZXhlIC0gdGhlYWQgLSBham91dGVyIGxhIGNsYXNzZSAuY3ctdGFibGUtY29tcGxleCAqKiovXG4gIC5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYmxlLWNvbXBsZXggdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuXG5cbiAgLyoqKiBEZXV4IHRhYmxlYXUgZGFucyB1bmUgY2FydGVfbWVudSAqKiovXG4gIC5jdy1jb250YWluZXItdHdvLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLmN3LXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogVEVYVEUgQ0VOVFJFUiBTVVIgSU1HICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIElORk86IFN1cnZvbCBkJ3VuZSBpbWFnZSBhdmVjIHVuIGJhY2tncm91bmQtY29sb3Jcbi8vIFBST0pFVCBSRUYgOiBodHRwczovL2RvbWluby5jbGlrZW4td2ViLmNvbS9wcm9qZWN0LzIxMjBcbi8vIEhUTUwgOiA8ZGl2IGNsYXNzPVwiaW1nLWhvdmVyXCI+PGltZyBhbHQ9XCJcIiBjbGFzcz1cImltZy1yZXNwb25zaXZlIGltZy1jZW50ZXIgY3ctYm94c2hhZG93XCIgc3JjPVwiL3NpdGVzLzIxMjBkNzE4L2ZpbGVzL2NlcnRpZmljYXRHSUEuanBnXCIgLz48YSBocmVmPVwiXCI+Vm9pciBQbHVzICs8L2E+PC9kaXY+XG4jaW5uZXItcGFnZS1zZWN0aW9uIC5jdy1pbWctaG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJHNlY29uZGFyeSwgMC44NiksICRzZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIExPR09TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi5wYXJhZ3JhcGgtLXR5cGUtLWJsb2MtbG9nby1tdWx0aXBsZSB7XG4gIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5jb2wtbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC42cmVtO1xuICB9XG5cbiAgLmNvbC1sb2dvLWNhcHRpb25fb3V0LmZsZXgtbGctcm93IC5sb2dvLWNhcHRpb257XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIH1cblxuICAubG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAmLmxvZ28tc3F1YXJlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICB9XG5cbiAgICAmLmxvZ28tcmVjdGFuZ2xlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICB9XG4gIH1cblxuICAubG9nby1jYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICAucGFyYWdyYXBoLS10eXBlLS1ibG9jLWxvZ28tbXVsdGlwbGUge1xuICAgIC5sb2dvIHtcbiAgICAgIG1hcmdpbjogMTBweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oc20sIGxnKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2MtbG9nby1tdWx0aXBsZSB7XG4gICAgLmxvZ28ge1xuICAgICAgbWFyZ2luOiAycHggMzBweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAucGFyYWdyYXBoLS10eXBlLS1ibG9jLWxvZ28tbXVsdGlwbGUge1xuICAgIC5sb2dvLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDcxcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWJsb2MtbG9nby1tdWx0aXBsZSB7XG4gICAgLmNvbC14bC0yLmN1c3RvbS1jb2wtNSB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogUElDVE9TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbiRjdy1waWN0by1oZWlnaHQ6IDIyMHB4O1xuJGN3LXBpY3RvLXdpZHRoOiAyMjBweDtcbiRjdy1waWN0by1wOiAxMiU7XG4uY3ctcGljdG9zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICYuY3ctcGljdG9zLW10LWxlZ2VuZCB7XG4gICAgLnBpY3RvLWxlZ2VuZGUge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyOy8vQWN0aXZlciBzaSB0ZXh0ZSBjZW50ZXIgdmVydGljYWxlbWVudCAqKlxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvL2hlaWdodDogODBweDsvLyAqKlxuICAgIH1cbiAgfVxuXG4gIC5waWN0byB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIGhlaWdodDogJGN3LXBpY3RvLWhlaWdodDtcbiAgICB3aWR0aDogJGN3LXBpY3RvLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRjdy1waWN0by1wO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLy9oZWlnaHQ6IDEwMCU7IC8vIFNpIGJnIHN1ciAucGljdG8gKGltZyBldCB0ZXh0ZSBhdmVjIGZvbmQpXG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5waWN0by1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMTI5cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnBpY3RvLWxlZ2VuZGUge1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4gICAgLy9mb250LXNpemU6IDEuMnJlbTtcbiAgICAvL2xpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vY29sb3I6ICRkYXJrO1xuICAgIC8vQGluY2x1ZGUgdGV4dC1zaGFkb3coMHB4IDVweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM2KSk7XG4gICAgYiB7XG4gICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmN3LXBpY3Rvcy14cyB7XG4gID4gZGl2IHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTQwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLXNtIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTYwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLW1kIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLWxnIHtcbiAgPiBkaXYge1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctcGljdG9zLXJlY3RhbmdsZSB7XG4gID4gZGl2IHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgLnBpY3RvIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDglO1xuICAgIH1cbiAgfVxufVxuXG4uYWxsLWltZy1ncmF5c2NhbGUge1xuICBpbWcge1xuICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMTAwJSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMCUpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogUFVaWkxFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiAqKioqKioqKioqKioqKi9cbi8vIHB1enpsZSAzIGltYWdlcyDDoCBsYSBwbGFjZSBkZSBsJ2ltYWdlIHVuaXF1ZS5cbiRwdXp6bGUtaW1nLXdpZHRoOiA1MCU7XG4kcHV6emxlLWltZy1oZWlnaHQ6IDE5MHB4O1xuJHB1enpsZS1zcGFjZTogN3B4O1xuXG4kc3BhY2Vycy1wb3VyY2VudDogKCkgIWRlZmF1bHQ7XG4kc3BhY2Vycy1wb3VyY2VudDogbWFwLW1lcmdlKFxuICAgIChcbiAgICAgIDEwOiAxMCUsXG4gICAgICAyMDogMjAlLFxuICAgICAgMzA6IDMzLjMzJSxcbiAgICAgIDUwOiA1MCUsXG4gICAgICAxMDA6IDEwMCUsXG4gICAgKSxcbiAgICAkc3BhY2Vycy1wb3VyY2VudFxuKTtcblxuQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMtcG91cmNlbnQge1xuICAucHV6emxlLWltZy1oZWlnaHQtI3skc2l6ZX0ge1xuICAgICYuaW1nLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5wdXp6bGUtY29sLXdpZHRoLSN7JHNpemV9IHtcbiAgICB3aWR0aDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdy1pbWdzLXB1enpsZSB7XG4gIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5pbWctY29udGVudDpudGgtY2hpbGQobisyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRwdXp6bGUtc3BhY2V9ICogMik7XG4gICAgfVxuXG4gICAgPiBkaXY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JHB1enpsZS1zcGFjZX0gKiAyKTtcbiAgICB9XG4gIH1cblxuICAuaW1nLWJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjBiMicsIDEsIDIyNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1kYW1pZXItY2FyZHM7XG4gICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgIC8vQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMjcpO1xuICAgIH1cblxuICAgICY6aG92ZXIgLnNob3ctbW9yZSB7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWRhbWllci1jYXJkcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAxKTtcbiAgICB9XG4gIH1cblxuICAuY29sLXB1enpsZS0xLCAuY29sLXB1enpsZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMiAqICN7JHB1enpsZS1pbWctaGVpZ2h0fSk7XG4gIH1cblxuICAuY29sLXB1enpsZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMzg1cHggLyAyKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JHB1enpsZS1zcGFjZX0gKiAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBSw6lzZWF1eCBzb2NpYXV4IGR1IGZvb3RlclxuLy9cbi8vIFNWRyA6IDxhIGhyZWY9XCIjXCIgdGFyZ2V0PVwiX2JsYW5rXCI+PGkgY2xhc3M9XCJzdmcgc3ZnLWJvb2tpbmdcIj48c3ZnIHZpZXdib3g9XCIwIDAgMy4wMzYgMy4wMzdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjExMyAyLjUyNGgtLjUxdi0uNjFjMC0uMTMuMDUtLjIuMTYyLS4yMTRoLjM1YS4zOC4zOCAwIDAgMSAuNDEuNDExYzAgLjI2LS4xNTcuNDE1LS40MS40MTV6TS42MDIuODc1di0uMTZjMC0uMTQuMDYtLjIwOC4xOS0uMjE2aC4yNjJjLjIyNCAwIC4zNi4xMzQuMzYuMzYgMCAuMTctLjA5Mi4zNy0uMzUuMzdoLS40NnptMS4xNjQuNjFsLS4wOTItLjA1Mi4wOC0uMDdjLjA5NC0uMDguMjUtLjI2Mi4yNS0uNTc1IDAtLjQ4LS4zNzItLjc5LS45NDctLjc5aC0uNzNhLjMyLjMyIDAgMCAwLS4zMDkuMzE3djIuNzJIMS4wN2MuNjQgMCAxLjA1Mi0uMzQ4IDEuMDUyLS44ODggMC0uMjktLjEzMy0uNTQtLjM1OC0uNjY1XCIgZmlsbD1cIiNmZmZmZmZcIj48L3BhdGg+PHBhdGggZD1cIk0yLjI4OCAyLjY3YzAtLjIwMy4xNjMtLjM2Ny4zNjUtLjM2N3MuMzY3LjE2NC4zNjcuMzY3LS4xNjQuMzY3LS4zNjcuMzY3LS4zNjUtLjE2NC0uMzY1LS4zNjdcIiBmaWxsPVwiI2ZmZmZmZlwiPjwvcGF0aD48L3N2Zz48L2k+PC9hPlxuW2NsYXNzKj1cImN3LWZvbGxvdy11cy1cIl0ge1xuICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcblxuICBhIHtcbiAgICBjb2xvcjogJGZvb3Rlci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSA+IGkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHdpZHRoOiAkYmxvYy1yZXNlYXV4LXdpZHRoLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRibG9jLXJlc2VhdXgtd2lkdGgtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRibG9jLXJlc2VhdXgtYmc7XG4gICAgY29sb3I6ICRibG9jLXJlc2VhdXgtY29sb3I7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRibG9jLXJlc2VhdXgtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgkYmxhY2ssIDApO1xuXG4gICAgcGF0aCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGZpbGw6ICRibG9jLXJlc2VhdXgtY29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2MtcmVzZWF1eC1iZy1ob3ZlcjtcbiAgICAgIGNvbG9yOiAkYmxvYy1yZXNlYXV4LWNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggNnB4IDAgcmdiYSgkYmxhY2ssIDAuMSk7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgZmlsbDogJGJsb2MtcmVzZWF1eC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIGkuZmFiLCBhIC5zdmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGkgPiBzdmcge1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMThweDsgLy8gYnVnIGlsIHkgYSB1biBkw6ljYWxsYWdlIGVudHJlIGxhIHRhaWxsZSBkdSBzdmcgZXQgbCdpbnRlcnByw6h0YXRpb24gZHUgbmF2aWdhdGV1clxuICAgIG1heC13aWR0aDogMTAwJTsgLy9maXJlZm94XG4gICAgbWF4LWhlaWdodDogMTAwJTsgLy9maXJlZm94XG4gICAgJjpob3ZlciwgJmZvY3VzIHtcbiAgICAgIGZpbGw6ICRibG9jLXJlc2VhdXgtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi5jdy1mb2xsb3ctdXMtb25seSB7IC8vIFVuIHNldWwgcsOpc2VhdSBzb2NpYWxcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbi5jdy1mb2xsb3ctdXMtdmFyaW91cyB7IC8vIFBsdXNpZXVycyByw6lzZWF1eCBzb2NpYXV4XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gIC5jdy1mb2xsb3ctdXMtdmFyaW91cy1jb250ZW50IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKClcbn1cblxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LW1vZGVsJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICB0YWJsZS5jdy10YWJsZS1yZXNwb25zaXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHItZXZlbi1iZztcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDAuNXB4IGRhc2hlZCAkdHItZXZlbi1kYXNoO1xuICAgICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJnIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuZnJvbnQgLnNtLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLnNtLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuZnJvbnQgLm1kLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLm1kLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuZnJvbnQgLmxnLWZyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5ub3QtZnJvbnQgLmxnLW5mci1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vd3d3LnNoYXBlZGl2aWRlci5hcHAvXG5cbi8qIC0xIG91IDEgcG91ciBvcmllbnRhdGlvbiBob3Jpem9udGFsIGRlIGxhIGZvcm1lICovXG4kc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYmVmb3JlOiAtMTsgLy8gaGF1dFxuJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyOiAxOyAvLyBiYXNcblxuJHNoYXBlLWRpdmlkZXItaGVhZGVyLWJnOiB0cmFuc3BhcmVudDtcbiRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQteHM6IDI1cHg7XG4kc2hhcGUtZGl2aWRlci1oZWFkZXItaGVpZ2h0LWxnOiA3MHB4O1xuXG4kc2hhcGUtZGl2aWRlci1maXJzdC1iZzogdHJhbnNwYXJlbnQ7XG5cbiRzaGFwZS1kaXZpZGVyLW9wYWNpdHk6IDE7XG4kc2hhcGUtZGl2aWRlci1oZWlnaHQ6ICRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGc7XG5cbiRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20tY29sb3I6ICRibG9jLWFjdHUtYmc7XG4kc2hhcGUtZGl2aWRlci1qdW1ib3Ryb24tYm90dG9tLW5vdC1mcm9udC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4kc2hhcGUtZGl2aWRlci1hY3R1YWxpdGUtYm90dG9tLWNvbG9yOiAkYm9keS1iZztcbiRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LXRvcC1jb2xvcjogJGZvcmNlcy1iZztcbiRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbS1jb2xvcjogJHJlZmVyZW5jZXMtYmc7XG4kc2hhcGUtZGl2aWRlci1tYXAtdG9wLWNvbG9yOiAkcmVnaW9uLWZvb3Rlci1zZWNvbmQtYmc7XG4kc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tLWNvbG9yOiAkYm90dG9tLWJnO1xuXG4vKioqKioqKioqKioqKiogKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBCTE9DICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKiogKioqKioqKioqKioqKiovXG4vLyBoZWFkZXJcbkBpZiAkc2hhcGUtZGl2aWRlci1qdW1ib3Ryb24tYm90dG9tIHsgLy8gYmFzXG4gIC5wYXRoLWZyb250cGFnZSAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1oZWFkZXItYmcsICRzaGFwZS1kaXZpZGVyLWp1bWJvdHJvbi1ib3R0b20tY29sb3IsIDEsICRzaGFwZS1kaXZpZGVyLWhlYWRlci1oZWlnaHQtbGcpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbiAgLm5vdC1mcm9udCAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1oZWFkZXItYmcsICRicmVhZGNydW1iLWJnLCAxLCAkc2hhcGUtZGl2aWRlci1oZWFkZXItaGVpZ2h0LWxnKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyLCAtMSk7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGFjdHVhbGl0w6lzXG4uYmxvYy1hY3R1YWxpdGVzIHtcbiAgQGlmICRzaGFwZS1kaXZpZGVyLWFjdHVhbGl0ZS1ib3R0b20geyAvLyBiYXNcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKCRzaGFwZS1kaXZpZGVyLWZpcnN0LWJnLCAkc2hhcGUtZGl2aWRlci1hY3R1YWxpdGUtYm90dG9tLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsLTEpO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBwYXJhbGxheFxuQGlmICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LXRvcCB7IC8vIGhhdXRcbiAgLmJsb2NrLXBhcmFsbGF4LWZyb250IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcih0cmFuc3BhcmVudCwgJHNoYXBlLWRpdmlkZXItcGFyYWxsYXgtdG9wLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYmVmb3JlLCAxKTtcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbSB7IC8vIGJhc1xuICAuYmxvY2stcGFyYWxsYXgtZnJvbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIodHJhbnNwYXJlbnQsICRzaGFwZS1kaXZpZGVyLXBhcmFsbGF4LWJvdHRvbS1jb2xvciwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWFmdGVyLCAtMSk7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIGZvb3RlciBNQVBcbkBpZiAkc2hhcGUtZGl2aWRlci1tYXAtdG9wIHsgLy8gaGF1dFxuICAucmVnaW9uLWZvb3Rlci10aGlyZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcih0cmFuc3BhcmVudCwgJHNoYXBlLWRpdmlkZXItbWFwLXRvcC1jb2xvciwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNoYXBlLWRpdmlkZXItZGlyZWN0aW9uLWJlZm9yZSwgMSk7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tIHsgLy8gYmFzXG4gIC5yZWdpb24tZm9vdGVyLXRoaXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaGFwZS1kaXZpZGVyKHRyYW5zcGFyZW50LCAkc2hhcGUtZGl2aWRlci1tYXAtYm90dG9tLWNvbG9yLCAkc2hhcGUtZGl2aWRlci1vcGFjaXR5LCAkc2hhcGUtZGl2aWRlci1oZWlnaHQpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2hhcGUtZGl2aWRlci1kaXJlY3Rpb24tYWZ0ZXIsIC0xKTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIENMQVNTICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqICoqKioqKioqKioqKioqL1xuW2NsYXNzKj1cInNoYXBlLWRpdmlkZXItYm90dG9tLVwiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICY6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTFweDtcbiAgfVxufVxuXG5bY2xhc3MqPVwic2hhcGUtZGl2aWRlci10b3AtXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgJjpiZWZvcmUge1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4uc2hhcGUtZGl2aWRlci10b3AtZG93bi1sciB7Ly8gSEFVVCBkZSBsYSBkaXZcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICBmaWxsOiAjMGU2OWJlO1xuICB9XG59XG5cbi5zaGFwZS1kaXZpZGVyLXRvcC11cC1sciB7Ly8gSEFVVCBkZSBsYSBkaXZcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIH1cbn1cblxuLnNoYXBlLWRpdmlkZXItYm90dG9tLWRvd24tbHIgey8vIEJBUyBkZSBsYSBkaXZcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgc2hhcGUtZGl2aWRlcigkc2hhcGUtZGl2aWRlci1maXJzdC1iZywgJGJnLW9uZSwgJHNoYXBlLWRpdmlkZXItb3BhY2l0eSwgJHNoYXBlLWRpdmlkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG4gIH1cbn1cblxuLnNoYXBlLWRpdmlkZXItYm90dG9tLXVwLXJsIHsvLyBCQVMgZGUgbGEgZGl2XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNoYXBlLWRpdmlkZXIoJHNoYXBlLWRpdmlkZXItZmlyc3QtYmcsICRiZy1vbmUsICRzaGFwZS1kaXZpZGVyLW9wYWNpdHksICRzaGFwZS1kaXZpZGVyLWhlaWdodCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIH1cbn1cbiIsIi8vIENsYXNzIHBhZGRpbmcgZXQgbWFyZ2luIGVuIHB4XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2Vycy0yIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2Vycy0yIHtcbiAgICAgIEBpZiBcIiN7JHNpemV9XCIgIT0gXCIwXCIge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDbGFzcyBwYWRkaW5nIGV0IG1hcmdpbiBlbnRyZSByw6lnaW9uL2Jsb2MvYmxvY3MgZGUgdGV4dGVzXG4uY3ctcHQge1xuICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1wYiB7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmN3LXB5IHtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzO1xuICBwYWRkaW5nLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG4gIC5jdy1teTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuY3ctbXk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY3ctcHktMiB7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG4gIC5jdy1teS0yOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jdy1teS0yOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmN3LW10IHtcbiAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1tYiB7XG4gIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzO1xufVxuXG4uY3ctbXkge1xuICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcztcbiAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXM7XG59XG5cbi5jdy1teS0yIHtcbiAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMgKiAwLjY1O1xuICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcyAqIDAuNjU7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LXB0IHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAuY3ctcGIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1weSB7XG4gICAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1weS0yIHtcbiAgICBwYWRkaW5nLXRvcDogJGJldHdlZW4tem9uZXMtbGcgKiAwLjY1O1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZyAqIDAuNjU7XG4gIH1cblxuICAuY3ctbXQge1xuICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICB9XG5cbiAgLmN3LW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5jdy1teSB7XG4gICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cblxuICAuY3ctbXktMiB7XG4gICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMtbGcgKiAwLjY1O1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnICogMC42NTtcbiAgfVxufVxuIiwiLy8gRMOpY2FsbGFnZSBkZSBsJ2FuY3JlIGVuIGZvbmN0aW9uIGRlIGxhIG5hdmJhciAow6AgYWpvdXRlciBzdXIgbCdhbmNyZSlcbi5jdy1zY3JvbGwtbWFyZ2luLXRvcCB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiBjYWxjKCN7JG5hdmJhci1oZWlnaHQteHN9ICsgI3skcGFyYWdyYXBoLW1hcmdpbi1ib3R0b219KTtcbn1cblxuZGl2LmN3LXNjcm9sbC1tYXJnaW4tdG9wIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LXNjcm9sbC1tYXJnaW4tdG9wIHtcbiAgICBzY3JvbGwtbWFyZ2luLXRvcDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSArICN7JHBhcmFncmFwaC1tYXJnaW4tYm90dG9tfSk7XG4gIH1cbn1cblxuLy8gRGlzcGxheSBub25lIGVuIG5vdC1mcm9udFxuLmN3LWQtbm9uZS1uZiB7XG4gIC5ub3QtZnJvbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZC1ub25lLWxnLW5mIHtcbiAgICAubm90LWZyb250IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEZsZXhcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gIC5jdy1mbGV4LSN7JGl9IHtcbiAgICBmbGV4OiAkaSAhaW1wb3J0YW50O1xuICB9XG4gIC5ub3QtZnJvbnQgLmN3LWZsZXgtI3skaX0tbmYge1xuICAgIGZsZXg6ICRpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgIC5jdy1mbGV4LWxnLSN7JGl9IHtcbiAgICAgIGZsZXg6ICRpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ub3QtZnJvbnQgLmN3LWZsZXgtbGctI3skaX0tbmYge1xuICAgICAgZmxleDogJGkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIiRwdWNlLWJvcmRlci1jb2xvcjogI2ZmZjtcblxuLyogLS0tLS0tLS0tLS0tIEZPTlQgQ09MT1JTIC0tLS0tLS0tLS0tLSAqL1xuLmN3LXR4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRzZWNvbmRhcnkgIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmN3LXR4dC1ib2R5IHtcbiAgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtZGFyayB7XG4gIGNvbG9yOiAkZGFyayAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LWJsYWNrIHtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuXG4uY3ctZm9udC1iYXNlIHtcbiAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG59XG5cbi5jdy1mb250LWxvdWQge1xuICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jdy10eHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmN3LXR4dC1jYXBpdGFsaXplOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmN3LXR4dC11cCB7XG4gIGZvbnQtc2l6ZTogMS41ZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXVwLTIge1xuICBmb250LXNpemU6IDEuMzVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG59XG5cbi5jdy10eHQtdXAtMyB7XG4gIGZvbnQtc2l6ZTogMS4yZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xufVxuXG4uY3ctdHh0LXNoYWRvdyB7XG4gIEBpbmNsdWRlIHRleHQtc2hhZG93KDBweCA1cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zNikpO1xufVxuXG4ueHMtdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4ueHMtdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnhzLXRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uY3ctdW5kZXJsaW5lLWJlZm9yZSB7XG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gIH1cbiAgJi50ZXh0LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY3ctdW5kZXJsaW5lLWFmdGVyIHtcbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICB9XG4gICYudGV4dC1sZWZ0OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY3ctbGluZS1iYWNrZ3JvdW5kIHsgLy9tZXR0cmUgdW5lIHNwYW4gZXQgbHVpIGFqb3V0ZXIgbGEgY2xhc3MgYWZpbiBkZSBuZSBwYXMgcGVyZHJlIGxlIGNlbnRyYWdlIGV0IG1hcmdlc1xuICBAaW5jbHVkZSBsaW5lLWJhY2tncm91bmQoJGxpbmUtdGl0bGUtY29sb3IpO1xufVxuXG4uY3ctcHVjZS11bmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9wdWNlLWgxLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbn1cblxuLmN3LWJvcmRlci1sZWZ0IHtcbiAgQGluY2x1ZGUgYWZ0ZXJfbGVmdF9yaWdodC1ib3JkZXIoJGxpbmUtdGl0bGUtY29sb3IsIGxlZnQpO1xufVxuXG4uY3ctYm9yZGVyLXJpZ2h0IHtcbiAgQGluY2x1ZGUgYWZ0ZXJfbGVmdF9yaWdodC1ib3JkZXIoJGxpbmUtdGl0bGUtY29sb3IsIHJpZ2h0KTtcbn1cblxuLmZpZWxkLS1uYW1lLWJvZHkgdWw6bm90KFtjbGFzcyo9XCJjdy1pbmxpbmUtdWxcIl0pIHtcbiAgQGluY2x1ZGUgY3ctbGlzdC11bCgpO1xuICA+IGxpID4gdWwgPiBsaTpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxudWwuY3ctaW5saW5lLXVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSBhIHtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4jcGFnZS1oZWFkZXIgaS5jdy1mYS1iZy1jaXJjbGUge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICRzZWNvbmRhcnk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cbiAgJjpob3ZlciwgJjphZnRlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctdHh0JztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLnNtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmN3LWxpc3Qtc20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgLm1kLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmxnLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxnLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxnLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5sZy10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnhsLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnhsLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnhsLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC54bC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDaWJsZSBsZXMgY2xhc3MgXCJlbmZhbnRzXCJcbi5jdy1jaGlsZHJlbi1wID4gKiB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5jdy1jaGlsZHJlbi1tID4gcCB7XG4gIG1hcmdpbjogJHNwYWNlciAwO1xufVxuXG4udGV4dC1hbGlnbi1jZW50ZXIgLmN3LWNoaWxkcmVuLWhyLXcxMDAgPiBociB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ZXh0LWFsaWduLXJpZ2h0IC5jdy1jaGlsZHJlbi1oci13MTAwID4gaHIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY3ctY2hpbGRyZW4taHItdzEwMCA+IGhyIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbiAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmN3LWNoaWxkcmVuLWJveHNoYWRvdyA+ICp7XG4gIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjIsIDBweCwgMHB4LCAyNXB4LCAwcHgpO1xufVxuXG4vLyDDgCB1dGlsaXNlciBnw6luw6lyYWxlbWVudCBzdXIgbGEgcm93IGQndW5lIHN0cnVjdHVyZSBib290c3RyYXAgLnJvdyA+IC5jb2wgPiAuY29udGVudFxuLy8gQ2libGUgbGVzIGNsYXNzIFwiLmNvbnRlbnRcIlxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtYmctb25lIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXR3byAuY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXRocmVlIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyYXk7XG59XG5cbi5jdy1jaGlsZHJlbi1jb250ZW50LWJnLXdoaXRlIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1iZy1ncmF5IC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1iZy1ibGFjayAuY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtaDEwMCAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY3ctY2hpbGRyZW4tY29udGVudC1wIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1jaGlsZHJlbi1jb250ZW50LXAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDUwcHg7XG4gIH1cbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtc2hhZG93IC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcbn1cblxuLmN3LWNoaWxkcmVuLWNvbnRlbnQtcmFkaXVzIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xufVxuXG4vL1xuLmN3LWNoaWxkcmVuLXF1aW5jdW54LW1kIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1jaGlsZHJlbi1xdWluY3VueC1tZCB7XG4gICAgPiBkaXY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICA+IGRpdjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vaHR0cHM6Ly9iZW5uZXR0ZmVlbHkuY29tL2NsaXBweS9cblxuLmN3LWNsaXAtcGF0aC1jaXJjbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgoY2lyY2xlKDUwJSBhdCA1MCUgNTAlKSk7XG59XG5cbi5jdy1jbGlwLXBhdGgtdHJpYW5nbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSkpO1xufVxuXG4uY3ctY2xpcC1wYXRoLWxvc2FuZ2Uge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbig1MCUgMCUsIDEwMCUgNTAlLCA1MCUgMTAwJSwgMCUgNTAlKSk7XG59XG5cbi5jdy1jbGlwLXBhdGgtZXRvaWxlIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oNTAlIDAlLCA2MSUgMzUlLCA5OCUgMzUlLCA2OCUgNTclLCA3OSUgOTElLCA1MCUgNzAlLCAyMSUgOTElLCAzMiUgNTclLCAyJSAzNSUsIDM5JSAzNSUpKTtcbn1cblxuLmN3LWNsaXAtcGF0aC1oZXhhZ29uIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oNTAlIDAsIDEwMCUgMjclLCAxMDAlIDczJSwgNTAlIDEwMCUsIDAgNzMlLCAwIDI3JSkpO1xufVxuXG4uY2xpcC1wYXRoLTEtZG91YmxlIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCA1JSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgOTUlKSk7XG59XG5cbi5jbGlwLXBhdGgtMi1kb3VibGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgNSUsIDEwMCUgOTUlLCAwIDEwMCUpKTtcbn1cblxuLmNsaXAtcGF0aC0zLWRvdWJsZS1wYXJhbGxlbGUge1xuICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgOTUlLCAwJSAxMDAlKSk7XG59XG5cbi5jbGlwLXBhdGgtYm90dG9tLXVwLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgOTUlLCAwIDEwMCUpKTtcbn1cblxuLmNsaXAtcGF0aC1ib3R0b20tZG93bi1sciB7XG4gIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgOTUlKSk7XG59XG5cbi5jbGlwLXBhdGgtdG9wLXVwLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCA1JSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSkpO1xufVxuXG4uY2xpcC1wYXRoLXRvcC1kb3duLWxyIHtcbiAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDUlLCAxMDAlIDEwMCUsIDAlIDEwMCUpKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY2xpcC1wYXRoLTEtZG91YmxlIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDEyJSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgODglKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC0yLWRvdWJsZSB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDEyJSwgMTAwJSA4OCUsIDAgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtMy1kb3VibGUtcGFyYWxsZWxlIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDEyJSwgMTAwJSAwLCAxMDAlIDg4JSwgMCUgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtYm90dG9tLXVwLWxyIHtcbiAgICBAaW5jbHVkZSBjbGlwLXBhdGgocG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA4OCUsIDAgMTAwJSkpO1xuICB9XG4gIC5jbGlwLXBhdGgtYm90dG9tLWRvd24tbHIge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgODglKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC10b3AtdXAtbHIge1xuICAgIEBpbmNsdWRlIGNsaXAtcGF0aChwb2x5Z29uKDAgMTIlLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCAxMDAlKSk7XG4gIH1cbiAgLmNsaXAtcGF0aC10b3AtZG93bi1sciB7XG4gICAgQGluY2x1ZGUgY2xpcC1wYXRoKHBvbHlnb24oMCAwLCAxMDAlIDEyJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSk7XG4gIH1cbn0iLCIubm9kZS0tdHlwZS1nYWxlcmllLCAuZ2FsZXJpZS1zZWN0aW9uIHtcbiAgLmZpZWxkLS10eXBlLWltYWdlLmZpZWxkX19pdGVtLCAuZmllbGQtLXR5cGUtaW1hZ2UgLmZpZWxkX19pdGVtIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XG4gICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xNSwgMHB4LCAwLjVyZW0sIDFyZW0sIDBweCk7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC0tdHlwZS1pbWFnZS5maWVsZF9faXRlbSwgLmZpZWxkLS10eXBlLWltYWdlIC5maWVsZF9faXRlbSB7XG4gIC5jb2xvcmJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY3ctaW1nLXNob3ctbW9yZSgnXFxmMGIyJywgMSwgMjI1KTtcbiAgfVxufVxuXG4uY29sb3Jib3guY29sb3Jib3gtem9vbSB7XG4gIC5pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSAhaW1wb3J0YW50O1xuICB9XG4gIC5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjAwMicgIWltcG9ydGFudDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEpIGJsdXIoMHB4KTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAuc2hvdy1tb3JlIHtcbiAgICAgIC5pY29uOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Nib3hPdmVybGF5IHtcbiAgb3BhY2l0eTogMC45NSFpbXBvcnRhbnQ7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCAxNSUpO1xufVxuI2NvbG9yYm94IHtcbiAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICNjYm94V3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgI2Nib3hDb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2xvcmJveC1mb250O1xuICAgICAgZm9udC1zaXplOiAkY29sb3Jib3gtZm9udC1zaXplO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzLjEyNWVtIHJnYmEoMCwgMCwgMCwgLjk1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIH1cbiAgICAgICNjYm94TG9hZGVkQ29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI2Nib3hMb2FkaW5nT3ZlcmxheSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwZDBkMGQ7XG4gICAgICB9XG4gICAgICAjY2JveFRpdGxlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICB9XG4gICAgICAjY2JveExvYWRpbmdHcmFwaGljIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6OmFmdGVye1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiA1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgY29udGVudDogXCJcXGYxMTBcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnV0dG9uI2Nib3hQcmV2aW91cywgYnV0dG9uI2Nib3hOZXh0LCBidXR0b24jY2JveENsb3NlIHtcbiAgICAgICAgYm90dG9tOiAtMzRweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICAgICNjYm94Q3VycmVudCB7XG4gICAgICAgIGJvdHRvbTogLTMycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKiogRkxFQ0hFUyBDT0xPUkJPWCAqKioqKioqKioqKioqL1xuXG4jY2JveEN1cnJlbnQsICNjYm94Q2xvc2Uge1xuICBib3R0b206IC0xcHg7XG59XG5cbmJ1dHRvbiNjYm94UHJldmlvdXMsXG5idXR0b24jY2JveE5leHQsXG5idXR0b24jY2JveENsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IHVuc2V0O1xuICB0ZXh0LWluZGVudDogdW5zZXQ7XG4gIGJvdHRvbTogLTRweDtcblxuICAmOjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuYnV0dG9uI2Nib3hQcmV2aW91cyB7XG4gIGxlZnQ6IC0zNHB4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjBhOFwiO1xuICB9XG59XG5cbmJ1dHRvbiNjYm94TmV4dCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjBhOVwiO1xuICB9XG59XG5cbiNjYm94Q3VycmVudCB7XG4gIGxlZnQ6IDc0cHg7XG4gIGNvbG9yOiAkZ3JheS02MDA7XG59XG5cbmJ1dHRvbiNjYm94Q2xvc2Uge1xuICB3aWR0aDogdW5zZXQ7XG4gIHJpZ2h0OiAycHg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG4gIH1cbn1cblxuIiwiJGZvcm0tYW5pbS1zaXplOiAxcHg7XG5cbkBpZiAkZm9ybS1hbmltLWxpbmUgPT0gYWxsIGFuZCAkcmFkaXVzLWJ0biAhPSAwIHsgLy8gc2kgcmFkaXVzIG9ibGlnYXRvaXJlbWVudCBib3R0b21cbiAgJGZvcm0tYW5pbS1saW5lOiBib3R0b207XG59XG5cbkBpZiAkZm9ybS1hbmltLWxpbmUgPT0gYm90dG9tIE9SICRmb3JtLWFuaW0tbGluZSA9PSBhbGwge1xuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICAgIC5mb3JtLXR5cGUtc2VsZWN0IC5jb250YWluZXItZmllbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyAuY29udGFpbmVyLWZpZWxkIHtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaW5lLWZvcm0tY29sb3IsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjI1cyBlYXNlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZvcm0tYW5pbS1saW5lID09IGJvdHRvbSB7XG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogJGZvcm0tYW5pbS1zaXplO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgcmlnaHQpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC41cyBlYXNlKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRmb3JtLWFuaW0tbGluZSA9PSBhbGwge1xuICAgICAgLmNvbnRhaW5lci1maWVsZCB7XG4gICAgICAgIGlucHV0Om5vdCguZm9ybS1maWxlKSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQpO1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMgfiAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihib3R0b20sIGxlZnQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgxKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmb2N1cyB+IC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzIH4gLmZpZWxkLWFuaW0tbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCwgbGVmdCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVZKDEpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tYm90dG9tLFxuICAgICAgLmZpZWxkLWFuaW0tdG9wIHtcbiAgICAgICAgaGVpZ2h0OiAkZm9ybS1hbmltLXNpemU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLWFuaW0tbGVmdCxcbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWFuaW0tc2l6ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVkoMCkpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS1ib3R0b20ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oYm90dG9tLCByaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCByaWdodCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC4yMHMpO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtYW5pbS10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wLCBsZWZ0KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kZWxheSgwLjMwcyk7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1hbmltLWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGJvdHRvbSwgbGVmdCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoMC40MHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay13Zi1jb250YWN0IFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3QsICRsaW5lLWZvcm0tY29sb3Itb3BhY2l0eSk7XG4gIH1cblxuICAuZmxiLWJsb2NrIFtjbGFzcyo9XCJmaWVsZC1hbmltLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWZsb2F0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFBhcyBkZSBmb25kIGp1c3RlIHVuZSBib3JkdXJlIGVuIGJvdHRvbVxuQGlmICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlclwiIE9SICRmb3JtLWFuaW0tbGluZSA9PSBcImJvcmRlci1ib3R0b21cIiB7XG4gIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvciwgJGxpbmUtZm9ybS1jb2xvci1vcGFjaXR5KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAgIC5mb3JtLWNvbnRyb2w6bm90KFtjbGFzcyo9XCJidXR0b25cIl0pIHtcbiAgICAgICN7JGZvcm0tYW5pbS1saW5lfTogc29saWQgJGZvcm0tYW5pbS1zaXplIHJnYmEoJGxpbmUtZm9ybS1jb2xvci1ibG9jay1jb250YWN0LCAkbGluZS1mb3JtLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbmltYXRpb25zIGZyb20gQW5pbWF0ZS5jc3Ncbi8vIEF1dGhvciA6IERhbiBFZGVuXG4vLyBVUkwgICAgOiBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlL1xuLy9cbi8vIEF0dGVudGlvbiBzZWVrZXJzXG4vLyAgLSBmbGFzaCBib3VuY2Ugc2hha2UgdGFkYSBzd2luZyB3b2JibGUgcHVsc2Vcbi8vIEZhZGluZyBlbnRyYW5jZXNcbi8vICAtIGZhZGVJbiBmYWRlSW5VcCBmYWRlSW5Eb3duIGZhZGVJbkxlZnQgZmFkZUluUmlnaHQgZmFkZUluVXBCaWcgZmFkZUluRG93bkJpZyBmYWRlSW5MZWZ0QmlnIGZhZGVJblJpZ2h0QmlnXG4vLyBGYWRpbmcgZXhpdHNcbi8vICAtIGZhZGVPdXQgZmFkZU91dFVwIGZhZGVPdXREb3duIGZhZGVPdXRMZWZ0IGZhZGVPdXRSaWdodCBmYWRlT3V0VXBCaWcgZmFkZU91dERvd25CaWcgZmFkZU91dExlZnRCaWcgZmFkZU91dFJpZ2h0QmlnXG4vLyBCb3VuY2luZyBlbnRyYW5jZXNcbi8vICAtIGJvdW5jZUluIGJvdW5jZUluRG93biBib3VuY2VJblVwIGJvdW5jZUluTGVmdCBib3VuY2VJblJpZ2h0XG4vLyBCb3VuY2luZyBleGl0c1xuLy8gIC0gYm91bmNlT3V0IGJvdW5jZU91dERvd24gYm91bmNlT3V0VXAgYm91bmNlT3V0TGVmdCBib3VuY2VPdXRSaWdodFxuLy8gUm90YXRpbmcgZW50cmFuY2VzXG4vLyAgLSByb3RhdGVJbiByb3RhdGVJbkRvd25MZWZ0IHJvdGF0ZUluRG93blJpZ2h0IHJvdGF0ZUluVXBMZWZ0IHJvdGF0ZUluVXBSaWdodFxuLy8gUm90YXRpbmcgZXhpdHNcbi8vICAtIHJvdGF0ZU91dCByb3RhdGVPdXREb3duTGVmdCByb3RhdGVPdXREb3duUmlnaHQgcm90YXRlT3V0VXBMZWZ0IHJvdGF0ZU91dFVwUmlnaHRcbi8vIExpZ2h0c3BlZWRcbi8vICAtIGxpZ2h0U3BlZWRJbiBsaWdodFNwZWVkT3V0XG4vLyBTcGVjaWFsc1xuLy8gIC0gaGluZ2Ugcm9sbEluIHJvbGxPdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImNvcmVcIjtcbkBpbXBvcnQgXCJhbmltYXRlL2F0dGVudGlvbi1zZWVrZXJzXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9ib3VuY2luZ1wiO1xuQGltcG9ydCBcImFuaW1hdGUvZmFkaW5nXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZS9mbGlwcGVyc1wiO1xuQGltcG9ydCBcImFuaW1hdGUvbGlnaHRzcGVlZFwiO1xuQGltcG9ydCBcImFuaW1hdGUvcm90YXRpbmdcIjtcbkBpbXBvcnQgXCJhbmltYXRlL3NwZWNpYWxzXCI7XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBBbmltYXRpb25zLlxuXG4vLyBBcHBseSBhbiBhbmltYXRpb24gcHJvcGVydHkgYW5kIHZhbHVlIHdpdGggdGhlIGNvcnJlY3QgYnJvd3NlciBzdXBwb3J0XG5AbWl4aW4gYW5pbWF0aW9uLXN1cHBvcnQoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLCAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QgLWtodG1sLCBvZmZpY2lhbCk7IH1cblxuLy8gTmFtZSBvZiBhbnkgYW5pbWF0aW9uIGFzIGEgc3RyaW5nLlxuJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRHVyYXRpb24gb2YgdGhlIGVudGlyZSBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kdXJhdGlvbiAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERlbGF5IGZvciBzdGFydCBvZiBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kZWxheSAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSB0aW1pbmcgZnVuY3Rpb24ocykgdG8gYmUgdXNlZCBiZXR3ZWVuIGtleWZyYW1lcy4gW2Vhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyKV1cbiRkZWZhdWx0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBudW1iZXIgb2YgdGltZXMgYW4gYW5pbWF0aW9uIGN5Y2xlIGlzIHBsYXllZC4gW2luZmluaXRlIHwgJG51bWJlcl1cbiRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgb3Igbm90IHRoZSBhbmltYXRpb24gc2hvdWxkIHBsYXkgaW4gcmV2ZXJzZSBvbiBhbHRlcm5hdGUgY3ljbGVzLiBbbm9ybWFsIHwgYWx0ZXJuYXRlXVxuJGRlZmF1bHQtYW5pbWF0aW9uLWRpcmVjdGlvbiAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hhdCB2YWx1ZXMgYXJlIGFwcGxpZWQgYnkgdGhlIGFuaW1hdGlvbiBvdXRzaWRlIHRoZSB0aW1lIGl0IGlzIGV4ZWN1dGluZy4gW25vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhdXG4kZGVmYXVsdC1hbmltYXRpb24tZmlsbC1tb2RlICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIHRoZSBhbmltYXRpb24gaXMgcnVubmluZyBvciBwYXVzZWQuIFtydW5uaW5nIHwgcGF1c2VkXVxuJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ3JlYXRlIGEgbmFtZWQgYW5pbWF0aW9uIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgbGF0ZXIuXG4vL1xuLy8gICAgICRuYW1lICAgIC0gVGhlIG5hbWUgb2YgeW91ciBhbmltYXRpb24uXG4vLyAgICAgQGNvbnRlbnQgLSBUaGUga2V5ZnJhbWVzIG9mIHRoZSBhbmltYXRpb24uXG5AbWl4aW4ga2V5ZnJhbWVzKFxuICAkbmFtZSxcbiAgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsOiB0cnVlXG4pIHtcbiAgQGlmICRtb3oge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvcigkbW96OiB0cnVlKSB7XG4gICAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJHdlYmtpdCB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCR3ZWJraXQ6IHRydWUpIHtcbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkbyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRvOiB0cnVlKSB7XG4gICAgICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRtcyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtczogdHJ1ZSkge1xuICAgICAgQC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGtodG1sIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJGtodG1sOiB0cnVlKSB7XG4gICAgICBALWtodG1sLWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkb2ZmaWNpYWwge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvciB7XG4gICAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gbmFtZXMuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUsICRuYW1lLTI6IGZhbHNlLCAkbmFtZS0zOiBmYWxzZSwgJG5hbWUtNDogZmFsc2UsICRuYW1lLTU6IGZhbHNlLCAkbmFtZS02OiBmYWxzZSwgJG5hbWUtNzogZmFsc2UsICRuYW1lLTg6IGZhbHNlLCAkbmFtZS05OiBmYWxzZSwgJG5hbWUtMTA6IGZhbHNlKSB7XG4gICRuYW1lOiBjb21wYWN0KCRuYW1lLTEsICRuYW1lLTIsICRuYW1lLTMsICRuYW1lLTQsICRuYW1lLTUsICRuYW1lLTYsICRuYW1lLTcsICRuYW1lLTgsICRuYW1lLTksICRuYW1lLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLW5hbWUsICRuYW1lKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkdXJhdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbi0yOiBmYWxzZSwgJGR1cmF0aW9uLTM6IGZhbHNlLCAkZHVyYXRpb24tNDogZmFsc2UsICRkdXJhdGlvbi01OiBmYWxzZSwgJGR1cmF0aW9uLTY6IGZhbHNlLCAkZHVyYXRpb24tNzogZmFsc2UsICRkdXJhdGlvbi04OiBmYWxzZSwgJGR1cmF0aW9uLTk6IGZhbHNlLCAkZHVyYXRpb24tMTA6IGZhbHNlKSB7XG4gICRkdXJhdGlvbjogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gZGVsYXlzLlxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXktMjogZmFsc2UsICRkZWxheS0zOiBmYWxzZSwgJGRlbGF5LTQ6IGZhbHNlLCAkZGVsYXktNTogZmFsc2UsICRkZWxheS02OiBmYWxzZSwgJGRlbGF5LTc6IGZhbHNlLCAkZGVsYXktODogZmFsc2UsICRkZWxheS05OiBmYWxzZSwgJGRlbGF5LTEwOiBmYWxzZSkge1xuICAkZGVsYXk6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXkpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9uLTI6IGZhbHNlLCAkZnVuY3Rpb24tMzogZmFsc2UsICRmdW5jdGlvbi00OiBmYWxzZSwgJGZ1bmN0aW9uLTU6IGZhbHNlLCAkZnVuY3Rpb24tNjogZmFsc2UsICRmdW5jdGlvbi03OiBmYWxzZSwgJGZ1bmN0aW9uLTg6IGZhbHNlLCAkZnVuY3Rpb24tOTogZmFsc2UsICRmdW5jdGlvbi0xMDogZmFsc2UpIHtcbiAgJGZ1bmN0aW9uOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gaXRlcmF0aW9uIGNvdW50cy5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRjb3VudC0xOiAkZGVmYXVsdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkY291bnQtMjogZmFsc2UsICRjb3VudC0zOiBmYWxzZSwgJGNvdW50LTQ6IGZhbHNlLCAkY291bnQtNTogZmFsc2UsICRjb3VudC02OiBmYWxzZSwgJGNvdW50LTc6IGZhbHNlLCAkY291bnQtODogZmFsc2UsICRjb3VudC05OiBmYWxzZSwgJGNvdW50LTEwOiBmYWxzZSkge1xuICAkY291bnQ6IGNvbXBhY3QoJGNvdW50LTEsICRjb3VudC0yLCAkY291bnQtMywgJGNvdW50LTQsICRjb3VudC01LCAkY291bnQtNiwgJGNvdW50LTcsICRjb3VudC04LCAkY291bnQtOSwgJGNvdW50LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJGNvdW50KTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkaXJlY3Rpb25zLlxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uLTI6IGZhbHNlLCAkZGlyZWN0aW9uLTM6IGZhbHNlLCAkZGlyZWN0aW9uLTQ6IGZhbHNlLCAkZGlyZWN0aW9uLTU6IGZhbHNlLCAkZGlyZWN0aW9uLTY6IGZhbHNlLCAkZGlyZWN0aW9uLTc6IGZhbHNlLCAkZGlyZWN0aW9uLTg6IGZhbHNlLCAkZGlyZWN0aW9uLTk6IGZhbHNlLCAkZGlyZWN0aW9uLTEwOiBmYWxzZSkge1xuICAkZGlyZWN0aW9uOiBjb21wYWN0KCRkaXJlY3Rpb24tMSwgJGRpcmVjdGlvbi0yLCAkZGlyZWN0aW9uLTMsICRkaXJlY3Rpb24tNCwgJGRpcmVjdGlvbi01LCAkZGlyZWN0aW9uLTYsICRkaXJlY3Rpb24tNywgJGRpcmVjdGlvbi04LCAkZGlyZWN0aW9uLTksICRkaXJlY3Rpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBmaWxsIG1vZGVzLlxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGUtMjogZmFsc2UsICRtb2RlLTM6IGZhbHNlLCAkbW9kZS00OiBmYWxzZSwgJG1vZGUtNTogZmFsc2UsICRtb2RlLTY6IGZhbHNlLCAkbW9kZS03OiBmYWxzZSwgJG1vZGUtODogZmFsc2UsICRtb2RlLTk6IGZhbHNlLCAkbW9kZS0xMDogZmFsc2UpIHtcbiAgJG1vZGU6IGNvbXBhY3QoJG1vZGUtMSwgJG1vZGUtMiwgJG1vZGUtMywgJG1vZGUtNCwgJG1vZGUtNSwgJG1vZGUtNiwgJG1vZGUtNywgJG1vZGUtOCwgJG1vZGUtOSwgJG1vZGUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZSk7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gcGxheSBzdGF0ZXMuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGUtMjogZmFsc2UsICRzdGF0ZS0zOiBmYWxzZSwgJHN0YXRlLTQ6IGZhbHNlLCAkc3RhdGUtNTogZmFsc2UsICRzdGF0ZS02OiBmYWxzZSwgJHN0YXRlLTc6IGZhbHNlLCAkc3RhdGUtODogZmFsc2UsICRzdGF0ZS05OiBmYWxzZSwgJHN0YXRlLTEwOiBmYWxzZSkge1xuICAkc3RhdGU6IGNvbXBhY3QoJHN0YXRlLTEsICRzdGF0ZS0yLCAkc3RhdGUtMywgJHN0YXRlLTQsICRzdGF0ZS01LCAkc3RhdGUtNiwgJHN0YXRlLTcsICRzdGF0ZS04LCAkc3RhdGUtOSwgJHN0YXRlLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZSk7IH1cblxuLy8gU2hvcnRjdXQgdG8gYXBwbHkgYSBuYW1lZCBhbmltYXRpb24gdG8gYW4gZWxlbWVudCwgd2l0aCBhbGwgdGhlIHNldHRpbmdzLlxuLy9cbi8vICAgICAkYW5pbWF0aW9uLTEgICA6IE5hbWUgYW5kIHNldHRpbmdzIGZvciB0aGUgZmlyc3QgYW5pbWF0aW9uLiBbPHZhbHVlcz4gfCBkZWZhdWx0XVxuLy8gICAgIC4uLlxuLy8gICAgICRhbmltYXRpb24tMTAgIDogTmFtZSBhbmQgc2V0dGluZ3MgZm9yIHRoZSB0ZW50aCBhbmltYXRpb24uIDx2YWx1ZXM+XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24tMTogZGVmYXVsdCwgJGFuaW1hdGlvbi0yOiBmYWxzZSwgJGFuaW1hdGlvbi0zOiBmYWxzZSwgJGFuaW1hdGlvbi00OiBmYWxzZSwgJGFuaW1hdGlvbi01OiBmYWxzZSwgJGFuaW1hdGlvbi02OiBmYWxzZSwgJGFuaW1hdGlvbi03OiBmYWxzZSwgJGFuaW1hdGlvbi04OiBmYWxzZSwgJGFuaW1hdGlvbi05OiBmYWxzZSwgJGFuaW1hdGlvbi0xMDogZmFsc2UpIHtcbiAgQGlmICRhbmltYXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkYW5pbWF0aW9uLTE6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUsICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlKSk7IH1cbiAgJGFuaW1hdGlvbjogY29tcGFjdCgkYW5pbWF0aW9uLTEsICRhbmltYXRpb24tMiwgJGFuaW1hdGlvbi0zLCAkYW5pbWF0aW9uLTQsICRhbmltYXRpb24tNSwgJGFuaW1hdGlvbi02LCAkYW5pbWF0aW9uLTcsICRhbmltYXRpb24tOCwgJGFuaW1hdGlvbi05LCAkYW5pbWF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLCAkYW5pbWF0aW9uKTsgfVxuIiwiQG1peGluIHNldC1leHBlcmltZW50YWwtc3VwcG9ydCgkbW96OiBmYWxzZSwgJHdlYmtpdDogZmFsc2UsICRtczogZmFsc2UsICRvOiBmYWxzZSwgJGtodG1sOiBmYWxzZSkge1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGE6ICRtb3o7XG4gICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0OiAkd2Via2l0O1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdDogJG1zO1xuICAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhOiAkbztcbiAgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDogJGtodG1sO1xufVxuXG5AbWl4aW4gd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtb3o6IGZhbHNlLCAkd2Via2l0OiBmYWxzZSwgJG1zOiBmYWxzZSwgJG86IGZhbHNlLCAka2h0bWw6IGZhbHNlKSB7XG4gIC8vIENhcHR1cmUgdGhlIGN1cnJlbnQgc3RhdGVcbiAgJG9yaWdpbmFsLW1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLW86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1tczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1raHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG1veiwgJHdlYmtpdCwgJG1zLCAkbywgJGtodG1sKTtcblxuICBAY29udGVudDtcblxuICBAaW5jbHVkZSBzZXQtZXhwZXJpbWVudGFsLXN1cHBvcnQoJG9yaWdpbmFsLW1veiwgJG9yaWdpbmFsLXdlYmtpdCwgJG9yaWdpbmFsLW1zLCAkb3JpZ2luYWwtbywgJG9yaWdpbmFsLWtodG1sKTtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGFzaCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2UpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMTVweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHNoYWtlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXModGFkYSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpKTsgfVxuICAyMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDMwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDcwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDkwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkgcm90YXRlKDApKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoc3dpbmcpIHtcbiAgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBjZW50ZXIpOyB9XG4gIDIwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMGRlZyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdvYmJsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpKTsgfVxuICA0NSUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZykpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZykpOyB9XG4gIDc1JSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpKTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhwdWxzZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cbiAgICBcbiAgICBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHdpZ2dsZSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgQGluY2x1ZGUgc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNrZXdYKDBkZWcpOyB9IH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJib3VuY2luZy9ib3VuY2luZy1leGl0c1wiO1xuQGltcG9ydCBcImJvdW5jaW5nL2JvdW5jaW5nLWVudHJhbmNlc1wiOyIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHNjYWxlKDAuMyk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dFVwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZU91dExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VPdXRSaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW4pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgc2NhbGUoMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHNjYWxlKDEpOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkRvd24pIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGJvdW5jZUluVXApIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlSW5SaWdodCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2VJbkxlZnQpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgtMjAwMHB4KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgzMHB4KTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH0gfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZmFkaW5nL2ZhZGluZy1leGl0c1wiO1xuQGltcG9ydCBcImZhZGluZy9mYWRpbmctZW50cmFuY2VzXCI7IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dCkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0VXApIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0RG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlT3V0TGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRVcEJpZykge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dERvd25CaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZU91dFJpZ2h0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVPdXRMZWZ0QmlnKSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJbikge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5VcCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgyMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZhZGVJblJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmYWRlSW5MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluVXBCaWcpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluRG93bkJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWSgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluUmlnaHRCaWcpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgyMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmFkZUluTGVmdEJpZykge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlWCgwKTsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDQwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1vdXQpO1xuICB9XG4gIDUwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSkpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbik7XG4gIH1cbiAgODAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KSk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpKTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4pO1xuICB9XG59XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMoZmxpcEluWCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpKTtcbiAgfVxuICA3MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZykpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBPdXRYKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGZsaXBJblkpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKSk7XG4gIH1cbiAgNzAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpKTtcbiAgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gIH1cbn1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhmbGlwT3V0WSkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGxpZ2h0U3BlZWRJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICA2MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuICA4MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMobGlnaHRTcGVlZE91dCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpKTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZykpO1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7IH0gfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInJvdGF0aW5nL3JvdGF0aW5nLWV4aXRzXCI7XG5AaW1wb3J0IFwicm90YXRpbmcvcm90YXRpbmctZW50cmFuY2VzXCI7XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXREb3duTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcExlZnQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvdGF0ZU91dERvd25SaWdodCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVPdXRVcFJpZ2h0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHJpZ2h0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbikge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGNlbnRlciBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJbkRvd25MZWZ0KSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKGxlZnQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwTGVmdCkge1xuICAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihsZWZ0IGJvdHRvbSk7XG4gICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb3RhdGVJblVwUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBrZXlmcmFtZXMocm90YXRlSW5Eb3duUmlnaHQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgYm90dG9tKTtcbiAgICBAaW5jbHVkZSByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCBib3R0b20pO1xuICAgIEBpbmNsdWRlIHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKGhpbmdlKSB7XG4gIDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgMjAlLCA2MCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZSg4MGRlZyk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbih0b3AgbGVmdCk7XG4gICAgQGluY2x1ZGUgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7IH1cbiAgNDAlIHtcbiAgICBAaW5jbHVkZSByb3RhdGUoNjBkZWcpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4odG9wIGxlZnQpO1xuICAgIEBpbmNsdWRlIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZS1pbi1vdXQpOyB9XG4gIDgwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKSk7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKHRvcCBsZWZ0KTtcbiAgICBAaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UtaW4tb3V0KTsgfVxuICAxMDAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGVZKDcwMHB4KTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDApOyB9IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbmNsdWRlIGtleWZyYW1lcyhyb2xsSW4pIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSgxKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKSk7IH0gfVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUga2V5ZnJhbWVzKHJvbGxPdXQpIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZykpOyB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKSk7IH0gfVxuIiwiLy8gTW9iaWxlIGZpcnN0XG4ubm9kZS0tdHlwZS1hY3R1YWxpdGUsXG4ubm9kZS0tdHlwZS1yZWZlcmVuY2UsXG4ubm9kZS0tdHlwZS1zb3JlZi1hcnRpY2xlIHtcbiAgI21haW4td3JhcHBlciB7XG5cbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL2N3LWJvZHktZGVmYXVsdCc7IiwiLy8gVXAgdG8gOTkycHhcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vZGUtLXR5cGUtYWN0dWFsaXRlLFxuICAubm9kZS0tdHlwZS1yZWZlcmVuY2UsXG4gIC5ub2RlLS10eXBlLXNvcmVmLWFydGljbGUsXG4gIC5ub2RlLS10eXBlLXBhZ2Utc29yZWYge1xuICAgICNtYWluLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDg1MHB4KTtcbiAgICB9XG4gIH1cbn1cblxuIiwiLmN3LWJyZWFkY3J1bWIge1xuICBmb250LWZhbWlseTogJGJyZWFkY3J1bWItZm9udDtcbiAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1mb250LXNpemU7XG4gIGJhY2tncm91bmQ6ICRicmVhZGNydW1iLWJnO1xuICBAaWYgKCRicmVhZGNydW1iLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRicmVhZGNydW1iLWdyYWRpZW50LWRlZywgJGJyZWFkY3J1bWItYmcgJGJyZWFkY3J1bWItZ3JhZGllbnQtc3RhcnQsICRicmVhZGNydW1iLWJnLWVuZCAkYnJlYWRjcnVtYi1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuLy8gIC5jdy1icmVhZGNydW1iIHtcbi8vICAgIC5icmVhZGNydW1iIHtcbi8vICAgICAgbWF4LXdpZHRoOiA3MCU7XG4vLyAgICB9XG4vLyAgfVxuLy99XG4iLCJAbWl4aW4gY3ctY2FyZHMtaHoge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IGF1dG87XG59XG5cbi5jdy1jYXJkcy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcblxuICAudGl0bGUtaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgfVxufVxuXG4uY3ctY2FyZC1yb3dzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3ctY2FyZC10aHVtYiB7XG4gIEBpbmNsdWRlIGN3LWltZy1zaG93LW1vcmUoJ1xcZjA2ZScsIDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRodW1iO1xufVxuXG4uY3ctY2FyZC1kYXRlIHtcbiAgZm9udC1mYW1pbHk6ICRjdy1jYXJkcy1kYXRlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN3LWNhcmRzLWRhdGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtZGF0ZS10ZXh0LXRyYW5zZm9ybTtcbiAgZm9udC1zaXplOiAkY3ctY2FyZHMtZGF0ZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtZGF0ZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRjdy1jYXJkcy1kYXRlLWxldHRlci1zcGFjaW5nO1xuICBjb2xvcjogJGN3LWNhcmQtZGF0ZS1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAkY3ctY2FyZHMtbWFyZ2luLWJvdHRvbS1kYXRlO1xuICBAaWYgKCRjdy1jYXJkLWRhdGUtaWNvbikge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4uY3ctY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkY3ctY2FyZHMtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGl0bGUtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkY3ctY2FyZHMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJGN3LWNhcmRzLXRpdGxlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGN3LWNhcmRzLW1hcmdpbi1ib3R0b20tdGl0bGU7XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1jYXJkcy10aXRsZS1mb250LXdlaWdodDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS10aXRsZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jdy1jYXJkLXRleHQge1xuICBmb250LWZhbWlseTogJGN3LWNhcmRzLXRleHQtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtdGV4dC1mb250LXdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06ICRjdy1jYXJkcy10ZXh0LXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy10ZXh0LWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gIG1hcmdpbi1ib3R0b206ICRjdy1jYXJkcy1tYXJnaW4tYm90dG9tLXRleHQ7XG59XG5cbi8vIE9QVElPTlxuQGlmICRjdy1jYXJkcy1pbWctc2hhZG93IHtcbiAgLmN3LWNhcmQge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnO1xuICB9XG5cbiAgLy8gR2VzdGlvbiBkZXMgcGFkZGluZyBzdXIgbGUgYmxvYyBjYXJvdXNlbCBwZXJtZXR0YW50IGRlcyBvbWJyZXMgcGx1cyDDqXRlbmR1IHN1ciBsZXMgY2FyZHNcbiAgLmJsb2MtY2Fyb3VzZWwge1xuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDBweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS1saXN0aW5nIHtcbiAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gIH1cbn1cbiIsIi8vIE1JWElOIGN3LWNhcmRzLWFuZHJvbWVkZVxuQG1peGluIGN3LWNhcmRzLWFuZHJvbWVkZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICAuY3ctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICBtYXJnaW46IDU1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkY3ctY2FyZC1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1jYXJkLXRodW1iIHtcbiAgICB0b3A6IC0zMXB4O1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgLmN3LWNhcmQtdGh1bWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAvL1xuXG4gIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGN3LWNhcmRzLW1hcmdpbi10b3Atc3VtbWFyeSAzMHB4IDMwcHg7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgaGVpZ2h0OiAxM3JlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC5jdy1jYXJkLXRleHQge1xuICAgIGNvbG9yOiAkYmxvYy1hY3R1LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGN3LWNhcmRzLXRleHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY3ctY2FyZHMtdGV4dC1saW5lLWhlaWdodDtcbiAgfVxuXG4gIC5jdy1jYXJkLWRhdGUge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1kYXRlLWJnO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY3ctY2FyZC1zaG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgYm90dG9tOiAtMjBweDtcblxuICAgIC5idG4ge1xuICAgICAgY29sb3I6ICRibG9jLWFjdHUtbGluaztcbiAgICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgICAgbWFyZ2luOiA1NXB4IDEwcHg7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgIGhlaWdodDogOXJlbTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAudmlldy1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMjAwcHgpO1xuICAgIH1cblxuICAgIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgICAgZmxleDogMTtcblxuICAgICAgLmN3LWNhcmQtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDMxJTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmICRidG4tYm9yZGVyLWhlaWdodCA+IDAgT1IgJGJ0bi1iZy10cmFuc2l0aW9uID09IDcgT1IgJGJ0bi1iZy10cmFuc2l0aW9uID09IDgge1xuICAgIC5jdy1jYXJkLXNob3cge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTUlYSU4gY3ctY2FyZHMtYW5kcm9tZWRlLWh6XG5AbWl4aW4gY3ctY2FyZHMtYW5kcm9tZWRlLWh6KCkge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6KCk7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgLy8gR2VzdGlvbiBkZSBsYSBoYXV0ZXVyIGV0IGxhcmdldXIgZGUgbCdpbWFnZVxuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy9cblxuICAgICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICAgIHRvcDogLTIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jdy1jYXJkLXN1bW1hcnkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgcGFkZGluZzogNDBweCAyNXB4IDQwcHggMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6XG4gICAgfVxuICB9XG59XG5cbi8vIENMQVNTXG4uY3ctY2FyZHMtYW5kcm9tZWRlIHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlO1xufVxuXG4uY3ctY2FyZHMtYW5kcm9tZWRlLWh6IHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xufVxuXG4vL1xuLmN3LWNhcmRzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA3MHB4O1xuXG4gIC50aXRsZS1oMiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogJGdyYXktNDAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICB9XG59XG5cbi8vXG4uY3ctY2FyZC1yb3dzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufSIsIiRjdy1jYXJkcy1ib2RlLWltZy1oZWlnaHQ6IDMxMHB4O1xuJGN3LWNhcmRzLWJvZGUtaW1nLWhlaWdodC1vdmVyZmxvdzogMzEwcHg7XG4kY3ctY2FyZHMtYm9kZS1pbWctd2lkdGgtb3ZlcmZsb3c6IDIwMHB4O1xuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZSB7XG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG5cbiAgICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICBwYWRkaW5nOiA2MnB4IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmN3LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogJGN3LWNhcmQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1jYXJkLXRodW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG5cbiAgLy8gR2VzdGlvbiBkZSBsYSBoYXV0ZXVyIGV0IGxhcmdldXIgZGUgbCdpbWFnZVxuICAuY3ctY2FyZC10aHVtYiB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMjBweCwgNDBweCwgMHB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLy9cblxuICAuY3ctY2FyZC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogJGN3LWNhcmRzLW1hcmdpbi10b3Atc3VtbWFyeSAzMHB4IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGhlaWdodDogMTByZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBjb2xvcjogJGJsb2MtYWN0dS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjdy1jYXJkcy10ZXh0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGN3LWNhcmRzLXRleHQtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAuY3ctY2FyZC1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuY3ctY2FyZC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY3ctY2FyZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gIC5jdy1jYXJkLXNob3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogMzBweCk7XG5cbiAgICAuYnRuIHtcbiAgICAgIGNvbG9yOiAkYmxvYy1hY3R1LWxpbms7XG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgIH1cblxuICAgIC5jdy1jYXJkLXN1bW1hcnkgLmN3LWNhcmQtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDlyZW07XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEyMDBweCk7XG4gICAgfVxuXG4gICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICAuY3ctY2FyZC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgJGJ0bi1ib3JkZXItaGVpZ2h0ID4gMCBPUiAkYnRuLWJnLXRyYW5zaXRpb24gPT0gNyBPUiAkYnRuLWJnLXRyYW5zaXRpb24gPT0gOCB7XG4gICAgLmN3LWNhcmQtc2hvdyB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1oeiB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAgQGluY2x1ZGUgY3ctY2FyZHMtaHo7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDYwcHggMzBweDtcblxuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvL1xuXG4gICAgICAuY3ctY2FyZC1zdW1tYXJ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OztcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAuY3ctY2FyZC1zaG93IHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAyNnB4IDYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIEBpbmNsdWRlIGN3LWNhcmRzLWh6O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3ctY2FyZHMtYm9kZS1xdWluY3VueCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgLmN3LWNhcmQtdGh1bWIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3ctY2FyZDpudGgtY2hpbGQoMm4rMikge1xuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDs7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBjdy1jYXJkcy1ib2RlLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCAuY3ctY2FyZC10aHVtYiB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaW1nLW92ZXJmbG93IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC8vIEdlc3Rpb24gZGUgbGEgaGF1dGV1ciBldCBsYXJnZXVyIGRlIGwnaW1hZ2VcbiAgICAgIC5jdy1jYXJkLXRodW1iIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGN3LWNhcmQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBtYXJnaW46IC00MHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy9cblxuICAgICAgLmN3LWNhcmQtc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN3LWNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGJldHdlZW4tem9uZXMtbGd9ICsgODBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGN3LWNhcmRzLWJvZGUtaG92ZXIgeyAvLyBVdGlsaXNlciBhdmVjIGh6XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2MtYWN0dWFsaXRlcyB7XG4gIC5jdy1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5ibG9jLWFjdHVhbGl0ZXMge1xuICAgIC5jdy1jYXJkLXRleHQge1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ0xBU1Ncbi5jdy1jYXJkcy1ib2RlIHtcbiAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZTtcbn1cblxuLmN3LWNhcmRzLWJvZGUtaHoge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWh6O1xufVxuXG4uY3ctY2FyZHMtYm9kZS1ob3ZlciB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaG92ZXI7XG59XG5cbi5jdy1jYXJkcy1ib2RlLWltZy1yaWdodCB7XG4gIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaW1nLXJpZ2h0O1xufVxuXG4uY3ctY2FyZHMtYm9kZS1pbWctb3ZlcmZsb3cge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWltZy1vdmVyZmxvdztcbn1cblxuLmN3LWNhcmRzLWJvZGUtcXVpbmN1bngge1xuICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLXF1aW5jdW54O1xufVxuIiwiLmN3LWNhcmRzLWZpbGUge1xuICAudmlld3Mtdmlldy1ncmlkIHtcbiAgICAucm93IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAucm93Omxhc3QtY2hpbGQge1xuICAgICAgLmN3LWNhcmQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN3LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICBtaW4td2lkdGg6IDI2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFydGljdWxlLWd1aWxsZW1ldHMucG5nJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzICogMjtcblxuICAgIC5jdy1jYXJkLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG4gICAgICBjb2xvcjogJGgxLWNvbG9yO1xuICAgICAgbWFyZ2luLXRvcDogJGJldHdlZW4tem9uZXMgLyAzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMgLyAyO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig2ODBweCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctY2FyZHMtZmlsZSB7XG4gICAgLmN3LWNhcmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgIG1pbi13aWR0aDogMzMwcHg7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuY3ctY2FyZHMtZmlsZSB7XG4gICAgLnZpZXdzLXZpZXctZ3JpZCAucm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAyO1xuICAgIH1cblxuICAgIC5jdy1jYXJkIHtcbiAgICAgIHdpZHRoOiAzMSU7XG4gICAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgLmN3LWNhcmQtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnIC8gMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTIwMHB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoJGN3LWNhcmRzID09IFwiYW5kcm9tZWRlXCIpIHtcbiAgLmJsb2MtYWN0dWFsaXRlcyB7IC8vIEJsb2MgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xuICAgIC5jYXJvdXNlbC1pdGVtIHsgLy9QYXRjaCBlbiBhdHRlbmRhbnQgKHByb2Jsw6htZSBhdmVjIGwnb21icmUpXG4gICAgICBwYWRkaW5nOiAwcHggMjBweDtcbiAgICAgIC5jdy1jYXJkIHtcbiAgICAgICAgbWFyZ2luOiA1NXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtYWN0dWFsaXRlcyB7IC8vIFBhZ2UgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYW5kcm9tZWRlLWh6O1xuICB9XG5cbiAgLmN3LWNhcmQtcm93cyB7IC8vIFBhZ2UgYXZlYyBhcnRpY2xlcyBvdSBhbGJ1bXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGU7XG4gICAgLy9AaW5jbHVkZSBjdy1jYXJkcy1hbmRyb21lZGUtaHo7XG4gIH1cbn1cblxuQGlmICgkY3ctY2FyZHMgPT0gXCJib2RlXCIpIHtcbiAgLmJsb2MtYWN0dWFsaXRlcyB7IC8vIEJsb2MgYWN0dWFsaXTDqXNcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlO1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGUtaHo7XG4gIH1cblxuICAucGFnZS1hY3R1YWxpdGVzIHsgLy8gUGFnZSBhY3R1YWxpdMOpc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGU7XG4gICAgQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1oejtcbiAgICBAaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWhvdmVyO1xuICAgIC8vQGluY2x1ZGUgY3ctY2FyZHMtYm9kZS1pbWctcmlnaHQ7XG4gICAgLy9AaW5jbHVkZSBjdy1jYXJkcy1ib2RlLWltZy1vdmVyZmxvdztcbiAgICAvL0BpbmNsdWRlIGN3LWNhcmRzLWJvZGUtcXVpbmN1bng7XG4gIH1cblxuICAuY3ctY2FyZC1yb3dzIHsgLy8gUGFnZSBhdmVjIGFydGljbGVzIG91IGFsYnVtc1xuICAgIEBpbmNsdWRlIGN3LWNhcmRzLWJvZGU7XG4gIH1cbn0iLCIuY3ctY29udGV4dC14eHgge1xuICAkY3ctY29udGV4dC14eHgtY29sb3I6ICRib2R5LWNvbG9yO1xuXG4gIC5jdy1lbGVtZW50LWltZyB7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LWFkcmVzc2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRib2R5LWNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdy1lbGVtZW50LWhvcmFpcmUge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy1jb250ZXh0LXh4eC1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRlbCB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY3ctY29udGV4dC14eHgtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGN3LWNvbnRleHQteHh4LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRjdy1jb250ZXh0LXh4eC1jb2xvciwgMTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3ctZWxlbWVudC1sZWdlbmQge1xuXG4gIH1cblxuICAuY3ctZWxlbWVudC1nb29nbGUtbWFwIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LWZhIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXN2ZyB7XG4gIH1cblxuICAuY3ctZWxlbWVudC1yZXNlYXUtc29jaWFsIHtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXJlc2VhdXgtc29jaWF1eCB7XG4gIH1cbn1cbiIsIi5jdy1kYW1pZXIge1xuICAuY29sLWltZyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwdmg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbC1pbWctY2VudGVyIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweCAkYmV0d2Vlbi16b25lcyAzMHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtZGFtaWVyLWNhcmRzO1xuICAgICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbC10eHQtb25lLCAuY29sLXR4dC10d28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAzMHB4IDMwcHg7XG4gICAgei1pbmRleDogMjsvLyBwb3VyIHF1ZSBsZXMgZHJvcGRvd24gYnRuIG5lIHNvaWVudCBwYXMgY291cMOpZXMgbG9yc3F1J2lsIGTDqXBhc3NlbnQgZGUgbGEgZGl2LlxuICB9XG5cbiAgaDIsIC5jdy1kYW1pZXItdGl0bGUsIGgyIHNwYW4sIHNwYW4uY3ctZGFtaWVyLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICRkYW1pZXItaDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRkYW1pZXItaDItdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGRhbWllci1oMi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGgyLWxldHRlci1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246ICRkYW1pZXItaDItYWxpZ24teHM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogJGRhbWllci10eHQtYWxpZ24teHM7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5jdy1kYW1pZXItYnRuIHtcbiAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJ0bi1hbGlnbi14cztcbiAgfVxuXG4gIC5jb2wtdHh0LW9uZSAuY29udGVudCB7XG4gICAgY29sb3I6ICRkYW1pZXItdHh0LW9uZS1jb2xvcjtcblxuICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICBjb2xvcjogJGRhbWllci1oMi1vbmUtY29sb3I7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJncmFkaWVudF9hYm92ZVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGRhbWllci1oMi11bmRlcmxpbmUtb25lLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLW9uZS1jb2xvcik7XG4gICAgICAgICAgICBAaWYgJGRhbWllci1oMi1hbGlnbi14cyA9PSBsZWZ0IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhOm5vdChbY2xhc3MqPVwiZHJvcGRvd24taXRlbVwiXSkge1xuICAgICAgY29sb3I6ICRkYW1pZXItbGluay1vbmUtY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGRhbWllci1saW5rLW9uZS1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29sLXR4dC10d28gLmNvbnRlbnQge1xuICAgIGNvbG9yOiAkZGFtaWVyLXR4dC10d28tY29sb3I7XG5cbiAgICBoMiwgLmN3LWRhbWllci10aXRsZSwgaDIgc3Bhbiwgc3Bhbi5jdy1kYW1pZXItdGl0bGUge1xuICAgICAgY29sb3I6ICRkYW1pZXItaDItdHdvLWNvbG9yO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3BcIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWgyLWFsaWduLXhzID09IGxlZnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkZGFtaWVyLWgyLXVuZGVybGluZS10d28tY29sb3IpO1xuICAgICAgICAgICAgQGlmICRkYW1pZXItaDItYWxpZ24teHMgPT0gbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDEucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYTpub3QoW2NsYXNzKj1cImRyb3Bkb3duLWl0ZW1cIl0pIHtcbiAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstdHdvLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYW1pZXItbGluay10d28tY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhbWllci1zdHlsZS1vbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW1pZXItYmctb25lO1xuICAgIEBpZiAoJGRhbWllci1iZy1vbmUtZ3JhZGllbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGFtaWVyLWJnLW9uZS1ncmFkaWVudC1kZWcsICRkYW1pZXItYmctb25lICRkYW1pZXItYmctb25lLWdyYWRpZW50LXN0YXJ0LCAkZGFtaWVyLWJnLW9uZS1lbmQgJGRhbWllci1iZy1vbmUtZ3JhZGllbnQtZW5kKTtcbiAgICB9XG4gIH1cblxuICAuZGFtaWVyLXN0eWxlLXR3byB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbWllci1iZy10d287XG4gICAgQGlmICgkZGFtaWVyLWJnLXR3by1ncmFkaWVudCkge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkYW1pZXItYmctdHdvLWdyYWRpZW50LWRlZywgJGRhbWllci1iZy10d28gJGRhbWllci1iZy10d28tZ3JhZGllbnQtc3RhcnQsICRkYW1pZXItYmctdHdvLWVuZCAkZGFtaWVyLWJnLXR3by1ncmFkaWVudC1lbmQpO1xuICAgIH1cbiAgfVxuXG4gIC5kYW1pZXItc3R5bGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gIC8qIETDqWdyYWTDqSBkYW1pZXIgKi9cbiAgLmRhbWllci1zdHlsZS1vbmUsIC5kYW1pZXItc3R5bGUtdHdvIHtcbiAgICAuY29sLWltZyAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZGFtaWVyLWdyYWRpZW50IHtcbiAgICAuZGFtaWVyLXN0eWxlLW9uZSAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGRhbWllci1iZy1vbmUgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcbiAgICB9XG4gICAgLmRhbWllci1zdHlsZS10d28gLmNvbC1pbWcgLmNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvY3ctZGFtaWVyJztcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmN3LWRhbWllciB7XG4gICAgLnJvdyA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbC1pbWcgLmNvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogJGRhbWllci1taW4taGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtdHh0LVwiXSB7XG4gICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyA1MHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNTUwcHg7XG5cbiAgICAgICAgLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZGFtaWVyLWgyLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRhbWllci1ncmFkaWVudCB7XG4gICAgICAuZGFtaWVyLXN0eWxlLW9uZSAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XG4gICAgICB9XG4gICAgICAuZGFtaWVyLXN0eWxlLXR3byAuY29sLWltZyAuY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGRhbWllci1iZy10d28gMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZGFtaWVyICB7XG4gICAgLmNvbC1pbWctY2VudGVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS1vbmUge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLW9uZS10eHQtYWxpZ24tbGc7XG4gICAgICB9XG4gICAgICBoMiwgLmN3LWRhbWllci10aXRsZSwgaDIgc3Bhbiwgc3Bhbi5jdy1kYW1pZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLW9uZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy1vbmUtaDItYWxpZ24tbGcgPT0gY2VudGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctb25lLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctb25lLWJ0bi1hbGlnbi1sZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFtaWVyLXN0eWxlLXR3byB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdHdvLXR4dC1hbGlnbi1sZztcbiAgICAgIH1cbiAgICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdHdvLWgyLWFsaWduLWxnO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICRkYW1pZXItYmctdHdvLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXR3by1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10d28taDItYWxpZ24tbGcgPT0gcmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jdy1kYW1pZXItYnRuIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRhbWllci1iZy10d28tYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtdGhyZWUge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGFtaWVyLWJnLXRocmVlLXR4dC1hbGlnbi1sZztcbiAgICAgIH1cbiAgICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtaDItYWxpZ24tbGc7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSBjZW50ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgJGRhbWllci1iZy10aHJlZS1oMi1hbGlnbi1sZyA9PSByaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IGNlbnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZGFtaWVyLWJnLXRocmVlLWgyLWFsaWduLWxnID09IHJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3ctZGFtaWVyLWJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246ICRkYW1pZXItYmctdGhyZWUtYnRuLWFsaWduLWxnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKDE2MDBweCkge1xuICAuY3ctZGFtaWVyIHtcbiAgICAuY29sLW1kLTYge1xuICAgICAgJltjbGFzcyo9XCJjb2wtdHh0LVwiXSwgJi5jb2wtaW1nLWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdy1jb2wtbGVmdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmN3LWNvbC1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5kYW1pZXItc3R5bGUtb25lIC5jb2wtaW1nLWZ1bGwgLmNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRkYW1pZXItYmctb25lIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuXG4gICAgLmRhbWllci1zdHlsZS10d28gLmNvbC1pbWctZnVsbCAuY29udGVudDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRkYW1pZXItYmctdHdvIDAlLCByZ2JhKDAsIDAsIDAsIDApIDQwJSk7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE9QVElPTlMgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIENlbnRyYWdlXG5AaWYgJGRhbWllci1jb2wtcmVzc2VycmVyIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5jdy1kYW1pZXIge1xuICAgICAgW2NsYXNzKj1cImNvbC10eHQtXCJdOm5vdChbY2xhc3MqPVwib3JkZXItXCJdKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5vcmRlci1sZy0yW2NsYXNzKj1cImNvbC10eHQtXCJdIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuY29sLWltZ1tjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmNvbC1pbWcub3JkZXItbGctMVtjbGFzcyo9XCJjb2wtaW1nLVwiXSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGNvbC1pbWctb3ZlcmZsb3dzXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1kYW1pZXIge1xuICAgIC5jb2wtaW1nLmNvbC1pbWctb3ZlcmZsb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICB9XG5cbiAgICAuY29sLWltZy1vdmVyZmxvd3MgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGZvbmQgc291cyBsJ2ltYWdlIGVuIGTDqWNhbGzDqVxuQGlmICRkYW1pZXItaW1nLWNlbnRlci1iZyB7XG4gIC5jb2wtaW1nLmNvbC1pbWctY2VudGVyIHtcbiAgICBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgIH1cblxuICAgICAgLmN3LWRhbWllci1lbGVtZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuY29sLWltZy5jb2wtaW1nLWNlbnRlciB7XG4gICAgICBwIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3ctZGFtaWVyLWVsZW1lbnQge1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRleHRlXHJcbi5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuICAuY29sLXR4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzKjEuMjUgMzBweCAzMHB4O1xyXG4gICAgei1pbmRleDogMjsgLy8gcG91ciBxdWUgbGVzIGRyb3Bkb3duIGJ0biBuZSBzb2llbnQgcGFzIGNvdXDDqWVzIGxvcnNxdSdpbCBkw6lwYXNzZW50IGRlIGxhIGRpdi5cclxuICB9XHJcblxyXG4gIGgyLCBoMiBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZGFtaWVyLWgyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGRhbWllci1oMi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIGZvbnQtc2l6ZTogJGRhbWllci1oMi1mb250LXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGRhbWllci1oMi1saW5lLWhlaWdodDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcblxyXG4gIC5jb2wtdHh0IC5jb250ZW50IHtcclxuICAgIGgyLCAuY3ctZGFtaWVyLXRpdGxlLCBoMiBzcGFuLCBzcGFuLmN3LWRhbWllci10aXRsZSB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRkYW1pZXItaDItdW5kZXJsaW5lLXR3by1jb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJwaWN0dXJlX2JvdHRvbVwiIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMS5wbmcnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhOm5vdChbY2xhc3MqPVwiZHJvcGRvd24taXRlbVwiXSkge1xyXG4gICAgICBjb2xvcjogJGRhbWllci1saW5rLXR3by1jb2xvcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZGFtaWVyLWxpbmstdHdvLWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZXN0aW9uIGRlIGwnaW1hZ2UgZHUgZm9uZFxyXG4uY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWRhbWllci1iYWNrZ3JvdW5kLWltYWdlLCAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLWJhY2tncm91bmQtcGFyYWxsYXgge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgID4gLnJvdyB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5yb3cge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgfVxyXG59XHJcblxyXG5bY2xhc3MqPVwiY3ctYm94c2hhZG93LWZpZWxkXCJdIC5maWVsZCB7XHJcbiAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLmN3LWJveHNoYWRvdy1maWVsZCAuZmllbGQtLXR5cGUtaW1hZ2UgaW1nIHtcclxuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcclxufVxyXG5cclxuLmN3LWJveHNoYWRvdy1maWVsZC0xIC5maWVsZC0tdHlwZS1pbWFnZSBpbWcge1xyXG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xyXG59XHJcblxyXG4uY3ctYm94c2hhZG93LWZpZWxkLTIgLmZpZWxkLS10eXBlLWltYWdlIGltZyB7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XHJcbn1cclxuXHJcbi8vIE1lZGlhc1xyXG4uY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgLmNvbC1tZWRpYSB7XHJcbiAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtbWVkaWEtZnVsbCAuY29sLW1lZGlhIHtcclxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItaW1hZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBvdmVyZmxvdzogaW5pdGlhbDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb2wtbWVkaWEtY2VudGVyIC5jb2wtbWVkaWEgLmNvbnRlbnQge1xyXG4gICAgbWluLWhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vIFByb2Jsw6htZSBhdmVjIHBhcmFncmFwaCBjb250YWluZXIgYWNjb3JkZW9uXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSAoeHMpIHtcclxuICAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLXBhcmFncmFwaC1tZWRpYSA+IC5jb250YWluZXIgPiAucm93IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC5hY2NvcmRpb24ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGltcG9ydCAncXVlcmllcy9jdy1kYW1pZXItcGFyYWdyYXBoJztcclxuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuIChzbSwgbWQpIHtcclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCAuY29sLW1lZGlhIHtcclxuICAgIHBhZGRpbmc6IDAgMzBweCAkYmV0d2Vlbi16b25lcyoxLjI1O1xyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICBtYXgtd2lkdGg6IDU3NnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgICAuY29sLXR4dCwgLmNvbC1tZWRpYSB7XHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDU3NnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuICAgIC5jb2wtdHh0W2NsYXNzKj1cImN3LWJnLVwiXSB7XHJcbiAgICAgIG1hcmdpbjogJGJldHdlZW4tem9uZXMqMS4yNSBhdXRvIDA7XHJcbiAgICAgIG1heC13aWR0aDogNTc2cHg7XHJcbiAgICB9XHJcbiAgICAuY29sLXR4dFtjbGFzcyo9XCJjdy1iZy1cIl1bY2xhc3MqPVwib2Zmc2V0LVwiXSB7XHJcbiAgICAgIG1hcmdpbjogJGJldHdlZW4tem9uZXMqMS4yNSBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5IChtZCkge1xyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuXHJcbiAgICAmID4gLnJvdyA+IGRpdiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICRkYW1pZXItbWluLWhlaWdodDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCB7XHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sLXR4dCwgLmNvbC1tZWRpYSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYW1pZXItY2VudGVyLXRleHRlLW1lZGlhIHtcclxuICAgICAgLmNvbC10eHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb2wtbWVkaWEge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtdHh0IHtcclxuICAgICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgNTBweDtcclxuXHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG5cclxuICAgICAgICAuY3ctZGFtaWVyLXRpdGxlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGRhbWllci1oMi1mb250LXNpemUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sLXR4dFtjbGFzcyo9XCJjdy1iZy1cIl1bY2xhc3MqPVwib2Zmc2V0LVwiXSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEgLmNvbnRlbnQge1xyXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wtbWVkaWEtZnVsbCAuY29sLXR4dCB7XHJcbiAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDEwMHB4ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcblxyXG4gICAgICAmW2NsYXNzKj1cIm9mZnNldC1cIl0ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmxleC1sZy1yb3ctcmV2ZXJzZS5kYW1pZXItY2VudGVyLXRleHRlLW1lZGlhIHtcclxuICAgICAgLmNvbC1tZWRpYSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbC10eHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN3LWRhbWllci1wYXJhZ3JhcGgge1xyXG4gICAgLmNvbC1tZWRpYS1mdWxsIC5jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItaW1hZ2Uge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZWRpYS1jZW50ZXIgLmNvbC1tZWRpYSB7XHJcbiAgICAgIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzLWxnIDUwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC1tZWRpYS1jZW50ZXIgLmNvbC1tZWRpYSAuY29udGVudCB7XHJcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgxNjAwcHgpIHtcclxuICAuY3ctZGFtaWVyLXBhcmFncmFwaCB7XHJcbiAgICAuY29sLW1kLTYge1xyXG4gICAgICAmY29sLXR4dCwgJi5jb2wtbWVkaWEtY2VudGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcy1sZyAxMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9BanVzdGVtZW50IGR1IG3DqWRpYSA+IFwicGFyYWdyYXBoIEF2YW50L0FwcsOoc1wiXHJcbi5jdy1kYW1pZXItcGFyYWdyYXBoIC5iZWVyLXNsaWRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vL0FqdXN0ZW1lbnQgZHUgbcOpZGlhID4gXCJCbG9jIFlvdXR1YmUgdmlkw6lvXCJcclxuLmN3LWRhbWllci1wYXJhZ3JhcGggIHtcclxuICAuY29sLW1lZGlhIC5jb250ZW50LCAuZmllbGQtLW5hbWUtZmllbGQtZGFtaWVyLXBhcmFncmFwaC1tZWRpYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5maWVsZF9faXRlbSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC5jb2wtbWVkaWEtZnVsbCAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5maWVsZC0tbmFtZS1maWVsZC1kYW1pZXItcGFyYWdyYXBoLW1lZGlhIHtcclxuICAuY29udGFpbmVyLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyLW1kIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cclxuXHJcbi8vLy8gY29sLW1lZGlhLW92ZXJmbG93c1xyXG4vL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuLy8gIC5jdy1kYW1pZXItcGFyYWdyYXBoIHtcclxuLy8gICAgLmNvbC1tZWRpYS5jb2wtbWVkaWEtb3ZlcmZsb3dzIHtcclxuLy8gICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbi8vICAgIH1cclxuLy9cclxuLy8gICAgLmNvbC1tZWRpYS1vdmVyZmxvd3MgLmNvbnRlbnQge1xyXG4vLyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4vLyAgICAgIHAge1xyXG4vLyAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xyXG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgdG9wOiA1MCU7XHJcbi8vICAgICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4yKTtcclxuLy8gICAgICAgIH1cclxuLy8gICAgICAgIGltZyB7XHJcbi8vICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xyXG4vLyAgICAgICAgfVxyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vL31cclxuLy9cclxuLy8vLyBmb25kIHNvdXMgbCdpbWFnZSBlbiBkw6ljYWxsw6lcclxuLy9AaWYgJGRhbWllci1pbWctY2VudGVyLWJnIHtcclxuLy8gIC5jb2wtbWVkaWEuY29sLW1lZGlhLWNlbnRlciB7XHJcbi8vICAgIHAge1xyXG4vLyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy9cclxuLy8gICAgICBpbWcge1xyXG4vLyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgICAgYm90dG9tOiA1cHg7XHJcbi8vICAgICAgICBsZWZ0OiAtNXB4O1xyXG4vLyAgICAgIH1cclxuLy9cclxuLy8gICAgICAuY3ctZGFtaWVyLWVsZW1lbnQge1xyXG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgICB0b3A6IDVweDtcclxuLy8gICAgICAgIHJpZ2h0OiAtNXB4O1xyXG4vLyAgICAgICAgei1pbmRleDogLTE7XHJcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuLy8gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vLyAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4vLyAgICAuY29sLW1lZGlhLmNvbC1tZWRpYS1jZW50ZXIge1xyXG4vLyAgICAgIHAge1xyXG4vLyAgICAgICAgaW1nIHtcclxuLy8gICAgICAgICAgYm90dG9tOiAxNXB4O1xyXG4vLyAgICAgICAgICBsZWZ0OiAtMjBweDtcclxuLy8gICAgICAgIH1cclxuLy9cclxuLy8gICAgICAgIC5jdy1kYW1pZXItZWxlbWVudCB7XHJcbi8vICAgICAgICAgIHRvcDogMTVweDtcclxuLy8gICAgICAgICAgcmlnaHQ6IC0yMHB4O1xyXG4vLyAgICAgICAgfVxyXG4vLyAgICAgIH1cclxuLy8gICAgfVxyXG4vLyAgfVxyXG4vL31cclxuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuY3ctZGFtaWVyLWJvcmRlci1udW1iZXJzIHtcbiAgICAucm93ID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmNvbC1pbWctY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtdHh0LVwiXSB7XG4gICAgICBwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuY3ctZGFtaWVyLWJvcmRlci1udW1iZXJzIHtcbiAgICAucm93ID4gZGl2IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMSkgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAzMHB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBoMjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjFcIjtcbiAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMikgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA5NC45NSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IGRvdHRlZCAkaDEtY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBoMjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjJcIjtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLnJvdzpudGgtY2hpbGQoMG4rMykgPiBkaXYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAwIDAgMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBkb3R0ZWQgJGgxLWNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiAzcHggZG90dGVkICRoMS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgaDI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIzXCI7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHRyYW5zaXRpb24tbWV0aWVyOiBhbGwgZWFzZS1vdXQgMC4zcztcbiRncmFkaWVudC1tZXRpZXItY29sb3I6ICRzZWNvbmRhcnk7XG4kZ3JhZGllbnQtbWV0aWVyLW9wYWNpdHk6IDAuNTtcbiRncmFkaWVudC1tZXRpZXItb3BhY2l0eS0yOiAwLjU7XG4kZ3JhZGllbnQtbWV0aWVyLWV4dGVuZGVkOiA4MCU7XG5cbi8vIERlc2t0b3BcbiRudW1iZXItY29sdW1uczogNDtcbiRudW1iZXItcm93czogMjtcbiRndXR0ZXItbWFyZ2U6IDE1cHg7XG4kc2l6ZS1tZXRpZXI6IDI4MHB4O1xuJGxhcmdldXI6IGNhbGMoKCN7JHNpemUtbWV0aWVyfSAqICN7JG51bWJlci1jb2x1bW5zfSkgKyAoI3skZ3V0dGVyLW1hcmdlfSAqICgjeyRudW1iZXItY29sdW1uc30gLSAxKSkpO1xuJGhhdXRldXI6IGNhbGMoKCN7JHNpemUtbWV0aWVyfSAqICN7JG51bWJlci1yb3dzfSkgKyAoI3skZ3V0dGVyLW1hcmdlfSAqICgjeyRudW1iZXItcm93c30gLSAxKSkpO1xuXG4vL1RhYmxldHRlXG4kbnVtYmVyLWNvbHVtbnMtdGFiOiAyO1xuJG51bWJlci1yb3dzLXRhYjogNDtcbiRndXR0ZXItbWFyZ2UtdGFiOiAxNXB4O1xuJHNpemUtbWV0aWVyLXRhYjogMjgwcHg7XG4kbGFyZ2V1ci10YWI6IGNhbGMoKCN7JHNpemUtbWV0aWVyLXRhYn0gKiAjeyRudW1iZXItY29sdW1ucy10YWJ9KSArICgjeyRndXR0ZXItbWFyZ2UtdGFifSAqICgjeyRudW1iZXItY29sdW1ucy10YWJ9IC0gMSkpKTtcbiRoYXV0ZXVyLXRhYjogY2FsYygoI3skc2l6ZS1tZXRpZXItdGFifSAqICN7JG51bWJlci1yb3dzLXRhYn0pICsgKCN7JGd1dHRlci1tYXJnZS10YWJ9ICogKCN7JG51bWJlci1yb3dzLXRhYn0gLSAxKSkpO1xuJG1heC13aWR0aC10YWI6IDEyMDBweDtcblxuLy9Nb2JpbGVcbiRudW1iZXItY29sdW1ucy1tb2I6IDE7XG4kbnVtYmVyLXJvd3MtbW9iOiA4O1xuJGd1dHRlci1tYXJnZS1tb2I6IDE1cHg7XG4kc2l6ZS1tZXRpZXItbW9iOiAyODBweDtcbiRsYXJnZXVyLW1vYjogY2FsYygoI3skc2l6ZS1tZXRpZXItbW9ifSAqICN7JG51bWJlci1jb2x1bW5zLW1vYn0pICsgKCN7JGd1dHRlci1tYXJnZS1tb2J9ICogKCN7JG51bWJlci1jb2x1bW5zLW1vYn0gLSAxKSkpO1xuJGhhdXRldXItbW9iOiBjYWxjKCgjeyRzaXplLW1ldGllci1tb2J9ICogI3skbnVtYmVyLXJvd3MtbW9ifSkgKyAoI3skZ3V0dGVyLW1hcmdlLW1vYn0gKiAoI3skbnVtYmVyLXJvd3MtbW9ifSAtIDEpKSk7XG4kbWF4LXdpZHRoLW1vYjogNjE1cHg7XG5cblxuLmN3LWdyaWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkbnVtYmVyLWNvbHVtbnMsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KCRudW1iZXItcm93cywgMWZyKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAkZ3V0dGVyLW1hcmdlO1xuICBncmlkLXJvdy1nYXA6ICRndXR0ZXItbWFyZ2U7XG4gIHdpZHRoOiAkbGFyZ2V1cjtcbiAgaGVpZ2h0OiAkaGF1dGV1cjtcblxuICAuY3ctbWV0aWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW1ldGllcjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNzBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW1ldGllcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tbWV0aWVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmltZy1tZXRpZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGdyYWRpZW50LW1ldGllci1jb2xvciwgJGdyYWRpZW50LW1ldGllci1vcGFjaXR5KSAwLCByZ2JhKCRncmFkaWVudC1tZXRpZXItY29sb3IsICRncmFkaWVudC1tZXRpZXItb3BhY2l0eS0yKSAkZ3JhZGllbnQtbWV0aWVyLWV4dGVuZGVkKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1tZXRpZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAxKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LXdpZHRoLXRhYikge1xuICAuY3ctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJG51bWJlci1jb2x1bW5zLXRhYiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgkbnVtYmVyLXJvd3MtdGFiLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogJGd1dHRlci1tYXJnZS10YWI7XG4gICAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyLW1hcmdlLXRhYjtcbiAgICB3aWR0aDogJGxhcmdldXItdGFiO1xuICAgIGhlaWdodDogJGhhdXRldXItdGFiO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LXdpZHRoLW1vYikge1xuICAuY3ctZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJG51bWJlci1jb2x1bW5zLW1vYiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgkbnVtYmVyLXJvd3MtbW9iLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogJGd1dHRlci1tYXJnZS1tb2I7XG4gICAgZ3JpZC1yb3ctZ2FwOiAkZ3V0dGVyLW1hcmdlLW1vYjtcbiAgICB3aWR0aDogJGxhcmdldXItbW9iO1xuICAgIGhlaWdodDogJGhhdXRldXItbW9iO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAuQ1ctR1JJRC1TSU1QTEUgLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi5jdy1ncmlkLXNpbXBsZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxMHB4O1xuICAvL292ZXJmbG93OiBhdXRvO1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uY3ctZ3JpZC1zaW1wbGUtMiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICAvL292ZXJmbG93OiBhdXRvO1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNiB7XG4gICAgLmN3LWdyaWQtc2ltcGxlLWNvbC0jeyRpfSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcblxuICAgIH1cbiAgfVxufVxuXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA2IHtcbiAgICAuY3ctZ3JpZC1zaW1wbGUtY29sLSN7JGl9LW1kIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRpLCAxZnIpO1xuXG4gICAgfVxuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tICAuQ1ctR1JJRC1QVVpaTEUgLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0gKi9cbi8vIEdyaWQgKHBhcyBkZSBwYWRkaW5nIGV4dMOpcmlldXIpXG4kY3ctZ3JpZC1wdXp6bGUtZ2FwLXhzOiAzcHg7IC8vIHBhZGRpbmcsIHhzID4gbGdcbiRjdy1ncmlkLXB1enpsZS1jb2wtbmJyLXNtOiAyOyAvLyBjb2xvbm5lcyBzbVxuJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItc206IDM7IC8vIGxpZ25lcyBzbVxuJGN3LWdyaWQtcHV6emxlLWFyZWEtc206IC8qIGxlIG5vbWJyZSBkZSBsaWduZSBldCBkZSBjb2xvbm5lIGRvaXQgw6p0cmUgY29ow6lyZW50IGF2ZWMgbGVzIHZhcmlhYmxlcyBhdSBkZXNzdXMgKi9cbiAgICAgICAgJ29uZSB0d28nXG4gICAgICAgICd0aHJlZSBmb3VyJ1xuICAgICAgICAnZml2ZSBzaXgnO1xuXG4kY3ctZ3JpZC1wdXp6bGUtZ2FwLWxnOiAyMHB4OyAvLyBwYWRkaW5nLCBsZyA+ICsrXG4kY3ctZ3JpZC1wdXp6bGUtY29sLW5ici1sZzogNDsgLy8gY29sb25uZXMgbGdcbiRjdy1ncmlkLXB1enpsZS1yb3ctbmJyLWxnOiAzOyAvLyBsaWduZXMgbGdcbiRjdy1ncmlkLXB1enpsZS1hcmVhLWxnOiAvKiBsZSBub21icmUgZGUgbGlnbmUgZXQgZGUgY29sb25uZSBkb2l0IMOqdHJlIGNvaMOpcmVudCBhdmVjIGxlcyB2YXJpYWJsZXMgYXUgZGVzc3VzICovXG4gICAgICAgICdvbmUgb25lIHR3byB0aHJlZSdcbiAgICAgICAgJ29uZSBvbmUgc2l4IHNpeCdcbiAgICAgICAgJ2ZvdXIgZml2ZSBzaXggc2l4JztcblxuLy8gQ291bGV1ci9kZWdyYWTDqVxuJGN3LWdyaWQtcHV6emxlLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44NSk7XG4kY3ctZ3JpZC1wdXp6bGUtY29sb3ItbGluazogcmdiYSgkd2hpdGUsIDAuODUpO1xuJGN3LWdyaWQtcHV6emxlLWNvbG9yLWxpbmstaG92ZXI6ICR3aGl0ZTtcblxuLy8gVHlwb2dyYXBoaWVcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXNpemUteHM6IDEuNXJlbTtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LXNpemUtbGc6IDJyZW07XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMjtcbiRjdy1ncmlkLXB1enpsZS10aXRsZS1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kY3ctZ3JpZC1wdXp6bGUtdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1mb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLXhzOiAxcmVtO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLWxnOiAxLjJyZW07XG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1saW5lLWhlaWdodDogMS4yO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuJGN3LWdyaWQtcHV6emxlLXRleHQtdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbi8vIENlbnRyYWdlXG4kY3ctZ3JpZC1wdXp6bGUtdGV4dC1hbGlnbjogY2VudGVyO1xuXG4uY3ctZ3JpZC1wdXp6bGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBncmlkLWdhcDogJGN3LWdyaWQtcHV6emxlLWdhcC14cztcbiAgfVxuXG4gIC5jb250ZW50LCAuY3ctZ3JpZC1wdXp6bGUtc3VtbWFyeSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgY29sb3I6ICN7JGN3LWdyaWQtcHV6emxlLWNvbG9yfSAhaW1wb3J0YW50O1xuICBhIHtcbiAgICBjb2xvcjogI3skY3ctZ3JpZC1wdXp6bGUtY29sb3ItbGlua30gIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjeyRjdy1ncmlkLXB1enpsZS1jb2xvci1saW5rLWhvdmVyfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1ncmlkLXB1enpsZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjdy1ncmlkLXB1enpsZS10aXRsZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWZvbnQtc2l6ZS14cztcbiAgICBsaW5lLWhlaWdodDogJGN3LWdyaWQtcHV6emxlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkY3ctZ3JpZC1wdXp6bGUtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRjdy1ncmlkLXB1enpsZS10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC5jdy1ncmlkLXB1enpsZS10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjdy1ncmlkLXB1enpsZS10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGN3LWdyaWQtcHV6emxlLXRleHQtZm9udC1zaXplLXhzO1xuICAgIGxpbmUtaGVpZ2h0OiAkY3ctZ3JpZC1wdXp6bGUtdGV4dC1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGN3LWdyaWQtcHV6emxlLXRleHQtbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRjdy1ncmlkLXB1enpsZS10ZXh0LXRleHQtdHJhbnNmb3JtO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgLmN3LWdyaWQtcHV6emxlLXN1bW1hcnkge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMTM1cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRleHQtYWxpZ246ICRjdy1ncmlkLXB1enpsZS10ZXh0LWFsaWduO1xuXG4gICAgICAmW2hyZWYqPVwiL1wiXTpob3ZlciB7XG4gICAgICAgIC5jdy1ncmlkLXB1enpsZS1maWx0cmUge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jdy1ncmlkLXB1enpsZS10aXRsZSwgLmN3LWdyaWQtcHV6emxlLXRleHQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAucm93IHtcbiAgICBncmlkLXRlbXBsYXRlOiByZXBlYXQoJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItc20sIDFmcikgLyByZXBlYXQoJGN3LWdyaWQtcHV6emxlLWNvbC1uYnItc20sIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogJGN3LWdyaWQtcHV6emxlLWFyZWEtc207XG4gICAgbWluLWhlaWdodDogNjMwcHg7XG5cbiAgICAub25lIHtcbiAgICAgIGdyaWQtYXJlYTogb25lO1xuICAgIH1cblxuICAgIC50d28ge1xuICAgICAgZ3JpZC1hcmVhOiB0d287XG4gICAgfVxuXG4gICAgLnRocmVlIHtcbiAgICAgIGdyaWQtYXJlYTogdGhyZWU7XG4gICAgfVxuXG4gICAgLmZvdXIge1xuICAgICAgZ3JpZC1hcmVhOiBmb3VyO1xuICAgIH1cblxuICAgIC5maXZlIHtcbiAgICAgIGdyaWQtYXJlYTogZml2ZTtcbiAgICB9XG5cbiAgICAuc2l4IHtcbiAgICAgIGdyaWQtYXJlYTogc2l4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAucm93IHtcbiAgICBncmlkLWdhcDogJGN3LWdyaWQtcHV6emxlLWdhcC1sZztcbiAgICBncmlkLXRlbXBsYXRlOiByZXBlYXQoJGN3LWdyaWQtcHV6emxlLXJvdy1uYnItbGcsIDFmcikgLyByZXBlYXQoJGN3LWdyaWQtcHV6emxlLWNvbC1uYnItbGcsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczokY3ctZ3JpZC1wdXp6bGUtYXJlYS1sZztcbiAgfVxufVxuXG4uY3ctZ3JpZC1wdXp6bGUgLmNvbCB7XG4gIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzEpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMS1tb2IuanBnJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbisyKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTItbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rMykgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGUzLW1vYi5qcGcnKTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDBuKzQpIC5jdy1ncmlkLXB1enpsZS1iZy1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNC1tb2IuanBnJyk7XG4gIH1cblxuICAmOm50aC1jaGlsZCgwbis1KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXB1enpsZTUtbW9iLmpwZycpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMG4rNikgLmN3LWdyaWQtcHV6emxlLWJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wdXp6bGU2LW1vYi5qcGcnKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1ncmlkLXB1enpsZSAuY29sIHtcbiAgICAmOm50aC1jaGlsZCgwbisxKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMS5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbisyKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMi5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbiszKSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlMy5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis0KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNC5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis1KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNS5qcGcnKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgwbis2KSAuY3ctZ3JpZC1wdXp6bGUtYmctaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctcHV6emxlNi5qcGcnKTtcbiAgICB9XG4gIH1cbn1cblxuLmN3LWdyaWQtcHV6emxlLWZpbHRyZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCk7XG4gIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNTBkZWcsIHJnYmEoJGdyYXktOTAwLCAxKSAwLCByZ2JhKCRncmF5LTkwMCwgMSkgMTAwJSk7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG5cbiIsIi5jdy10aW1lbGluZS12ZXJ0aWNhbCB7XG4gICRjdy10aW1lbGluZS12ZXJ0aWNhbDogJGJvZHktY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubGluZSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXN2ZyB7XG4gICAgZmlsbDogJHByaW1hcnk7XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtYm9sZC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRoMS1jb2xvcjtcbiAgfVxuXG4gIC5jdy1lbGVtZW50LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJHByaW1hcnktbm9ybWFsLXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRjdy10aW1lbGluZS12ZXJ0aWNhbDtcbiAgICAvL21hcmdpbjogYXV0bztcbiAgICAvL21heC13aWR0aDogMjYwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuY3ctdGltZWxpbmUtdmVydGljYWwge1xuICAgICRjdy1jb250ZXh0LWNocm9ub2xvZ2llOiAkYm9keS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubGluZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMwcHgpIDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IDBweCAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIH1cblxuICAgIC5jdy1jaGlsZHJlbi1xdWluY3VueC1tZCB7XG4gICAgICA+IGRpdjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2Om50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYWNjb3JkaW9uIHsgLy8gdm9pciBwcm9qZXQgMjIwNWJjMTAyMlxuICB3aWR0aDogMTAwJTtcbiAgLmNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgaSB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAvL2NvbG9yOiAkcHJpbWFyeTtcblxuICAgICAgICBpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGk6YWZ0ZXIge1xuICAgICAgICAgIC8vY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICBpOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIC8vY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jYXJkLWRlc2Mge1xuICAgICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5ID4gaDMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmW2NsYXNzKj1cImN3LWJnLVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5jdy1iZy1vbmUge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5jdy1iZy10d28ge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy10d287XG4gICAgfVxuICB9XG5cbiAgJi5jdy1iZy1ncmF5IHtcbiAgICAuY2FyZCwgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiAgICB9XG4gIH1cblxuICAmLmN3LWJnLWRhcmsge1xuICAgIC5jYXJkLCAuY2FyZC1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAmLnRleHQtd2hpdGUge1xuICAgIGEge1xuICAgICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi0xLWNvbCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmFjY29yZGlvbi13aXRoLW1hcmdpbiB7XG4gIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgfVxuXG4gIC5jYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkICRjYXJkLWJvcmRlci13aWR0aCAkY2FyZC1ib3JkZXItY29sb3IgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuXG4gICAgJjpudGgtbGFzdC1jaGlsZChuKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDMwcHggMjRweDtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWktcmlnaHQtZmEge1xuICAuY2FyZC1oZWFkZXIge1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgLy9AaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMikpKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgICBjb250ZW50OiAnXFxmMzVhJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRXhlbXBsZSBkZSBhY2NvcmRpb24gPiBjYXJkID4gY2xhc3MgcGVyc29ubmFsaXPDqWVcbi5hY2NvcmRpb24ge1xuICAuY2FyZC1jdXN0b20tb25lIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5jYXJkLWhlYWRlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZy1vbmUsIDUlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNzIpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtY3VzdG9tLXR3byB7XG4gICAgLmNhcmQtaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLXR3bywgMTAlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctdHdvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuNzIpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFjY29yZGlvbiA+IGNhcmQgPiBpbWFnZSBiZ1xuLmFjY29yZGlvbiAuY2FyZC5hY2NvcmRpb24taW1nLWJnIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3ctY2FyZC1iZyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDI0cHggODBweCAyNHB4IDMwcHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRjdy1jYXJkLWJnIDAlLCByZ2JhKCRjdy1jYXJkLWJnLCAwLjkpIDAlLCByZ2JhKCRjdy1jYXJkLWJnLCAwLjgpIDUwJSwgcmdiYSgkY3ctY2FyZC1iZywgMC44KSA3MCUpO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB9XG5cbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMjRweCAzMHB4O1xuICB9XG59XG5cbi8vIEFjY29yZGlvbiA+IGNhcmQgPiBpbWFnZSDDoCBnYXVjaGVcbi5hY2NvcmRpb24gLmNhcmQuYWNjb3JkaW9uLWltZy1sZWZ0IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24tY2FyZC1pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBkaXNwbGF5OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAuY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTQ1cHg7XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAyNHB4IDMwcHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuYWNjb3JkaW9uIC5jYXJkLmFjY29yZGlvbi1pbWctYmcge1xuICAgIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLWNhcmQtaW1nIHtcbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkY3ctY2FyZC1iZyAwJSwgJGN3LWNhcmQtYmcgMjAlLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuOCkgMzglLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDApIDcwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbiAuY2FyZC5hY2NvcmRpb24taW1nLWxlZnQge1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDgwcHggMjRweCAyMzBweDtcbiAgICB9XG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wtbGctNiAuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciB7XG4gICAgLmFjY29yZGlvbi1jYXJkLWltZyB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDY2ZGVnLCAkY3ctY2FyZC1iZyAwJSwgJGN3LWNhcmQtYmcgMjAlLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuOCkgMzglLCByZ2JhKDI0OSwgMjQ5LCAyNDksIDApIDcwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jb2wtbGctNiAuYWNjb3JkaW9uIHtcbiAgICAuY2FyZC5hY2NvcmRpb24taW1nLWJnIHtcbiAgICAgIC5jYXJkLXRpdGxlLCAuYWNjb3JkaW9uLWNhcmQtZGVzYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2hlYWRlciB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbi5jdy1uYXZiYXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwNzA7XG59XG5cbiNuYXZiYXItdG9wIHtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkbmF2YmFyLXRvcC1iZywgJG5hdmJhci10b3Atb3BhY2l0eSksICRuYXZiYXItdG9wLWJnKTtcbiAgLmNvbnRlbnQge1xuICAgIC8vZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5yZWdpb24tdG9wLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICNibG9jay1pbmZvcm1hdGlvbnNuYXZiYXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIGhlaWdodDogJG5hdmJhci10b3AtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbiNuYXZiYXItbWFpbiB7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LXhzO1xuICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRuYXZiYXItZm9udC1zaXplfSAtIDAuMDVyZW0pO1xuICAgICAgcGFkZGluZzogMTFweCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyIHtcbiAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdiYWNrZ3JvdW5kLWNvbG9yJywgcmdiYSgkbmF2YmFyLWJnLCAkbmF2YmFyLW9wYWNpdHkpLCAkbmF2YmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiAkbmF2YmFyLWZvbnQtZmFtaWx5O1xuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTkyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAxNXB4O1xuICAgIC8vbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZS1pbi1vdXQpO1xuICAgICAgbWF4LXdpZHRoOiAkbmF2YmFyLW1pbmktbG9nby13aWR0aDtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gLSAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKCN7JG5hdmJhci12ZXJ0aWNhbC1jZW50ZXJpbmctYX0pO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgLy9taW4td2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6ICRmb250LXNpemUtYmFzZSAqIDEuMTtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWJyYW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1mbG9hdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zaXRlLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hbWUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItbmFtZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdmJhci1uYW1lLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1uYW1lLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdmJhci1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkaDEtbGV0dGVyLXNwYWNpbmc7XG4gIH1cblxuICAuc2l0ZS1zbG9nYW4ge1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLXNsb2dhbi1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJG5hdmJhci1zbG9nYW4tZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItc2xvZ2FuLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1zbG9nYW4tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLXNsb2dhbi1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgb3BhY2l0eTogJG5hdmJhci1zbG9nYW4tb3BhY2l0eTtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgJjpmaXJzdC1sZXR0ZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtdHJ1ZTtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHhcbiAgICB9XG4gICAgJlthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0gLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogJG5hdmJhci10b2dnbGVyLWxpbmUtY29sb3ItZXhwYW5kZWQtZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAjdG9nZ2xlci1saW5lLTEge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpKTtcbiAgICB9XG5cbiAgICAjdG9nZ2xlci1saW5lLTIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAjdG9nZ2xlci1saW5lLTMge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZykpO1xuICAgIH1cbiAgfVxuXG4gIC8vJHRvZ2dsZS1jb2xvcjogXCIyNTUsMjU1LDI1NSwgMC45XCI7XG4gIC8vLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4I3skdG9nZ2xlLWNvbG9yfSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG4gIC8vfVxuXG4gIG5hdiB7XG4gICAgLm5hdiBsaSBhIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgZm9udC1mYW1pbHk6ICRuYXZiYXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJG5hdmJhci1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkbmF2YmFyLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgICAgY29sb3I6IHJnYmEoJGl0ZW0tYS1jb2xvciwgJGl0ZW0tYS1jb2xvci1vcGFjaXR5KTtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpZiAkbmF2YmFyLW9wYWNpdHkgIT0gMSB7XG4gICAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRpdGVtLWEtY29sb3IsICRpdGVtLWEtY29sb3Itb3BhY2l0eSksICRpdGVtLWEtY29sb3IpO1xuICAgICAgfVxuICAgICAgQGlmICRpdGVtLWEtYWN0aXZlLWJvbGQge1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwcHggJGl0ZW0tYS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2ID4gbGkgPiBhLmlzLWFjdGl2ZSxcbiAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgLm5hdiA+IGxpID4gYS5hY3RpdmUtdHJhaWwsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRpdGVtLWEtYWN0aXZlLWNvbG9yLXhzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmcteHM7XG4gICAgICBAaWYgJGl0ZW0tYS1hY3RpdmUtYm9sZCB7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDFweCAkaXRlbS1hLWFjdGl2ZS1jb2xvci14cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IC5kcm9wZG93biA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGRyb3BtZW51LWJnLCAkZHJvcG1lbnUtYmctb3BhY2l0eSksICRkcm9wbWVudS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpZiAkbmF2YmFyLWRyb3Bkb3duLW1lbnUtc2hhZG93IHtcbiAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMDUsIDBweCwgMnB4LCA0cHgsIDBweCwgJG5hdmJhci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuXG4gICAgICBsaS5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgQGlmICRkcm9wbWVudS1ib3JkZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZHJvcG1lbnUtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJG5hdmJhci1kLW1lbnUtZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRuYXZiYXItZC1tZW51LWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbmF2YmFyLWQtbWVudS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICBmb250LXNpemU6ICRuYXZiYXItZC1tZW51LWZvbnQtc2l6ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJG5hdmJhci1kLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgICAgICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGRyb3BtZW51LWl0ZW0tYS1jb2xvciwgJGRyb3BtZW51LWl0ZW0tYS1jb2xvci1vcGFjaXR5KSwgJGRyb3BtZW51LWl0ZW0tYS1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3BtZW51LWl0ZW0tYS1hY3RpdmUtYmc7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZHJvcG1lbnUtaXRlbS1hLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IC5kcm9wZG93bi1tZW51LnNob3cge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC40cyBlYXNlLWluLW91dCk7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIC8vYm94LXNoYWRvdzogdW5zZXQ7XG4gIH1cblxuICAubmF2YmFyLWZvcm0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZS5pcy1hY3RpdmUge1xuICAgIC5pY29uLWJhcjpudGgtY2hpbGQoMykge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuaWNvbi1iYXI6bnRoLWNoaWxkKDIpIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKSk7XG4gICAgfVxuXG4gICAgLmljb24tYmFyOm50aC1jaGlsZCg0KSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTQ1ZGVnKSk7XG4gICAgfVxuICB9XG59XG5cbi5hZmZpeC1zY3JvbGwgLm5hdmJhciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRuYXZiYXItYmcsICRuYXZiYXItb3BhY2l0eS1hZmZpeC1zY3JvbGwpLCAkbmF2YmFyLWJnKTtcbn1cblxuQGltcG9ydCAncXVlcmllcy9uYXZiYXInO1xuIiwiLyoqXG5Qb3NpdGlvbiBkZSBsYSBuYXZiYXIgZW4gaGF1dCBkZSBsYSBwYWdlIMOgIGFqdXN0ZXIgZW4gZm9uY3Rpb25cbmRlIGxhIGhhdXRldXIgZHUgaGVhZGVyIHBvdXIgcXVlIGwnZXNwYWNlIGVudHJlIGxlcyBkZXV4IHJlc3RlXG5zaW1pbGFpcmUgcXVlbHF1ZSBzb2l0IGxhIGxhcmdldXIgZGUgbCfDqWNyYW4uXG4gKi9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIC5jdy1uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5uYXZiYXIge1xuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJHhzLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgQGlmICR4cy1zaG93LW5hbWUgPT0gZmFsc2UgYW5kICR4cy1zaG93LXNsb2dhbiA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtbmFtZSB7XG4gICAgICBAaWYgJHhzLXNob3ctbmFtZSA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkeHMtc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93biB7XG4gICAgICAuY2FyZXQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW4gLmNhcmV0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwKSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMXMgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5uYXYtbWVudS1wci5jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci10b3Age1xuICAgIG9yZGVyOiAyO1xuXG4gICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLmFmZml4LXNjcm9sbCB7XG4gICAgI25hdmJhci10b3Age1xuICAgICAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICBvcmRlcjogMTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIHotaW5kZXg6IDIxMDtcbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggMC4zNXMgZWFzZSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgQGlmICgkbmF2YmFyLXRvZ2dsZXItZ3JhZGllbnQpIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWNvbG9yLTIgMCUsICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMSAkbmF2YmFyLXRvZ2dsZXItbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItdG9nZ2xlci1saW5lYXItZ3JhZGllbnQtY29sb3ItMTtcbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1MHB4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiA0NDBweDtcbiAgICAgICY6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICAgICYubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10b3AtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzaW5nIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih3aWR0aCAwLjM1cyBlYXNlKVxuICAgIH1cblxuICAgICYuc2hvdyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAtNXB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhciBuYXYgLm5hdiAuZHJvcGRvd24tbWVudSBsaS5kcm9wZG93bi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubmF2YmFyIHtcbiAgICAubmF2YmFyLWJyYW5kIHtcbiAgICAgIG1pbi13aWR0aDogJG5hdmJhci1icmFuZC13aWR0aDtcbiAgICB9XG5cbiAgICAuYmxvY2stZmxvYXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBtYXJnaW46IDAuM2VtO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSA+IGEubmF2LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiAkbmF2YmFyLXZlcnRpY2FsLWNlbnRlcmluZy1hICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRuYXZiYXItaG9yaXpvbnRhbC1jZW50ZXJpbmctYTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgfVxuXG4gICAgbmF2IHtcbiAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaXRlbS1hLWFjdGl2ZS1jb2xvci1sZztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGl0ZW0tYS1hY3RpdmUtYmctbGc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRuYXZiYXItbGktd2lkdGgtZnVsbCB7XG4gICAgICAubmF2LWl0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgLm5hdiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBuYXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLXRvcCB7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LS1tYWluIHtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC40cyBlYXNlLWluLW91dCk7XG4gICAgLm5hdiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JG5hdmJhci1oZWlnaHQtbWR9IC0gKCN7JG5hdmJhci1oZWlnaHQtbmF2YmFyLW5hdn0gKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci1tYWluIHtcbiAgICAubmF2IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogJG5hdmJhci1ob3Jpem9udGFsLWNlbnRlcmluZy1saTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbG9nbyB7XG4gICAgICBAaWYgJGxnLXNob3ctbG9nbyA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSAtIDIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLW5hbWUge1xuICAgICAgQGlmICRsZy1zaG93LW5hbWUgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtc2xvZ2FuIHtcbiAgICAgIEBpZiAkbGctc2hvdy1zbG9nYW4gPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmJhci1icmFuZCB7XG4gICAgICBAaWYgJGxnLXNob3ctbmFtZSA9PSBmYWxzZSBhbmQgJGxnLXNob3ctc2xvZ2FuID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5kcm9wZG93biB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItZHJvcG1lbnUtcmFkaXVzO1xuICAgICAgICBAaWYgJG5hdmJhci1kcm9wZG93bi1tZW51LXNoYWRvdyB7XG4gICAgICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KCRuYXZiYXItc2hhZG93LW9wYWNpdHktYWZmaXgtdG9wLCAwcHgsIDZweCwgNnB4LCAwcHgsICRuYXZiYXItc2hhZG93LWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtOmxhc3QtY2hpbGQuZHJvcGRvd24sIC5kcm9wZG93bi5kcm9wZG93bi1yaWdodCB7XG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vLmN3LWZsYiB7XG4gICAgLy8gIGRpc3BsYXk6IG5vbmU7XG4gICAgLy99XG4gIH1cblxuICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAubWVudS0tbWFpbiB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGw7XG4gICAgICAubmF2IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gI3skbmF2YmFyLWhlaWdodC1uYXZiYXItbmF2fSk7XG4gICAgICB9XG4gICAgfVxuICAgICNuYXZiYXItbWFpbiB7XG4gICAgICAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZC1hZmZpeC1zY3JvbGx9IC0gMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm5hdmJhciAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItbWluaS1sb2dvLXdpZHRoLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSh4cykge1xuICAubmF2YmFyIC5uYXZiYXItYnJhbmQgYSB7XG4gICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICNuYXZiYXItbWFpbiAubmF2YmFyLWJyYW5kIHtcbiAgICBtYXgtd2lkdGg6ICRuYXZiYXItYnJhbmQtd2lkdGg7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKG1kLCBsZykge1xuICAubmF2YmFyIG5hdiAubmF2IGxpIGEge1xuICAgIHBhZGRpbmc6IDEwcHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG5AaWYgJGxvZ28tb3V0LW5hdmJhciB7XG4gICNuYXZiYXItbWFpbiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC14c30gKyAxMHB4KTtcbiAgICB9XG4gIH1cblxuICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1sb2dvIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGxlZnQgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6ICRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdDtcbiAgICB9XG5cbiAgICAuYWZmaXgtc2Nyb2xsIHtcbiAgICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kLWFmZml4LXNjcm9sbH0gKyA3cHgpO1xuICAgICAgfVxuXG4gICAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obGVmdCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgbGVmdDogY2FsYygjeyRsb2dvLW91dC1uYXZiYXItYnJhbmQtbGVmdH0gLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRsb2dvLWJnIHtcbiAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iZztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5hZmZpeC1zY3JvbGwge1xuICAgICAgI25hdmJhci1tYWluIC5uYXZiYXItbG9nbyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRuYXZiYXItdG9wIHtcbiAgLm5hdmJhciBuYXYubWVudS0tc2Vjb25kYXJ5IC5uYXYgbGkgYSB7XG4gICAgY29sb3I6IHJnYmEoJG5hdmJhci10b3AtY29sb3IsIDEpO1xuICB9XG5cbiAgLm5hdmJhciBuYXYubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAubmF2ID4gbGkgPiBhLmlzLWFjdGl2ZSxcbiAgICAubmF2ID4gbGkgPiBhOmhvdmVyLFxuICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgLm5hdiA+IGxpID4gYS5hY3RpdmUtdHJhaWwsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGEsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItdG9wLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4ge1xuICAgICAgLm1lbnUtLXNlY29uZGFyeSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSAkbmF2YmFyLXRvcC1oZWlnaHQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICB3aWR0aDogNDB2dztcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMoI3skbmF2YmFyLWZvbnQtc2l6ZX0gLSAwLjA1cmVtKTtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICAgICAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hZmZpeC1zY3JvbGwge1xuICAgICAgI25hdmJhci10b3Age1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCAwLjRzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgaGVpZ2h0OiAkbmF2YmFyLXRvcC1oZWlnaHQtYWZmaXgtc2Nyb2xsLWxnO1xuICAgICAgfVxuXG4gICAgICAjbmF2YmFyLW1haW4ge1xuICAgICAgICAubWVudS0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRvcCAwLjRzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICB0b3A6IC0gJG5hdmJhci10b3AtaGVpZ2h0LWFmZml4LXNjcm9sbC1sZztcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgMC40cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBoZWlnaHQ6ICRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIETDqWdyYWTDqSBlbiBhZmZpeC10b3AgcG91ciBhbcOpbGlvcmVyIGxpc2liaWxpdMOpIHBvdXIgbmF2YmFyIHRyYW5zcGFyZW50ZVxuQGlmICRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wIHtcbiAgLm5hdmJhciB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLWNvbG9yLTEsICRuYXZiYXItZ3JhZGllbnQtYWZmaXgtdG9wLW9wYWNpdHktMSkgMCUsIHJnYmEoJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3AtY29sb3ItMiwgJG5hdmJhci1ncmFkaWVudC1hZmZpeC10b3Atb3BhY2l0eS0yKSA3MCUpKTtcbiAgfVxuICAuYWZmaXgtc2Nyb2xsIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmVcbiAgfVxufVxuXG4vLyBDb3VsZXVycyBkZSBsYSBuYXZiYXIgZGlmZsOpcmVudHMgYXUgYWZmaXgtc2Nyb2xsXG5AaWYgJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbCB7XG4gIC5hZmZpeC1zY3JvbGwge1xuICAgIC5uYXZiYXIgLm5hdmJhci1icmFuZCBhIHsgLy8gc2xvZ2FuXG4gICAgICBjb2xvcjogJG5hdmJhci1jb2xvcnMtZGlmZmVyZW50LXNjcm9sbC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgLmFmZml4LXNjcm9sbCAubmF2YmFyLCAubmF2YmFyIC5uYXZiYXItdG9nZ2xlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24geyAvLyB0b2dnbGVyXG4gICAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLm5hdmJhciBuYXYge1xuICAgICAgLm5hdiBsaSBhIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5uYXYgPiBsaSA+IGEuaXMtYWN0aXZlLFxuICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4gICAgICAubmF2ID4gbGkgPiBhLmFjdGl2ZS10cmFpbCxcbiAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmFmZml4LXNjcm9sbCB7XG4gICAgICAubmF2YmFyIG5hdiB7XG4gICAgICAgIC5uYXYgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItY29sb3JzLWRpZmZlcmVudC1zY3JvbGwtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2ID4gbGkgPiBhLmlzLWFjdGl2ZSxcbiAgICAgICAgLm5hdiA+IGxpID4gYTpob3ZlcixcbiAgICAgICAgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgICAgICAgLm5hdiA+IGxpID4gYS5hY3RpdmUtdHJhaWwsXG4gICAgICAgIC5uYXYgPiBsaS5hY3RpdmUgPiBhLFxuICAgICAgICAubmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcbiAgICAgICAgLm5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWNvbG9ycy1kaWZmZXJlbnQtc2Nyb2xsLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbWJyZSBkZSBsYSBuYXZiYXJcbkBpZiAkbmF2YmFyLXNoYWRvdyB7XG4gIC5jdy1uYXZiYXIge1xuICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygkbmF2YmFyLXNoYWRvdy1vcGFjaXR5LWFmZml4LXRvcCwgMHB4LCA2cHgsIDZweCwgMHB4LCAkbmF2YmFyLXNoYWRvdy1jb2xvcik7XG4gIH1cbiAgLmFmZml4LXNjcm9sbCAuY3ctbmF2YmFyIHtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coJG5hdmJhci1zaGFkb3ctb3BhY2l0eS1hZmZpeC1zY3JvbGwsIDBweCwgNnB4LCA2cHgsIDBweCwgJG5hdmJhci1zaGFkb3ctY29sb3IpO1xuICB9XG59XG5cbi8vIEFmZmljaGUgbWluaS1sb2dvLXNjcm9sbGVkLnBuZyBsb3JzIGR1IHNjcm9sbFxuQGlmICRzaG93LW1pbmktbG9nby1hZmZpeC1zY3JvbGwge1xuICAubmF2YmFyIHtcbiAgICAubmF2YmFyLWxvZ28ge1xuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uL2ZpbGVzL21pbmktbG9nby1zY3JvbGxlZC5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIC5uYXZiYXIge1xuICAgICAgLm5hdmJhci1sb2dvIHtcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBib2R5LmxvYWRlZC5hZmZpeC1zY3JvbGwgLm5hdmJhci1sb2dvIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIGE6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT25nbGV0IGF2ZWMgbGlnbmUgZW4gZGVzc291c1xuQGlmICRuYXZiYXItYS11bmRlcmxpbmUtYWN0aXZlIHtcbiAgI25hdmJhci1tYWluLCAjbmF2YmFyLXRvcCB7XG4gICAgbmF2IC5uYXYgbGkgYSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMTVweDtcbiAgICB9XG5cbiAgICBuYXYgLm5hdiAuZHJvcGRvd24tbWVudSBsaS5kcm9wZG93bi1pdGVtIGEge1xuICAgICAgcGFkZGluZzogMTBweCAkaXRlbS1hLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICBsaS5uYXYtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgYS5uYXYtbGluayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJG5hdmJhci1hLXVuZGVybGluZS1oZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSwgJjpob3ZlciwgJjpmb2N1cyB7IC8vICYuaXMtYWN0aXZlIHBvdXIgbCdvbmdsZXQgQWNjdWVpbFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjYmxvY2stY3ctc2Fzcy1iczQtbWFpbi1tZW51IHtcbiAgICBhLm5hdi1saW5rIHtcbiAgICAgICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSwgJjpob3ZlciwgJjpmb2N1cyB7IC8vICYuaXMtYWN0aXZlIHBvdXIgbCdvbmdsZXQgQWNjdWVpbFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRuYXZiYXItYS11bmRlcmxpbmUtY29sb3IgMCUsICRuYXZiYXItYS11bmRlcmxpbmUtY29sb3IgMTAwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI25hdmJhci10b3AsICNibG9jay1jdy1zYXNzLWJzNC1zZWNvbmRhcnktbWVudSB7XG4gICAgYS5uYXYtbGluayB7XG4gICAgICAmLmFjdGl2ZSwgJi5pcy1hY3RpdmUsICY6aG92ZXIsICY6Zm9jdXMgeyAvLyAmLmlzLWFjdGl2ZSBwb3VyIGwnb25nbGV0IEFjY3VlaWxcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UobGluZWFyLWdyYWRpZW50KDkwZGVnLCAkbmF2YmFyLXRvcC1hLXVuZGVybGluZS1jb2xvciAwJSwgJG5hdmJhci10b3AtYS11bmRlcmxpbmUtY29sb3IgMTAwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICNuYXZiYXItbWFpbiwgI25hdmJhci10b3Age1xuICAgICAgbmF2IC5uYXYgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggJGl0ZW0tYS1wYWRkaW5nLXg7XG4gICAgICB9XG5cbiAgICAgIGEubmF2LWxpbmsge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGlmICgkbmF2YmFyLWEtdW5kZXJsaW5lLWFjdGl2ZS1wb3NpdGlvbiA9PSBjZW50ZXIpIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICgkbmF2YmFyLWEtdW5kZXJsaW5lLWFjdGl2ZS1wb3NpdGlvbiA9PSBjZW50ZXIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6ICRuYXZiYXItYS11bmRlcmxpbmUtd2lkdGg7XG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JG5hdmJhci1hLXVuZGVybGluZS13aWR0aH0gLyAyKSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgd2lkdGg6ICRuYXZiYXItYS11bmRlcmxpbmUtd2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExvZ28gcHJlbmRzIGxhIGhhdXRldXIgZGUgbGEgbmF2YmFyIHByaW5jaXBhbCBwbHVzIGxhIG5hdmJhciBzZWNvbmRhaXJlXG5AaWYgJG5hdmJhci10b3AtbG9nby1vdmVyIGFuZCAkbmF2YmFyLXRvcCB7XG4gIC5tZW51LS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgkbmF2YmFyLXRvcC1iZywgMCkgMTAlLCBkYXJrZW4oJG5hdmJhci10b3AtYmcsIDMlKSA3MCUpO1xuICB9XG5cbiAgI2Jsb2NrLWluZm9ybWF0aW9uc25hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAjbmF2YmFyLW1haW4gLm5hdmJhci1sb2dvIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzVweDtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kfSArICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtIDEwcHgpO1xuICAgIH1cbiAgICAuYWZmaXgtc2Nyb2xsICNuYXZiYXItbWFpbiAubmF2YmFyLWxvZ28gaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICAgICAgbWF4LWhlaWdodDogY2FsYygjeyRuYXZiYXItaGVpZ2h0LW1kLWFmZml4LXNjcm9sbH0gKyAjeyRuYXZiYXItdG9wLWhlaWdodC1hZmZpeC1zY3JvbGwtbGd9IC0gMTBweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGxvZ28gY2VudHLDqVxuQGlmICRsb2dvLWNlbnRlci1uYXZiYXIge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgI25hdmJhci1tYWluIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgI2Jsb2NrLWN3LXNhc3MtYnM0LW1haW4tbWVudSAubmF2LCAubmF2YmFyLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubmF2YmFyLWxvZ28ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgIH1cblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNibG9jay1jdy1zYXNzLWJzNC1tYWluLW1lbnUge1xuICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG5cbiAgICAgIGxpLm5hdi1pdGVtIHtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICAmOm50aC1jaGlsZCgjeyRsb2dvLWNlbnRlci1uYXZiYXItcG9zaXRpb259KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLW1pbmktbG9nby13aWR0aC1sZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgYmx1ciAtIGZsb3VcbkBpZiAkbmF2YmFyLWJsdXIge1xuICAjbmF2YmFyLW1haW4ge1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRibHVyLXZhbHVlKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICB9XG59XG4iLCIvLyBjYXJvdXNlbCBkYW5zIGp1bWJvdHJvblxuLmp1bWJvdHJvbi1jYXJvdXNlbCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQsXG4uanVtYm90cm9uLWNhcm91c2VsIC5jb250ZW50IC5maWVsZCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkIC5jYXJvdXNlbCxcbi5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNvbnRlbnQgLmZpZWxkIC5jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIsXG4uanVtYm90cm9uLWNhcm91c2VsIC5jb250ZW50IC5maWVsZCAuY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIC5jYXJvdXNlbC1pdGVtIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jbWFpbiAuY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4gIFtjbGFzcyo9XCJjYXJvdXNlbC1jb250cm9sLVwiXSB7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG5cbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmLmp1bWJvdHJvbi1jYXJvdXNlbC1mciB7XG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MyLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MzLW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2M0LW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDUpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2M1LW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDYpIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2M2LW1vYi5qcGcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvdHRvbTogLTVweDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cblxuICAvLyBQZXJtZXQgZGUgZMOpY2VudHJlciB1bmUgc2xpZGUgZHUgY2Fyb3VzZWwgKHBvdXIgbGUgbW9iaWxlLCB2b2lyIGxlIHJlbmR1IGVuIDE5MjBweClcbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC04NXB4O1xuICAvL31cbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMikge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC01NXB4O1xuICAvL31cbiAgLy8uY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0xMTVweDtcbiAgLy99XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgJi5qdW1ib3Ryb24tY2Fyb3VzZWwtZnIge1xuICAgICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MyLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMy5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzQuanBnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCg1KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2M1LmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoNikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jNi5qcGcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmp1bWJvdHJvbi1jYXJvdXNlbC1uZiB7XG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLmpwZycpO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMi1zbGltLmpwZycpO1xuICAgICAgfVxuXG4gICAgICAuY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMy1zbGltLmpwZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjYXJvdXNlbCBjb250ZW5hbnQgdW5pcXVlbWVudCBkdSB0ZXh0ZVxuLmN3LWNhcm91c2VsLXR4dCB7XG4gIC5jaXRhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRzZWNvbmRhcnktZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbiAgLmF1dGV1ciB7XG4gICAgZm9udC1mYW1pbHk6ICRkYW1pZXItaDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRkYW1pZXItaDItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDAuMDUpO1xuICB9XG5cbiAgLmNhcm91c2VsLWlubmVyIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4wNSk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5jdy1jYXJvdXNlbC10eHQge1xuICAgIC5jYXJvdXNlbC1pbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG59XG5cbi5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwsIC5qdW1ib3Ryb24tYmxvYy1jdXN0b20sIC5qdW1ib3Ryb24tYmxvYy1pbmZvcyB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5qdW1ib3Ryb24tYmxvYy1ibG9jLXByaW5jaXBhbC1jaGlsZC0yIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWxvZ28gaW1nIHtcbiAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpKTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWRlbm9taW5hdGlvbiB7XG4gIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDEpO1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUteHM7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWxldHRlci1zcGFjaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogJGp1bWJvdHJvbi1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm07XG4gIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAgdGV4dC1zaGFkb3c6ICRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpO1xuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0LXN0cm9uZztcbiAgfVxufVxuXG4uanVtYm90cm9uLXNsb2dhbiB7XG4gIGNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tY29sb3IsIDEpO1xuICBmb250LWZhbWlseTogJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLXNsb2dhbi1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUteHM7XG4gIGxpbmUtaGVpZ2h0OiAkanVtYm90cm9uLXNsb2dhbi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRqdW1ib3Ryb24tc2xvZ2FuLWxldHRlci1zcGFjaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogJGp1bWJvdHJvbi1zbG9nYW4tdGV4dC10cmFuc2Zvcm07XG4gIEBpZiAkanVtYm90cm9uLXNoYWRvdyB7XG4gICAgdGV4dC1zaGFkb3c6ICRqdW1ib3Ryb24tc2hhZG93LXggJGp1bWJvdHJvbi1zaGFkb3cteSAkanVtYm90cm9uLXNoYWRvdy1ibHVyIHJnYmEoJGp1bWJvdHJvbi1zaGFkb3ctY29sb3IsICRqdW1ib3Ryb24tc2hhZG93LW9wYWNpdHkpO1xuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tc2xvZ2FuLWZvbnQtd2VpZ2h0LXN0cm9uZztcbiAgfVxufVxuXG4uanVtYm90cm9uLXRlbGVwaG9uZSBhIHtcbiAgY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1jb2xvciwgMC44NSk7XG4gIGZvbnQtZmFtaWx5OiAkanVtYm90cm9uLXRlbC1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tdGVsLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tdGVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRqdW1ib3Ryb24tdGVsLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGp1bWJvdHJvbi10ZWwtbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLXRlbC10ZXh0LXRyYW5zZm9ybTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIH1cbiAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICB0ZXh0LXNoYWRvdzogJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSk7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1hZHJlc3NlIGEge1xuICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tYWRyZXNzZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRqdW1ib3Ryb24tYWRyZXNzZS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLWFkcmVzc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi1hZHJlc3NlLWxpbmUtaGVpZ2h0O1xuICBsZXR0ZXItc3BhY2luZzogJGp1bWJvdHJvbi1hZHJlc3NlLWxldHRlci1zcGFjaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogJGp1bWJvdHJvbi1hZHJlc3NlLXRleHQtdHJhbnNmb3JtO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgfVxuICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgIHRleHQtc2hhZG93OiAkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWJvdXRvbi0xICB7XG4gIGZvbnQtZmFtaWx5OiAkanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGp1bWJvdHJvbi1ib3V0b24tMS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkanVtYm90cm9uLWJvdXRvbi0xLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRqdW1ib3Ryb24tYm91dG9uLTEtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkanVtYm90cm9uLWJvdXRvbi0xLWxldHRlci1zcGFjaW5nO1xuICB0ZXh0LXRyYW5zZm9ybTogJGp1bWJvdHJvbi1ib3V0b24tMS10ZXh0LXRyYW5zZm9ybTtcbiAgYSB7XG4gICAgY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1jb2xvciwgMC44NSk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgICB9XG4gICAgQGlmICRqdW1ib3Ryb24tc2hhZG93IHtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJGp1bWJvdHJvbi1zaGFkb3cteCAkanVtYm90cm9uLXNoYWRvdy15ICRqdW1ib3Ryb24tc2hhZG93LWJsdXIgcmdiYSgkanVtYm90cm9uLXNoYWRvdy1jb2xvciwgJGp1bWJvdHJvbi1zaGFkb3ctb3BhY2l0eSkpO1xuICAgIH1cbiAgfVxufVxuXG4uanVtYm90cm9uLWJvdXRvbi0yIHtcbiAgZm9udC1mYW1pbHk6ICRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkanVtYm90cm9uLWJvdXRvbi0yLWZvbnQtd2VpZ2h0O1xuICBmb250LXNpemU6ICRqdW1ib3Ryb24tYm91dG9uLTItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGp1bWJvdHJvbi1ib3V0b24tMi1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6ICRqdW1ib3Ryb24tYm91dG9uLTItbGV0dGVyLXNwYWNpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiAkanVtYm90cm9uLWJvdXRvbi0yLXRleHQtdHJhbnNmb3JtO1xuICBhIHtcbiAgICBjb2xvcjogcmdiYSgkanVtYm90cm9uLWNvbG9yLCAwLjg1KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkanVtYm90cm9uLWNvbG9yO1xuICAgIH1cbiAgICBAaWYgJGp1bWJvdHJvbi1zaGFkb3cge1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygkanVtYm90cm9uLXNoYWRvdy14ICRqdW1ib3Ryb24tc2hhZG93LXkgJGp1bWJvdHJvbi1zaGFkb3ctYmx1ciByZ2JhKCRqdW1ib3Ryb24tc2hhZG93LWNvbG9yLCAkanVtYm90cm9uLXNoYWRvdy1vcGFjaXR5KSk7XG4gICAgfVxuICB9XG59XG5cbi5ub3QtZnJvbnQgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICBtaW4taGVpZ2h0OiAkanVtYm90cm9uLWhlaWdodC1ub3QtZnJvbnQ7XG5cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udDtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICB9XG5cbiAgLm5vdC1mcm9udCAuY3ctanVtYm90cm9uIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIC5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAkanVtYm90cm9uLWRlbm9taW5hdGlvbi1mb250LXNpemUtbGctbmY7XG4gICAgICB9XG4gICAgICAuanVtYm90cm9uLXNsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1zbG9nYW4tZm9udC1zaXplLWxnLW5mO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgICBmb250LXNpemU6ICRqdW1ib3Ryb24tZGVub21pbmF0aW9uLWZvbnQtc2l6ZS1sZztcbiAgfVxuICAuanVtYm90cm9uLXNsb2dhbiB7XG4gICAgZm9udC1zaXplOiAkanVtYm90cm9uLXNsb2dhbi1mb250LXNpemUtbGc7XG4gIH1cbn1cblxuQGlmICRuYXZiYXItb3BhY2l0eSA8IDEge1xuICAuY3ctbmF2YmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gTUFSR0VTXG4uanVtYm90cm9uLWRlbm9taW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1kZW5vbWluYXRpb247XG59XG4uanVtYm90cm9uLXNsb2dhbiB7XG4gIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24teHMtbWFyZ2luLXRvcC1zbG9nYW47XG59XG4uanVtYm90cm9uLWFkcmVzc2Uge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYWRyZXNzZTtcbn1cbi5qdW1ib3Ryb24tdGVsZXBob25lIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLXRlbGVwaG9uZTtcbn1cbi5qdW1ib3Ryb24tYm91dG9uLTEge1xuICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLXhzLW1hcmdpbi10b3AtYm91dG9uLTE7XG59XG4uanVtYm90cm9uLWJvdXRvbi0yIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWJvdXRvbi0yO1xufVxuLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yIHtcbiAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi14cy1tYXJnaW4tdG9wLWp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3AtZGVub21pbmF0aW9uO1xuICB9XG4gIC5qdW1ib3Ryb24tc2xvZ2FuIHtcbiAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLWZyb250LW1hcmdpbi10b3Atc2xvZ2FuO1xuICB9XG4gIC5qdW1ib3Ryb24tYWRyZXNzZSB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWFkcmVzc2U7XG4gIH1cbiAgLmp1bWJvdHJvbi10ZWxlcGhvbmUge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC10ZWxlcGhvbmU7XG4gIH1cbiAgLmp1bWJvdHJvbi1ib3V0b24tMSB7XG4gICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0xO1xuICB9XG4gIC5qdW1ib3Ryb24tYm91dG9uLTIge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMjtcbiAgfVxuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tZnJvbnQtbWFyZ2luLXRvcC1qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMjtcbiAgfVxuXG4gIC5ub3QtZnJvbnQge1xuICAgIC5qdW1ib3Ryb24tZGVub21pbmF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtZGVub21pbmF0aW9uO1xuICAgIH1cbiAgICAuanVtYm90cm9uLXNsb2dhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLXNsb2dhbjtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1hZHJlc3NlIHtcbiAgICAgIG1hcmdpbi10b3A6ICRqdW1ib3Ryb24tbm90LWZyb250LW1hcmdpbi10b3AtYWRyZXNzZTtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi10ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC10ZWxlcGhvbmU7XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tYm91dG9uLTEge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1ib3V0b24tMTtcbiAgICB9XG4gICAgLmp1bWJvdHJvbi1ib3V0b24tMiB7XG4gICAgICBtYXJnaW4tdG9wOiAkanVtYm90cm9uLW5vdC1mcm9udC1tYXJnaW4tdG9wLWJvdXRvbi0yO1xuICAgIH1cbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTIge1xuICAgICAgbWFyZ2luLXRvcDogJGp1bWJvdHJvbi1ub3QtZnJvbnQtbWFyZ2luLXRvcC1ibG9jLXByaW5jaXBhbC1jaGlsZC0yO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogSlVNQk9UUk9OIEFORFJPTUVERSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4ucmVnaW9uLWp1bWJvdHJvbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC14c30gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcblxuICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC14c30gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICB0ZXh0LWFsaWduOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZztcblxuICAuZmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4ucmVnaW9uLWp1bWJvdHJvbiwgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbltjbGFzcyo9XCJqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtXCJdIHtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ubm90LWZyb250IHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcbiAgICB9XG4gICAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZiA9PSBmYWxzZSB7XG4gICAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLW1vYi5qcGcnKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtc2xpbS1tb2IuanBnJyk7XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIC5maWVsZCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSk7XG4gICAgICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9ICsgNjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1sb2dvIGltZyB7XG4gICAgbWF4LWhlaWdodDogJGpibmYtbG9nby1tYXgtaGVpZ2h0O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAubm90LWZyb250IC5qdW1ib3Ryb24tbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0pO1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQtbWR9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSk7XG4gICAgfVxuICB9XG5cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JG5hdmJhci10b3AtaGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pO1xuICB9XG5cblxuICAubm90LWZyb250IHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBAaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IGZhbHNlIHtcbiAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC5jb250ZXh0dWFsLXJlZ2lvbiB7IC8vIFLDqWluaXRpYWxpc2UgbGUgcG9zaXRpb24gcmVsYXRpdmUgZHUgbW9kZSBjb25uZWN0w6kuXG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSBhbmQgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsLW5mID09IGZhbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtc2xpbS5qcGcnKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYgPT0gZmFsc2Uge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1zbGltLmpwZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAuZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgW2NsYXNzKj1cImp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC1cIl0ge1xuICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nID09IFwiYmV0d2VlblwiIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY2VudGVyaW5nID09IFwiYmV0d2VlblwiIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKiogKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBPUFRJT05TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG5AaWYgJG5hdmJhci1vcGFjaXR5ICE9IDEge1xuICAjYmxvY2stanVtYm90cm9uLWxvZ28tc2xvZ2FuIC5jb250ZXh0dWFsIHtcbiAgICB0b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyA0MHB4KTtcbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1wb3NpdGlvbiA9PSB0b3Age1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICB0b3A6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHM7XG4gIH1cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICB0b3A6IHVuc2V0O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgIHRvcDogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZztcbiAgICB9XG4gIH1cbn1cblxuLy9cbkBpZiAkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSk7XG5cbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICBib3R0b206IDN2aDtcbiAgICB9XG4gIH1cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KTtcblxuICAgICAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgICAgICBib3R0b206IDEwdmg7XG4gICAgICB9XG4gICAgfVxuICAgIC5ub3QtZnJvbnQgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTogM3ZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSBhbmQgJGp1bWJvdHJvbi1ibG9jLWluZm9zLXBvc2l0aW9uID09IHRvcCB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4vL1xuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtZm9uZCB7XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIHdpZHRoOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLXdpZHRoO1xuICB9XG5cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0xIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kLWNvbG9yLCAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWZvbmQtb3BhY2l0eSk7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1idG47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy9cbkBpZiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWxvZ28tZm9uZCB7XG4gIC5qdW1ib3Ryb24tbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogY2FsYygzMHZoICsgMnJlbSk7XG4gICAgd2lkdGg6IGNhbGMoMzB2aCArIDJyZW0pO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLWNvbG9yLCAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWxvZ28tZm9uZC1vcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBibHVyIC0gZmxvdVxuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtbG9nby1mb25kLWJsdXIge1xuICAuanVtYm90cm9uLWxvZ28ge1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRibHVyLXZhbHVlKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICB9XG59XG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1mb25kLWJsdXIge1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTEge1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKCRibHVyLXZhbHVlKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJGJsdXItdmFsdWUpO1xuICB9XG59XG5cblxuLy8gQm91dG9ucyBjw7R0ZSDDoCBjw7R0ZSBlbiBmcm9udFxuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtYm91dG9ucy1lbi1saWduZSB7XG4gIC5qdW1ib3Ryb24tYm91dG9uLTEge1xuICAgIC5idG4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuanVtYm90cm9uLWJvdXRvbi0xIHtcbiAgICAgIC5idG4ge1xuICAgICAgICBtYXJnaW46IDAuMjVyZW0gMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAubm90LWZyb250IHtcbiAgICAgIC5qdW1ib3Ryb24tYm91dG9uLTEge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW0gYXV0bztcbiAgICAgICAgICAvL21hcmdpbjogMCBhdXRvIDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDZW50cmFnZSBkZXMgdGV4dGVzIGR1IGp1bWJvdHJvbiBldCBjYXJvdXNlbC1jYXB0aW9uIGVuIGZyb250XG5AaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gbGVmdCBPUiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZyA9PSBjZW50ZXIgT1IgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gcmlnaHQge1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICB0ZXh0LWFsaWduOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZztcbiAgfVxuICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNlbnRlcmluZztcbiAgICB9XG4gIH1cbn1cblxuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nID09IGxlZnRjZW50ZXIgT1IgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gcmlnaHRjZW50ZXIge1xuICBAaWYgJGp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jZW50ZXJpbmcgPT0gcmlnaHRjZW50ZXIge1xuICAgIC5wYXRoLWZyb250cGFnZSAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIC5jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuICAucGF0aC1mcm9udHBhZ2UgW2NsYXNzKj1cImp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC1cIl17XG4gICAgbWF4LXdpZHRoOiAkanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLXdpZHRoO1xuICB9XG4gIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gMiBjb2xvbm5lc1xuQGlmICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtMi1jb2wge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDd2dztcbiAgICB9XG4gIH1cbn1cblxuLy8gQXZhbnQvQXByw6hzIGVuIDIgY29sb25uZXMgZW4gZnJvbnRcbkBpZiAkanVtYm90cm9uLWF2YW50LWFwcmVzLWZyb250IHtcbiAgLm5vdC1mcm9udCB7XG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbC1jaGlsZC0yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucGF0aC1mcm9udHBhZ2Uge1xuICAgICAgLnJlZ2lvbi1qdW1ib3Ryb24gLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIC5iZWVyLXNsaWRlciB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDEycHggJHdoaXRlO1xuICAgICAgICAgIC5iZWVyLWhhbmRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LCAwLjUpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW90aWYgb3ZlcmxheSBzYW5zIGNhcm91c2VsXG5AaWYgJGp1bWJvdHJvbi1vdmVybGF5IGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gZmFsc2Uge1xuICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLWp1bWJvdHJvbiwgdHJ1ZSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIHNhbnMgY2Fyb3VzZWxcbkBpZiAkanVtYm90cm9uLWdyYWRpZW50IHtcbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMS14cykgMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0yLXhzKSAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1leHRlbmRlZCk7XG4gICAgICB9XG4gICAgICAmLmNvbnRleHR1YWwtcmVnaW9uIHsgLy8gUsOpaW5pdGlhbGlzZSBsZSBwb3NpdGlvbiByZWxhdGl2ZSBkdSBtb2RlIGNvbm5lY3TDqS5cbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICAgIC5ub3QtZnJvbnQge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbi1uZiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvci1uZiwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnLW5mKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGctbmYpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkLW5mKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGcpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwtbmYgPT0gdHJ1ZSB7XG4gICAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1uZi14cyA9PSBmYWxzZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgLm5vdC1mcm9udCB7XG4gICAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGctbmYpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZy1uZikgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICdqdW1ib3Ryb24tYW5kcm9tZWRlLW5hdmJhcic7XG5AaW1wb3J0ICdqdW1ib3Ryb24tYW5kcm9tZWRlLWJsb2MtaW5mb3MnO1xuQGltcG9ydCAnanVtYm90cm9uLWFuZHJvbWVkZS1jYXJvdXNlbCc7XG4iLCIvKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIEpVTUJPVFJPTiBBTkRST01FREUgQkxPQyBJTkZPUyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIE5BVkJBUiBQUklOQ0lQQUwgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIFRyYW5zcGFyZW50ZVxuQGlmICRuYXZiYXItb3BhY2l0eSA8IDEge1xuICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDYwcHggKyAjeyRuYXZiYXItaGVpZ2h0LXhzfSArICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSkgIWltcG9ydGFudDtcbiAgfVxuICAubm90LWZyb250IHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHQtbm90LWZyb250fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCAuZmllbGQge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC1sZ30pICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwgLmZpZWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDYwcHggKyAjeyRuYXZiYXItaGVpZ2h0LW1kfSArICN7JG5hdmJhci10b3AtaGVpZ2h0fSk7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LWxnfSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogTkFWQkFSIFRPUCAgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8vIExvZ28gb3ZlclxuLy8gTG9nbyBwcmVuZHMgbGEgaGF1dGV1ciBkZSBsYSBuYXZiYXIgcHJpbmNpcGFsIHBsdXMgbGEgbmF2YmFyIHNlY29uZGFpcmVcbkBpZiAkbmF2YmFyLXRvcC1sb2dvLW92ZXIgYW5kICRuYXZiYXItdG9wIHtcbiAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skanVtYm90cm9uLWhlaWdodH0gLSAjeyRuYXZiYXItaGVpZ2h0LXhzfSAtICN7JGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14c30pO1xuICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQteHN9KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLnJlZ2lvbi1qdW1ib3Ryb24ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygjeyRqdW1ib3Ryb24taGVpZ2h0fSAtICN7JG5hdmJhci1oZWlnaHQtbWR9IC0gI3skbmF2YmFyLXRvcC1oZWlnaHR9KTtcbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGp1bWJvdHJvbi1oZWlnaHR9IC0gI3skbmF2YmFyLWhlaWdodC1tZH0gLSAjeyRuYXZiYXItdG9wLWhlaWdodH0gLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogSlVNQk9UUk9OIEFORFJPTUVERSBCTE9DIElORk9TICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuLmp1bWJvdHJvbi1ibG9jLWluZm9zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogJGp1bWJvdHJvbi1ibG9jLWluZm9zLWhlaWdodC14cztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmcsICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5KTtcbiAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWdyYWRpZW50LWRlZywgcmdiYSgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmcsICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5KSAkanVtYm90cm9uLWJsb2MtaW5mb3MtZ3JhZGllbnQtc3RhcnQsIHJnYmEoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLWVuZCwgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkpICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1ncmFkaWVudC1lbmQpO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHggMC41cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogNzAlO1xuICAgIGNvbG9yOiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3I7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3ItbGluaztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkanVtYm90cm9uLWJsb2MtaW5mb3MtY29sb3ItbGluay1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuanVtYm90cm9uLWJsb2MtaW5mb3Mge1xuICAgIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGc7XG5cbiAgICAuZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vPiBkaXYge1xuICAgICAgLy8gIGZsZXg6IDE7XG4gICAgICAvL31cbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIEpVTUJPVFJPTiBBTkRST01FREUgQ0FST1VTRUwgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cblxuLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBib3R0b206IGNhbGMoI3skanVtYm90cm9uLWJsb2MtaW5mb3MtaGVpZ2h0LXhzfSArIDN2aCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246ICRqdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2VudGVyaW5nO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgfVxuICB9XG5cbiAgW2NsYXNzKj1cImNhcm91c2VsLWNvbnRyb2wtXCJdIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQteHN9KTtcbiAgfVxufVxuXG4ubm90LWZyb250IC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICAgIGJvdHRvbTogMTIlO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICAgIGJvdHRvbTogY2FsYygjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9ICsgNXZoKTtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjYXJvdXNlbC1jb250cm9sLVwiXSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRqdW1ib3Ryb24tYmxvYy1pbmZvcy1oZWlnaHQtbGd9KTtcbiAgICB9XG4gIH1cblxuICAubm90LWZyb250IC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRqdW1ib3Ryb24taGVpZ2h0LW5vdC1mcm9udDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvdHRvbTogY2FsYygjeyRuYXZiYXItaGVpZ2h0LXhzfSArIDAuNzVyZW0pO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKiogKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogT1BUSU9OUyAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqICoqKioqKioqKioqKioqL1xuXG5AaWYgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IGZhbHNlIHtcbiAgLmp1bWJvdHJvbi1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEpIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLW1vYi5qcGcnKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA8IDEpIHtcbiAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1tb2IuanBnJyk7XG5cbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGlmICgkanVtYm90cm9uLWJsb2MtaW5mb3MtYmctb3BhY2l0eSA9PSAxKSB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEuanBnJyk7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPCAxKSB7XG4gICAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nhcm91c2VsL2MxLmpwZycpO1xuXG4gICAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbCA9PSB0cnVlIHtcbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSB0cnVlIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAuanVtYm90cm9uLWNhcm91c2VsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIEBpZiAoJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgPT0gMSkge1xuICAgICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jYXJvdXNlbC9jMS1tb2IuanBnJyk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2UgaWYgKCRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5IDwgMSkge1xuICAgICAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2Fyb3VzZWwvYzEtbW9iLmpwZycpO1xuXG4gICAgICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdGlmIG92ZXJsYXkgYXZlYyBjYXJvdXNlbFxuQGlmICRqdW1ib3Ryb24tb3ZlcmxheSBhbmQgJGp1bWJvdHJvbi1ibG9jLWNhcm91c2VsID09IHRydWUge1xuICAuanVtYm90cm9uLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLWp1bWJvdHJvbiwgdHJ1ZSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIGF2ZWMgbGUgY2Fyb3VzZWxcbkBpZiAkanVtYm90cm9uLWdyYWRpZW50IGFuZCAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwgPT0gdHJ1ZSB7XG4gIC5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMCwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHMpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm5vdC1mcm9udCB7XG4gICAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLW5mLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLW5mLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEtbGctbmYpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3ItbmYsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi1sZy1uZikgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQtbmYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLWxnKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTItbGcpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRMOpZ3JhZMOpIHNldWxlbWVudCBhdmVjIGNhcm91c2VsIGVuIGxnXG5AaWYgJGp1bWJvdHJvbi1ncmFkaWVudCB7XG4gIEBpZiAkanVtYm90cm9uLWJsb2MtY2Fyb3VzZWwteHMgPT0gZmFsc2UgYW5kICRqdW1ib3Ryb24tYmxvYy1pbmZvcy1iZy1vcGFjaXR5ID09IDEge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgYmVmb3JlLWFmdGVyLWZ1bGw7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9yaWVudGF0aW9uLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTEteHMpIDAsIHJnYmEoJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtY29sb3IsICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LW9wYWNpdHktMi14cykgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtZXh0ZW5kZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC14cyA9PSBmYWxzZSBhbmQgJGp1bWJvdHJvbi1ibG9jLWluZm9zLWJnLW9wYWNpdHkgIT0gMSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAucmVnaW9uLWp1bWJvdHJvbiB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJlZm9yZS1hZnRlci1mdWxsO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcmllbnRhdGlvbiwgcmdiYSgkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1jb2xvciwgJGp1bWJvdHJvbi1saW5lYXItZ3JhZGllbnQtb3BhY2l0eS0xLXhzKSAwLCByZ2JhKCRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWNvbG9yLCAkanVtYm90cm9uLWxpbmVhci1ncmFkaWVudC1vcGFjaXR5LTIteHMpICRqdW1ib3Ryb24tbGluZWFyLWdyYWRpZW50LWV4dGVuZGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBtaW5pIGNhcm91c2VsIGRhbnMgbGUganVtYm90cm9uIChkw6lzYWN0aXZlciBibG9jKVxuQGlmICRqdW1ib3Ryb24tYmxvYy1jYXJvdXNlbC1taW5pIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogMzh2dztcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsYyg0MnZ3IC0gMTIwcHgpO1xuICAgICAgICB3aWR0aDogY2FsYyg0MnZ3IC0gMTIwcHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhdGgtZnJvbnRwYWdlIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShsZykge1xuICAgIC5yZWdpb24tanVtYm90cm9uIHtcbiAgICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgIH1cbiAgICAgIC5qdW1ib3Ryb24tY2Fyb3VzZWwge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTB2dyAtIDEyMHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTB2dyAtIDEyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZWdpb24tZm9vdGVyLXNlY29uZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWdpb24tZm9vdGVyLXNlY29uZC1iZztcbn1cblxuLmJsb2NrLWZ0LWNvb3Jkb25uZWVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2MtZnQtY29vcmRvbm5lZXMtYmc7XG59XG5cbi5ibG9jay13Zi1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsb2Mtd2YtY29udGFjdC1iZztcbn1cblxuLmZ0LWRlbm9taW5hdGlvbiB7XG4gIGNvbG9yOiAkZm9vdGVyLWRlbm9taW5hdGlvbi1jb2xvcjtcbn1cblxuLmZ0LXNsb2dhbiB7XG4gIGNvbG9yOiAkZm9vdGVyLXNsb2dhbi1jb2xvcjtcbn1cblxuLmZ0LWFkcmVzc2Uge1xuICBjb2xvcjogJGZvb3Rlci1hZHJlc3NlLWNvbG9yO1xufVxuXG4uZnQtdGVsZXBob25lIGEge1xuICBjb2xvcjogJGZvb3Rlci10ZWwtY29sb3I7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZm9vdGVyLXRlbC1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4uZnQtaG9yYWlyZSB7XG4gIGNvbG9yOiAkZm9vdGVyLWhvcmFpcmUtY29sb3I7XG59XG4iLCIkY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LXdlaWdodDogJHRpdGxlLW5vcm1hbC13ZWlnaHQ7XG4kY29udGFjdC1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kY29udGFjdC1kZW5vbWluYXRpb24tZm9udC1zaXplOiAycmVtO1xuJGNvbnRhY3QtZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRjb250YWN0LWRlbm9taW5hdGlvbi1sZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4kY29udGFjdC1zbG9nYW4tZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kY29udGFjdC1zbG9nYW4tZm9udC13ZWlnaHQ6ICR0aXRsZS1ub3JtYWwtd2VpZ2h0O1xuJGNvbnRhY3Qtc2xvZ2FuLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJGNvbnRhY3Qtc2xvZ2FuLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRjb250YWN0LWFkcmVzc2UtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kY29udGFjdC1hZHJlc3NlLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJGNvbnRhY3QtYWRyZXNzZS1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG4kY29udGFjdC10ZWxlcGhvbmUtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kY29udGFjdC10ZWxlcGhvbmUtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kY29udGFjdC10ZWxlcGhvbmUtbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xuJGNvbnRhY3QtaG9yYWlyZS1mb250OiAkY29udGFjdC1mb250LWZhbWlseTtcbiRjb250YWN0LWhvcmFpcmUtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kY29udGFjdC1ob3JhaXJlLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcblxuLmJsb2NrLWZ0LWNvb3Jkb25uZWVzIHtcbiAgcGFkZGluZzogJGJldHdlZW4tem9uZXMgMzBweDtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRjb250YWN0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LWxpbmUtaGVpZ2h0O1xufVxuXG4uYmxvY2std2YtY29udGFjdCB7XG4gIHBhZGRpbmc6ICRiZXR3ZWVuLXpvbmVzIDMwcHg7XG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uZnQtbG9nbyBpbWcge1xuICBtYXgtd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mdC1kZW5vbWluYXRpb24ge1xuICBmb250LWZhbWlseTogJGNvbnRhY3QtZGVub21pbmF0aW9uLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvbnRhY3QtZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGNvbnRhY3QtZGVub21pbmF0aW9uLXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRjb250YWN0LWRlbm9taW5hdGlvbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG59XG5cbi5mdC1zbG9nYW4gc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LXNsb2dhbi1mb250O1xuICBmb250LXNpemU6ICRjb250YWN0LXNsb2dhbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY29udGFjdC1zbG9nYW4tbGluZS1oZWlnaHQ7XG59XG5cbi5mdC1hZHJlc3NlIHtcbiAgZm9udC1mYW1pbHk6ICRjb250YWN0LWFkcmVzc2UtZm9udDtcbiAgZm9udC1zaXplOiAkY29udGFjdC1hZHJlc3NlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LWFkcmVzc2UtbGluZS1oZWlnaHQ7XG59XG5cbi5mdC10ZWxlcGhvbmUge1xuICBmb250LWZhbWlseTogJGNvbnRhY3QtdGVsZXBob25lLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGNvbnRhY3QtdGVsZXBob25lLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjb250YWN0LXRlbGVwaG9uZS1saW5lLWhlaWdodDtcbn1cblxuLmZ0LWhvcmFpcmUge1xuICBmb250LWZhbWlseTogJGNvbnRhY3QtaG9yYWlyZS1mb250O1xuICBmb250LXNpemU6ICRjb250YWN0LWhvcmFpcmUtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNvbnRhY3QtaG9yYWlyZS1saW5lLWhlaWdodDtcbn1cblxuLy8gKioqKioqKioqKioqKioqKiBRVUVSSUVTICoqKioqKioqKioqKioqKipcblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAucmVnaW9uLWZvb3Rlci1zZWNvbmQgLnNlY3Rpb24td3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEyMzBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5ibG9jay1mdC1jb29yZG9ubmVlcyB7XG4gICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgJGJldHdlZW4tem9uZXM7XG4gIH1cblxuICAuYmxvY2std2YtY29udGFjdCB7XG4gICAgcGFkZGluZzogJGJldHdlZW4tem9uZXMtbGcgJGJldHdlZW4tem9uZXM7XG4gIH1cbn1cbiIsIi5yZWdpb24tZm9vdGVyLWZpZnRoIHtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzICogMC42NTtcbiAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzICogMC42NTtcbiAgYmFja2dyb3VuZDogJGJvdHRvbS1iZztcbiAgQGlmICgkYm90dG9tLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRib3R0b20tZ3JhZGllbnQtZGVnLCAkYm90dG9tLWJnICRib3R0b20tZ3JhZGllbnQtc3RhcnQsICRib3R0b20tYmctZW5kICRib3R0b20tZ3JhZGllbnQtZW5kKTtcbiAgfVxufVxuXG4uaW5mb3MtYm90dG9tIHtcbiAgZm9udC1mYW1pbHk6ICRib3R0b20tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJvdHRvbS1mb250LXNpemU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRib3R0b20tY29sb3IsIDEpLCAkYm90dG9tLWNvbG9yKTtcblxuICBhLCBhW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRib3R0b20tY29sb3IsIDEpLCAkYm90dG9tLWNvbG9yKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGE6aG92ZXIsIGFbdHlwZT1cImJ1dHRvblwiXTpob3ZlciB7XG4gICAgQGluY2x1ZGUgYWxwaGEtYXR0cmlidXRlKCdjb2xvcicsIHJnYmEoJGJvdHRvbS1jb2xvciwgMC44KSwgJGJvdHRvbS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmNyZWEgaW1nIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqKioqKioqIFFVRVJJRVMgKioqKioqKioqKioqKioqKlxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmluZm9zLWJvdHRvbSB7XG4gICAgLmNyZWEgaW1nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogNHB4IDAgMCAxNXB4O1xuICAgIH1cbiAgfVxufVxuIiwiaHRtbCB7XG4gIGZvbnQtc2l6ZTogJGN3LWZvbnQtc2l6ZS14cztcbn1cblxuYm9keSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbn1cblxuLnRhYmxlIHtcbiAgdGgge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRjdy1mb250LXNpemUtbWQ7XG4gIH1cblxuICAucGF0aC1mcm9udHBhZ2Uge1xuICAgIGgxLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZSAqIDEuMztcbiAgICB9XG5cbiAgICAudGl0bGUtaDIsIC5ibG9jay13Zi1jb250YWN0IC50aXRsZS1oMiB7XG4gICAgICBmb250LXNpemU6ICRoMi1mb250LXNpemUgKiAxLjM7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAkY3ctZm9udC1zaXplLWxnO1xuICB9XG59XG5cbi5ub2RlX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogJHByaW1hcnktYm9sZC13ZWlnaHQ7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJHRpdGxlLWJvbGQtd2VpZ2h0O1xuICBjb2xvcjogJGgxLWNvbG9yO1xuICAvL3NwYW4ge1xuICAvLyAgZm9udC13ZWlnaHQ6ICR0aXRsZS1ib2xkLXdlaWdodDtcbiAgLy99XG59XG5cbi5oMSwgaDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiAkaDEtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaDEtZm9udC13ZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiAkaDEtdGV4dC10cmFuc2Zvcm07XG4gIGxpbmUtaGVpZ2h0OiAkaDEtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkaDEtbGV0dGVyLXNwYWNpbmc7XG4gIGNvbG9yOiAkaDEtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgNjBweDtcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6ICRoMS1mb250LXdlaWdodDtcbiAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX2JnXCIge1xuICAgICAgQGluY2x1ZGUgbGluZS1iYWNrZ3JvdW5kKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICB9XG4gICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgfVxuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAyMHB4LCAkbXQ6IDBweCwgJGZpbGU6ICdwdWNlLWgxLnBuZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaDIsIGgyLCAudGl0bGUtaDIge1xuICBmb250LWZhbWlseTogJGgyLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGgyLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGgyLXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaDItbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gIG1hcmdpbjogMzBweCAwIDIwcHg7XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYmdcIiB7XG4gICAgICBAaW5jbHVkZSBsaW5lLWJhY2tncm91bmQoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5cbmEge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgYSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi53b3cge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zZXJ2aWNlIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZmllbGQtLXR5cGUtaW1hZ2Uge1xuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxucDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbn1cblxuLmZvcm0tYWN0aW9ucy5tYi0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5zbWFsbCwgLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgIWltcG9ydGFudDtcbn1cblxuI2RydXBhbC1saXZlLWFubm91bmNlIHtcbiAgaGVpZ2h0OiAwO1xufVxuIiwiLmNvbnRleHR1YWwtcmVnaW9uIC5jb250ZXh0dWFsIHtcbiAgei1pbmRleDogOTk5OTtcblxuICAuY29udGV4dHVhbC1saW5rcyBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogJGRhcms7XG4gIH1cbn1cblxuLy8gY2tlZGl0b3IgZm9yY2UgZm9uZCBibGFuYyBzdXIgZm9udCBub2lyZS4gKHBlcm1ldCBkZSB0b3Vqb3VyIHZvaXIgbGUgdGV4dGUgbcOqbWUgbG9yc3F1ZSBsZSBwcm9qZXQgZXN0IHN1ciBmb25kIG5vaXIpXG4uY2tlX2VkaXRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAge1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuICBhLCBhOmhvdmVyIHtcbiAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gIH1cbiAgZGl2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuICAuY3ctaWJveCwgLmN3LWlib3ggZGl2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udG9hc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNXB4O1xuICByaWdodDogNXB4O1xuICB6LWluZGV4OiAxMjcwO1xuICB3aWR0aDogMzUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCk7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5naW4tLXZlcnRpY2FsLXRvb2xiYXIge1xuICAgICNibG9jay13aWRnZXRzb2JveCwgI2Jsb2NrLXdpZGdldGJpaW1ib3gge1xuICAgICAgbGVmdDogNjVweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICNhZG1pbi10b29sYmFyLW1vYmlsZS1zZWFyY2gtdGFiIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIGJvZHk6bm90KC50b29sYmFyLWhvcml6b250YWwpIHtcbiAgICAmLnRvb2xiYXItZml4ZWQuYWZmaXgtdG9wICNuYXZiYXItbWFpbiB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi50b29sYmFyLWZpeGVkLmFmZml4LXNjcm9sbCAjbmF2YmFyLW1haW4ge1xuICAgICAgdG9wOiAzOXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbkBpZiAkbmF2YmFyLW9wYWNpdHkgPCAxIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnVzZXItbG9nZ2VkLWluIC5jdy1uYXZiYXIge1xuICAgICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC51c2VyLWxvZ2dlZC1pbiAuY3ctbmF2YmFyIHsgLy8gTG9yc3F1ZSBsYSBuYXZiYXIgZXN0IHRyYW5zcGFyZW50ZSwgbGUgbWVudSBkZSBnYXVjaGUgbMOgIHBvdXNzZSDDoCBkcm9pdGUgw6AgY2F1c2UgZHUgZml4ZWQuXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgfVxuICB9XG59XG4iLCIjbWFpbiB7XG4gIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLm5vdC1mcm9udCAjbWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcztcbn1cblxuLmJsb2NrLXBhZ2UtdGl0bGUtYmxvY2sge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5mb3JtLnVzZXItbG9naW4tZm9ybSwgLy8gZm9ybXVsYWlyZSBkZSBjb25uZXhpb25cbi5ub2RlLS10eXBlLXdlYmZvcm0gLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHsgLy8gcGFnZSBmb3JtdWxhaXJlIChleCA6IHBhZ2UgY29udGFjdClcbiAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoKTtcbn1cblxuLnNmLWFydGljbGVzLXNlY3Rpb24sIC5zZi1nYWxlcmllLXNlY3Rpb24sIC5jdy1jYXJkcy1zZWN0aW9uLmdhbGVyaWVzLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTkyMHB4KTtcbn1cblxuYm9keS5wYXRoLXNpdGVtYXAgLmNvbnRlbnQgLnNpdGVtYXAge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoKTtcbn1cblxuLmNvbnRhaW5lci14cyB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig0MDBweCk7XG59XG4uY29udGFpbmVyLXNtIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDUyMHB4KTtcbn1cblxuLmNvbnRhaW5lci1tZCB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcig4NTBweCk7XG59XG4uY29udGFpbmVyLWxnIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDEwMDBweCk7XG59XG5cbi5jb250YWluZXIteHhsIHtcbiAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDE0MDBweCk7XG59XG5cbi5jb250YWluZXIteHh4bCB7XG4gIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxNjAwcHgpO1xufVxuXG4uY29udGFpbmVyLWZ1bGwge1xuICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTkyMHB4KTtcbn1cblxuLmxhYmVsLXByaW1hcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidG4tb25lLWJnO1xuICBjb2xvcjogJGJ0bi1vbmUtZm9udC1jb2xvcjtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgI21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxuXG4gIC5ub3QtZnJvbnQgI21haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcy1sZztcbiAgfVxufVxuIiwiLmJsb2NrLWFkZHRvYW55IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC50aXRsZS1oNCB7XG4gICAgY29sb3I6ICRhZGR0b2FueS10aXRsZTtcbiAgfVxuXG4gIC5hMmFfa2l0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vQGluY2x1ZGUgZmlsdGVyKGdyYXlzY2FsZSgxMDAlKSk7IC8vIEFmZmljaGFnZSBlbiBub2lyIGV0IGJsYW5jXG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuXG4gICAgICBzcGFuLmEyYV9zdmcge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjE1cyBlYXNlLWluLW91dCk7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjFzIGVhc2UtaW4tb3V0KTtcblxuICAgICAgc3Bhbi5hMmFfc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDBweCA2cHggNnB4IHJnYmEoJGJsYWNrLCAwLjEpKSk7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuLmEyYV9zdmcge1xuICAgIGhlaWdodDogNjNweDtcbiAgICB3aWR0aDogNjNweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vZmlyZWZveFxuICAgICAgbWF4LWhlaWdodDogMTAwJTsgLy9maXJlZm94XG4gICAgICBwYWRkaW5nOiAxM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkZHRvYW55LWJnO1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJGFkZHRvYW55LWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGFkZHRvYW55LWJhY2tncm91bmQgPT0gXCJjaXJjbGVcIiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRhZGR0b2FueS1iYWNrZ3JvdW5kID09IFwiY2lyY2xlLXRoaW5cIiB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRhZGR0b2FueS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtYWN0aW9ucy1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4udGl0bGUtaDQge1xuICBmb250LWZhbWlseTogJGFkZHRvYW55LXRpdGxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGFkZHRvYW55LXRpdGxlLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJGFkZHRvYW55LXRpdGxlLXRleHQtdHJhbnNmb3JtO1xuICBmb250LXNpemU6ICRhZGR0b2FueS10aXRsZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkYWRkdG9hbnktdGl0bGUtbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkYWRkdG9hbnktdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbn1cbiIsIi5ibG9jay1jYWxsLXRvLWFjdGlvbiB7XG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAkY2FsbC1hY3Rpb24taDItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjYWxsLWFjdGlvbi1oMi1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNhbGwtYWN0aW9uLWgyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJGNhbGwtYWN0aW9uLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhbGwtYWN0aW9uLWgyLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkY2FsbC1hY3Rpb24taDItbGV0dGVyLXNwYWNpbmc7XG4gICAgY29sb3I6ICRjYWxsLWFjdGlvbnMtdGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDBweCwgJG10OiAwcHgsICRmaWxlOiAncHVjZS1oMi5wbmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdGEtbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJGNhbGwtYWN0aW9uLW51bWJlcnMtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkY2FsbC1hY3Rpb24tbnVtYmVycy10ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXNpemU6ICRjYWxsLWFjdGlvbi1udW1iZXJzLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhbGwtYWN0aW9uLW51bWJlcnMtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgIGNvbG9yOiAkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I7XG5cbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0O1xuICAgIH1cblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgIGNvbG9yOiAkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkY2FsbC1hY3Rpb25zLW51bWJlcnMtY29sb3IsIDEwJSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLWNhbGwtdG8tYWN0aW9uLWFkcmVzc2Uge1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgY29sb3I6ICRjYWxsLWFjdGlvbnMtbnVtYmVycy1jb2xvcjtcbn1cbiIsIi5wYXJhbGxheCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7Ly8gY3VzdG9tIGJhY2tncm91bmQtcG9zaXRpb25cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSBcXDkgIWltcG9ydGFudDsvLyBpZTcsOCw5LSBncmFjZWZ1bCBkZWdyYWRhdGlvblxuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgQGlmICRvdmVybGF5LXBhcmFsbGF4IHtcbiAgICAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtcGFyYWxsYXgsIHRydWUsIDAuMyk7XG4gICAgfVxuICB9XG59XG5cbltjbGFzcyo9XCJibG9jay1wYXJhbGxheC1cIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0NXZoO1xuICAuY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZm9udC1mYW1pbHk6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkYmxvYy1wYXJhbGxheC1jb250ZW50LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJsb2MtcGFyYWxsYXgtY29udGVudC1saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgY29sb3I6ICRibG9jLXBhcmFsbGF4LWNvbnRlbnQtY29sb3I7XG4gICAgLy9ib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAudGV4dC1sb3VkLCAubG91ZC10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmxvYy1wYXJhbGxheC10aXRsZS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYmxvYy1wYXJhbGxheC10aXRsZS1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmxvYy1wYXJhbGxheC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgIGZvbnQtc2l6ZTogJGJsb2MtcGFyYWxsYXgtdGl0bGUtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRibG9jLXBhcmFsbGF4LXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoMi1sZXR0ZXItc3BhY2luZztcbiAgICAgIGNvbG9yOiAkYmxvYy1wYXJhbGxheC10aXRsZS1jb2xvcjtcbiAgICB9XG4gIH1cbiAgQGlmICRwYXJhbGxheC1ncmFkaWVudCB7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZWZvcmUtYWZ0ZXItZnVsbDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMC43NSkgMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1wYXJhbGxheC1mcm9udCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhcmFsbGF4LWZyb250LW1vYi5qcGcnKTtcbn1cblxuQGltcG9ydCAncXVlcmllcy9wYXJhbGxheCc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIFtjbGFzcyo9XCJibG9jay1wYXJhbGxheC1cIl0ge1xuICAgIC5jb250ZW50IHtcbiAgICAgIC50ZXh0LWxvdWQsIC5sb3VkLXRleHQge1xuICAgICAgICBmb250LXNpemU6ICRibG9jLXBhcmFsbGF4LXRpdGxlLWZvbnQtc2l6ZSAqIDEuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuYmxvY2stcGFyYWxsYXgtZnJvbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3BhcmFsbGF4LWZyb250LmpwZycpO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgW2NsYXNzKj1cImJsb2NrLXBhcmFsbGF4LVwiXSB7XG4gICAgbWluLWhlaWdodCA6ICRwYXJhbGxheC1taW4taGVpZ2h0O1xuICB9XG59XG4iLCIucmVnaW9uLWZlYXR1cmVkLWJvdHRvbS1maXJzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWdpb24tZmVhdHVyZWQtZmlyc3QtYmc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGlmICRvdmVybGF5LWNhbGwtdG8tYWN0aW9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjdy1vdmVybGF5KCRvdmVybGF5LW1vdGlmLWNhbGwtdG8tYWN0aW9uLCB0cnVlLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLnJlZ2lvbi1mZWF0dXJlZC1ib3R0b20tc2Vjb25kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5ibG9jay1mb3JjZXMge1xuICBjb2xvcjogJGZvcmNlcy1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGZvcmNlcy1iZztcbiAgQGlmICgkZm9yY2VzLWdyYWRpZW50KSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRmb3JjZXMtZ3JhZGllbnQtZGVnLCAkZm9yY2VzLWJnICRmb3JjZXMtZ3JhZGllbnQtc3RhcnQsICRmb3JjZXMtYmctZW5kICRmb3JjZXMtZ3JhZGllbnQtZW5kKTtcbiAgfVxuXG4gIC50aXRsZS1oMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRmb3JjZXMtdGl0bGU7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRsaW5lLXRpdGxlLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmEge1xuICAgIGZvbnQtc2l6ZTogODVweDtcbiAgfVxuXG4gIC5zcnYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIEBpZiAkb3ZlcmxheS1mb3JjZXMge1xuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGN3LW92ZXJsYXkoJG92ZXJsYXktbW90aWYtZm9yY2VzLCB0cnVlLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLXJlZmVyZW5jZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkcmVmZXJlbmNlcy1jb2xvcjtcbiAgYmFja2dyb3VuZDogJHJlZmVyZW5jZXMtYmc7XG4gIEBpZiAoJHJlZmVyZW5jZXMtZ3JhZGllbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJHJlZmVyZW5jZXMtZ3JhZGllbnQtZGVnLCAkcmVmZXJlbmNlcy1iZyAkcmVmZXJlbmNlcy1ncmFkaWVudC1zdGFydCwgJHJlZmVyZW5jZXMtYmctZW5kICRyZWZlcmVuY2VzLWdyYWRpZW50LWVuZCk7XG4gIH1cblxuICAudGl0bGUtaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAkcmVmZXJlbmNlcy10aXRsZTtcblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGxpbmUtdGl0bGUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV9ib3R0b21cIiBvciAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfdG9wLWJvdHRvbVwiIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaW5lLWJlZm9yZV9hZnRlcigkbGluZS10aXRsZS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwicGljdHVyZV9ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWZ0ZXItYm9yZGVyLWJnKCRoZWlnaHQ6IDIwcHgsICRtdDogMHB4LCAkZmlsZTogJ3B1Y2UtaDIucG5nJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG92ZXJsYXktcmVmZXJlbmNlcyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3ctb3ZlcmxheSgkb3ZlcmxheS1tb3RpZi1yZWZlcmVuY2VzLCB0cnVlLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiBNQVAgOiBWT0lSIENBVEFMT0dVRSAqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKi9cbiRtYXAtc3VwZXJwb3NpdGlvbi1zaGFkb3c6IHRydWU7IC8vYWN0aXZlIHVuIHNoYWRvdyBkZXJyacOocmUgbGEgbWFwXG4kbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmc6IC02MHB4OyAvLyBkw6lmaW5pIGwnZXNwYWNlIGVudHJlIGxhIG1hcCBldCAjYm90dG9tLiBOb21icmUgcG9zaXRpZjogbWFwIHZpZW50IHNlIHN1cGVycG9zZXIgc3VyICNib3R0b20uIE5vbWJyZSBuZWdhdGlmOiBtYXAgYXUgZGVzc3VzIGRlICNib3R0b20gYXZlYyB1biBlc3BhY2UuXG5cbi5yZWdpb24tZm9vdGVyLXRoaXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZ2lvbi1mb290ZXItdGhpcmQtYmc7XG59XG5cbi5ibG9jay1tYXAge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAubWFwIGE6bm90KFtjbGFzcyo9XCJjb250ZXh0dWFsLWxpbmtzXCJdKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0NDVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiBvciBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgIC5tYXAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXAtbW9iLmpwZycpO1xuICAgIH1cbiAgfVxuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWNlbnRlclwiIHtcbiAgICAubWFwIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC0xLmpwZ1wiKTtcbiAgICB9XG4gIH1cbiAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1kb3VibGVcIiB7XG4gICAgLm1hcCB7XG4gICAgICBhOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXAtMS5qcGdcIik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCB3aGl0ZTtcbiAgICAgIH1cbiAgICAgIGE6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21hcC0yLmpwZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLW1hcC1pbnRlcnZlbnRpb24ge1xuICAudGl0bGUtaDIge1xuICAgIGNvbG9yOiAkbWFwLWludGVydmVudGlvbi10aXRsZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAkbWFwLWludGVydmVudGlvbi1mYS1jb250ZW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGNvbG9yOiAkbWFwLWludGVydmVudGlvbi1mYTtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICB3aWR0aDogMzFweDsgLy9uZSBwYXMgbWV0dHJlIGZpdC1jb250ZW50IHRhbnQgcXVlIHBhcyBiaWVuIGfDqXLDqSBzdXIgdG91dCBsZXMgbmF2aWdhdGV1cnMgZGVwdWlzIDVhbnNcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1ncmFkaWVudDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRwcmltYXJ5IDAlLCAkc2Vjb25kYXJ5IDEwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgQGlmICR0aXRsZS1kZWNvcmF0aW9uID09IFwiZ3JhZGllbnRfYWJvdmVcIiB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXAtYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogJG1hcC1pbnRlcnZlbnRpb24tY29udGVudDtcbn1cblxuQGltcG9ydCAncXVlcmllcy9tYXAnO1xuIiwiQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuYmxvY2stbWFwIHtcbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiBvciBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgICAgLm1hcCBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWFwLmpwZycpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWNlbnRlclwiIHtcbiAgICAgIC5tYXAge1xuICAgICAgICBwYWRkaW5nOiA1MHB4O1xuXG4gICAgICAgIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDVweCAkd2hpdGU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC40KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLWZ1bGxcIiB7XG4gICAgICAubWFwIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NDVweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1kb3VibGVcIiB7XG4gICAgICAubWFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0NDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBhOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCB3aGl0ZTtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRjb25maWd1cmF0aW9uLW1hcCA9PSBcIm1hcC1zdXBlcnBvc2l0aW9uXCIge1xuICAgIC5ibG9jay1tYXAge1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgQGluY2x1ZGUgY3ctY29udGFpbmVyKDg4MHB4KTtcbiAgICAgIC5tYXAge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICAgICAgICBhIHtcbiAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICB0b3A6ICRtYXAtc3VwZXJwb3NpdGlvbi1wb3NpdGlvbmluZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiA0NDVweDtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMpO1xuICAgICAgICAgIEBpZiAkbWFwLXN1cGVycG9zaXRpb24tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI3KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgJG1hcC1zdXBlcnBvc2l0aW9uLXBvc2l0aW9uaW5nIDwgMCB7XG4gICAgICAucmVnaW9uLWZvb3Rlci1zZWNvbmQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLSAkbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmc7XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmcgPiAwIHtcbiAgICAgIC5mb290ZXItaW5mb3Mge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygzcmVtICsgI3skbWFwLXN1cGVycG9zaXRpb24tcG9zaXRpb25pbmd9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICBAaWYgJGNvbmZpZ3VyYXRpb24tbWFwID09IFwibWFwLXN1cGVycG9zaXRpb25cIiB7XG4gICAgLmJsb2NrLW1hcCB7XG5cbiAgICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMDQwcHgpO1xuICAgICAgLm1hcCB7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLW1hcC1pbnRlcnZlbnRpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiJG1hcC13aXRoLWNvbnRlbnQtaGVpZ2h0LXhzOiA3MDBweDtcbiRtYXAtd2l0aC1jb250ZW50LWhlaWdodC1sZzogNzAwcHg7XG5cbiRtYXAtZGVub21pbmF0aW9uLWZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG4kbWFwLWRlbm9taW5hdGlvbi1mb250LXdlaWdodDogJHRpdGxlLW5vcm1hbC13ZWlnaHQ7XG4kbWFwLWRlbm9taW5hdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRtYXAtZGVub21pbmF0aW9uLWZvbnQtc2l6ZTogMnJlbTtcbiRtYXAtZGVub21pbmF0aW9uLWxpbmUtaGVpZ2h0OiAkY29udGFjdC1saW5lLWhlaWdodDtcbiRtYXAtZGVub21pbmF0aW9uLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcbiRtYXAtc2xvZ2FuLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC1zbG9nYW4tZm9udC1zaXplOiAxLjJyZW07XG4kbWFwLXNsb2dhbi1saW5lLWhlaWdodDogJGNvbnRhY3QtbGluZS1oZWlnaHQ7XG4kbWFwLWFkcmVzc2UtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLWFkcmVzc2UtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ6IDEuNDtcbiRtYXAtdGVsZXBob25lLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC10ZWxlcGhvbmUtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG1hcC10ZWxlcGhvbmUtZm9udC1zaXplOiAkY29udGFjdC1mb250LXNpemU7XG4kbWFwLXRlbGVwaG9uZS1saW5lLWhlaWdodDogJG1hcC1hZHJlc3NlLWxpbmUtaGVpZ2h0O1xuJG1hcC1ob3JhaXJlLWZvbnQ6ICRjb250YWN0LWZvbnQtZmFtaWx5O1xuJG1hcC1ob3JhaXJlLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJG1hcC1ob3JhaXJlLWxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG4kbWFwLW1haWwtZm9udDogJGNvbnRhY3QtZm9udC1mYW1pbHk7XG4kbWFwLW1haWwtZm9udC13ZWlnaHQ6ICRwcmltYXJ5LWJvbGQtd2VpZ2h0O1xuJG1hcC1tYWlsLWZvbnQtc2l6ZTogJGNvbnRhY3QtZm9udC1zaXplO1xuJG1hcC1tYWlsLWxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG5cbiRtYXAtY29sb3I6ICRib2R5LWNvbG9yO1xuJG1hcC1kZW5vbWluYXRpb24tY29sb3I6ICRtYXAtY29sb3I7XG4kbWFwLXNsb2dhbi1jb2xvcjogJG1hcC1jb2xvcjtcbiRtYXAtYWRyZXNzZS1jb2xvcjogJG1hcC1jb2xvcjtcbiRtYXAtdGVsLWNvbG9yOiAkbWFwLWNvbG9yO1xuJG1hcC10ZWwtY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yO1xuJG1hcC1ob3JhaXJlLWNvbG9yOiAkbWFwLWNvbG9yO1xuXG5cbi8vIFR5cG9ncmFwaGllXG4ubWFwLWRlbm9taW5hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAkbWFwLWRlbm9taW5hdGlvbi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRtYXAtZGVub21pbmF0aW9uLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogJG1hcC1kZW5vbWluYXRpb24tdGV4dC10cmFuc2Zvcm07XG4gIGZvbnQtc2l6ZTogJG1hcC1kZW5vbWluYXRpb24tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJG1hcC1kZW5vbWluYXRpb24tbGluZS1oZWlnaHQ7XG4gIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG59XG5cbi5tYXAtc2xvZ2FuIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJHNlY29uZGFyeS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLXNsb2dhbi1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLXNsb2dhbi1saW5lLWhlaWdodDtcbn1cblxuLm1hcC1hZHJlc3NlIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtYWRyZXNzZS1mb250O1xuICBmb250LXNpemU6ICRtYXAtYWRyZXNzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLWFkcmVzc2UtbGluZS1oZWlnaHQ7XG59XG5cbi5tYXAtdGVsZXBob25lIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtdGVsZXBob25lLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiAkbWFwLXRlbGVwaG9uZS1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLXRlbGVwaG9uZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLXRlbGVwaG9uZS1saW5lLWhlaWdodDtcbn1cblxuLm1hcC1ob3JhaXJlIHtcbiAgZm9udC1mYW1pbHk6ICRtYXAtaG9yYWlyZS1mb250O1xuICBmb250LXNpemU6ICRtYXAtaG9yYWlyZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbWFwLWhvcmFpcmUtbGluZS1oZWlnaHQ7XG59XG5cbi5tYXAtbWFpbCB7XG4gIGZvbnQtZmFtaWx5OiAkbWFwLW1haWwtZm9udDtcbiAgZm9udC13ZWlnaHQ6ICRtYXAtbWFpbC1mb250LXdlaWdodDtcbiAgZm9udC1zaXplOiAkbWFwLW1haWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJG1hcC1tYWlsLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBDb2xvclxuLm1hcC1kZW5vbWluYXRpb24ge1xuICBjb2xvcjogJG1hcC1kZW5vbWluYXRpb24tY29sb3I7XG59XG5cbi5tYXAtc2xvZ2FuIHtcbiAgY29sb3I6ICRtYXAtc2xvZ2FuLWNvbG9yO1xufVxuXG4ubWFwLWFkcmVzc2Uge1xuICBjb2xvcjogJG1hcC1hZHJlc3NlLWNvbG9yO1xufVxuXG4ubWFwLXRlbGVwaG9uZSBhIHtcbiAgY29sb3I6ICRtYXAtdGVsLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkbWFwLXRlbC1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4ubWFwLWhvcmFpcmUge1xuICBjb2xvcjogJG1hcC1ob3JhaXJlLWNvbG9yO1xufVxuXG4ubWFwLW1haWwgYSB7XG4gIGNvbG9yOiAkbWFwLWhvcmFpcmUtY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYXAtdGVsLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBpZiAkY29uZmlndXJhdGlvbi1tYXAgPT0gXCJtYXAtd2l0aC1jb250ZW50XCIge1xuICAuYmxvY2stbWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblxuICAgIC5tYXAgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQteHM7XG4gICAgfVxuXG4gICAgLm1hcCBhOm5vdChbY2xhc3MqPVwiY29udGV4dHVhbC1saW5rc1wiXSkge1xuICAgICAgaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQteHM7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5tYXAtYmxvYy1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAyMDVweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDs7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAqIDM7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGc7XG5cbiAgICAgICAgLm1hcC1wdWNlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA2NSUsIDUwJSAxMDAlLCAwIDY1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmJsb2NrLW1hcCB7XG4gICAgICAubWFwIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQtbGc7XG4gICAgICB9XG5cbiAgICAgIC5tYXAgYTpub3QoW2NsYXNzKj1cImNvbnRleHR1YWwtbGlua3NcIl0pIHtcbiAgICAgICAgaGVpZ2h0OiAkbWFwLXdpdGgtY29udGVudC1oZWlnaHQtbGc7XG4gICAgICB9XG5cbiAgICAgIC5tYXAtYmxvYy1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQ2MHB4IC8gMik7XG4gICAgICAgIC5jYXJkIC5tYXAtcHVjZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgNjUlLCA1MCUgMTAwJSwgMCA2NSUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtdWxhaXJlc1xuJGlucHV0LXRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXG5AaWYgJGlucHV0LWJnLWRhcmsgPT0gdHJ1ZSB7XG4gICRpbnB1dC1jb2xvcjogbGlnaHRlbigkaW5wdXQtYmcsIDc1JSk7XG4gICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogbGlnaHRlbigkaW5wdXQtYmcsIDYwJSk7XG59XG5cbi8vIEZvcm11bGFpcmUgZHUgYmxvYyBmbG9hdC1ibG9jayBlbiBwYWdlIGQnYWNjdWVpbFxuQGlmICRpbnB1dC1iZy1mbG9hdC1ibG9jay1kYXJrID09IHRydWUge1xuICAkaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s6IGxpZ2h0ZW4oJGlucHV0LWJnLWZsb2F0LWJsb2NrLCA3NSUpO1xuICAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItZmxvYXQtYmxvY2s6IGxpZ2h0ZW4oJGlucHV0LWJnLWZsb2F0LWJsb2NrLCA2MCUpO1xufVxuXG4vLyBGb3JtdWxhaXJlIGR1IGJsb2MgZm9vdGVyIGVuIHBhZ2UgZCdhY2N1ZWlsXG5AaWYgJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QtZGFyayA9PSB0cnVlIHtcbiAgJGlucHV0LWNvbG9yLWJsb2NrLWNvbnRhY3Q6IGxpZ2h0ZW4oJGlucHV0LWJnLWJsb2NrLWNvbnRhY3QsIDc1JSk7XG4gICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1ibG9jay1jb250YWN0OiBsaWdodGVuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCA2MCUpO1xufVxuXG4vLyBDb3VsZXVyc1xuLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC10ZXh0LXRyYW5zZm9ybTtcbiAgICAvL2ZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IHNvbGlkIDFweCBkYXJrZW4oJGlucHV0LWJnLCAzJSk7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRsaW5lLWZvcm0tY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5mbGItYmxvY2sge1xuICAuZm9ybS1jb250cm9sOm5vdChbY2xhc3MqPVwiYnV0dG9uXCJdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWZsb2F0LWJsb2NrO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItZmxvYXQtYmxvY2s7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yLWZsb2F0LWJsb2NrO1xuICAgIH1cblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4IGRhcmtlbigkaW5wdXQtYmctZmxvYXQtYmxvY2ssIDMlKTtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5lLWZvcm0tY29sb3ItYmxvY2stZmxvYXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay13Zi1jb250YWN0IHtcbiAgLmZvcm0tY29udHJvbDpub3QoW2NsYXNzKj1cImJ1dHRvblwiXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1ibG9jay1jb250YWN0O1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3ItYmxvY2stY29udGFjdDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItYmxvY2stY29udGFjdDtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAxcHggZGFya2VuKCRpbnB1dC1iZy1ibG9jay1jb250YWN0LCAzJSk7XG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAkbGluZS1mb3JtLWNvbG9yLWJsb2NrLWNvbnRhY3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1pc2UgZW4gZm9ybWUgZXQgcG9saWNlc1xuLndlYmZvcm0tZmxleGJveCB7XG4gIG1hcmdpbjogMCAtMC4zcmVtIDAuNnJlbTtcbn1cblxuLndlYmZvcm0tZmxleC0tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAuM3JlbTtcbn1cblxuLmJsb2NrLXdmLWNvbnRhY3Qge1xuICAudGl0bGUtaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgY29sb3I6ICRmb3JtLWJsb2MtaDItY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb3JtLXRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS10aXRsZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGZvcm0tdGl0bGUtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkZm9ybS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkZm9ybS10aXRsZS1sZXR0ZXItc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImdyYWRpZW50X2Fib3ZlXCIge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaWYgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcFwiIG9yICR0aXRsZS1kZWNvcmF0aW9uID09IFwibGluZV90b3AtYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGxpbmUtYmVmb3JlX2FmdGVyKCRmb3JtLWJsb2MtaDItdW5kZXJsaW5lLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcImxpbmVfYm90dG9tXCIgb3IgJHRpdGxlLWRlY29yYXRpb24gPT0gXCJsaW5lX3RvcC1ib3R0b21cIiB7XG4gICAgICAgICAgQGluY2x1ZGUgbGluZS1iZWZvcmVfYWZ0ZXIoJGZvcm0tYmxvYy1oMi11bmRlcmxpbmUtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkdGl0bGUtZGVjb3JhdGlvbiA9PSBcInBpY3R1cmVfYm90dG9tXCIge1xuICAgICAgICAgIEBpbmNsdWRlIGFmdGVyLWJvcmRlci1iZygkaGVpZ2h0OiAyMHB4LCAkbXQ6IDBweCwgJGZpbGU6ICdwdWNlLWgyLnBuZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRleHQtbXV0ZWQge1xuICAgIGNvbG9yOiAkZm9ybS1ibG9jLXJncGQgIWltcG9ydGFudDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRmb3JtLWJsb2MtcmdwZC1saW5rO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRmb3JtLWJsb2MtcmdwZC1saW5rLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1pdGVtLWFjY2VwdGF0aW9uLXJncGQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIC53ZWJmb3JtLWVsZW1lbnQtZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBmb250LXNpemU6IDAuNjlyZW07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAucGFnZS1ub2RlLTIgLm5vZGVfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCg3KTtcbiAgICAgIC8vQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KDEpO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuYmxvY2stYWN0dWFsaXRlcyB7XG4gIGJhY2tncm91bmQ6ICRibG9jLWFjdHUtYmc7XG4gIEBpZiAoJGJsb2MtYWN0dS1ncmFkaWVudCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYmxvYy1hY3R1LWdyYWRpZW50LWRlZywgJGJsb2MtYWN0dS1iZyAkYmxvYy1hY3R1LWdyYWRpZW50LXN0YXJ0LCAkYmxvYy1hY3R1LWJnLWVuZCAkYmxvYy1hY3R1LWdyYWRpZW50LWVuZCk7XG4gIH1cblxuICAudGl0bGUtaDIsIC52aWV3LWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGN3LWNvbnRhaW5lcigxMzAwcHgpO1xuICB9XG5cbiAgLmN3LWNhcmQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkYmxvYy1hY3R1LXRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmxvYy1hY3R1LXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogJGJsb2MtYWN0dS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRibG9jLWFjdHUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRibG9jLWFjdHUtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XG4gIH1cblxuICAudmlldy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRzZWNvbmRhcnktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6IDAuMTJlbTtcbiAgICBjb2xvcjogIzg3YjBjYjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDE3dnc7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4N2IwY2I7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmN3LWNhcmRzLWh6IHtcbiAgICAuY3ctY2FyZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubm9kZS0tdHlwZS1hY3R1YWxpdGUge1xuICAmID4gLm5vZGVfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC5hY3R1LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5hY3R1LWRhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1mYW1pbHk6ICRjdy1jYXJkcy1kYXRlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY3ctY2FyZHMtZGF0ZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGN3LWNhcmRzLWRhdGUtdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkY3ctY2FyZHMtZGF0ZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjdy1jYXJkcy1kYXRlLWxpbmUtaGVpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAkY3ctY2FyZHMtZGF0ZS1sZXR0ZXItc3BhY2luZztcbiAgICBjb2xvcjogJGN3LWNhcmQtZGF0ZS1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiAkYmV0d2Vlbi16b25lcztcbiAgICBtYXJnaW4tYm90dG9tOiAkYmV0d2Vlbi16b25lcy8yO1xuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvYWN0dWFsaXRlcyc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5ibG9jay1hY3R1YWxpdGVzIHtcbiAgICAudmlldy1oZWFkZXIge1xuICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5ub2RlLS10eXBlLWFjdHVhbGl0ZSwgLm5vZGUtLXR5cGUtcmVmZXJlbmNlIHtcbiAgICAjbWFpbi13cmFwcGVyIHtcbiAgICAgIC5maWVsZC0tdHlwZS1pbWFnZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5nYWxlcmllcy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cblxuLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXBob3Rvc1wiXSwgLmZpZWxkW2NsYXNzKj1cIi1nYWxlcmllLXZpZGVvc1wiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkYmV0d2Vlbi16b25lcyAwIDA7XG5cbiAgLmZpZWxkX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAuNSU7XG4gIH1cbn1cblxuW2NsYXNzKj1cImN3LWdhbGVyaWUtbWluaS1cIl0ge1xuICAuZmllbGQtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzNTBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmN3LWdhbGVyaWUtbWluaS0xIHtcbiAgLmZpZWxkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQgKiA1cHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmN3LWdhbGVyaWUtbWluaS0yIHtcbiAgLmZpZWxkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogNXB4KSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbXBvcnQgJ3F1ZXJpZXMvZ2FsZXJpZSc7XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtcGhvdG9zXCJdLCAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtdmlkZW9zXCJdIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC5maWVsZF9faXRlbSB7XG4gICAgICB3aWR0aDogNDglO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtcGhvdG9zXCJdLCAuZmllbGRbY2xhc3MqPVwiLWdhbGVyaWUtdmlkZW9zXCJdIHtcbiAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDMyJTtcbiAgICB9XG4gIH1cbn1cbiIsIiNibG9jay1nb29nbGVyZXZpZXdzbGlzdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyYXk7XHJcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkYmV0d2Vlbi16b25lcztcclxuICAudGl0bGUtaDIsIC5yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjdy1jb250YWluZXIoMTUwMHB4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC50aXRsZS1oMiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xvZ28tZ29vZ2xlLnBuZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdG9wOiAycHg7XHJcbiAgICAgIGhlaWdodDogNDRweDtcclxuICAgICAgbWF4LWhlaWdodDogMS4yNWVtO1xyXG4gICAgICB3aWR0aDogMTM3cHg7XHJcbiAgICAgIG1heC13aWR0aDogMy44ZW07XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmV2aWV3cy1jb250YWluZXIge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gIH1cclxuICAucmV2aWV3LWNvbnRhaW5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICAgIHdpZHRoOiA0NTBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDMwcHggNDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICB9XHJcbiAgLnJldmlldy1yYXRpbmctY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5yZXZpZXctYXV0aG9yLW5hbWUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMTZweDtcclxuICAgICAgbGVmdDogNThweDtcclxuICAgICAgY29sb3I6ICRibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5yZXZpZXctcmF0aW5nIHtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgfVxyXG4gIC5yZXZpZXctZGF0ZSB7XHJcbiAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYWxpZ24tc2VsZjogZW5kO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gIH1cclxuICAuc3RhcnMtd3JhcHBlciBzdmcge1xyXG4gICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgcGF0aCB7XHJcbiAgICAgIGZpbGw6ICNlOGJmMmE7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAucmV2aWV3LXRleHQge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgbGluZS1jbGFtcDogNTtcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogNTsgLyogTm9tYnJlIGRlIGxpZ25lcyAqL1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgI2Jsb2NrLWdvb2dsZXJldmlld3NsaXN0IHtcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAjYmxvY2stZ29vZ2xlcmV2aWV3c2xpc3Qge1xyXG4gICAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnO1xyXG4gICAgLnJldmlldy1jb250YWluZXIge1xyXG4gICAgICBtaW4taGVpZ2h0OiAyNjVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gKioqKioqKiBNYXNvbnJ5IGdhbGxlcnkgKioqKioqKioqXG4kbWFzLWNvbC14MTogMTAwJTtcbiRtYXMtY29sLXgyOiA1MCU7XG4kbWFzLWNvbC14MzogMzMuMzMzMzMzMzMzMyU7XG4kbWFzLWNvbC14NDogMjUlO1xuJG1hcy1jb2wteDU6IDIwJTtcbiRtYXMtY29sLXg2OiAxNi42NjY2NjY2NjY3JTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogICAgTk9URTogTGUgbm9tYnJlIGRlIGNvbG9ubmVzIGVuIFwibGdcIiBlc3QgZMOpZmluaSBkaXJlY3RlbWVudCB2aWEgbGEgZ2FsZXJpZSBkYW5zIGRydXBhbFxuICAgICAgICAgIHBvdXIgbGFpc3NlciBsZSBjaG9peCDDoCBsJ3V0aWxpc2F0ZXVyLiBTZXVsIGxlIG5iIGRlIGNvbG9ubmVzIGVuIG1vYmlsZSBlc3QgZMOpZmluaSBpY2kuICAgICoqKioqL1xuXG4kbmItY29sLXhzOiAkbWFzLWNvbC14MTsgLyoqKiBvbiBkw6l0ZXJtaW5lIGljaSBsZSBub21icmUgZGUgY29sb25uZXMgcGFyIHJlc29sdXRpb24gKioqL1xuJG5iLWNvbC1zbTogJG1hcy1jb2wteDI7XG4kbmItY29sLW1kOiAkbWFzLWNvbC14MztcblxuJGd1dHRlci1pbWc6IDVweDtcbi8qKiogZMOpdGVybWluZSBlc3BhY2VtZW50IGVudHJlIGxlcyBpbWcuIE1ldHRyZSAwIHBvdXIgcXUnZWxsZXMgc29pZW50IGNvbGzDqWVzIGVuc2VtYmxlLlxuXG4vKiAtLS0tIGdyaWQgLS0tLSAqL1xuLmdhbGVyaWUtbWFuc29uYXJ5IHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgLmdyaWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDNyZW0gMCAwO1xuICB9XG5cbiAgLyogY2xlYXIgZml4ICovXG4gIC5ncmlkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8qIC0tLS0gLmdyaWQtaXRlbSAtLS0tICovXG5cbiAgLmdyaWQtc2l6ZXIsXG4gIC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiAkbmItY29sLXhzO1xuICB9XG5cbiAgLmdyaWQtaXRlbSB7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWltZztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLmdyaWQtaXRlbS1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy16b29tLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLCB0cmFuc2Zvcm0gMS4ycyBlYXNlKTtcbiAgICAgIH1cblxuICAgICAgaW1nOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgICAgICBAaW5jbHVkZSB4LW9wYWNpdHkoMC4zKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL21hc29ucnknOyIsIi5nYWxlcmllLW1hbnNvbmFyeSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuZ3JpZC1zaXplcixcbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAkbmItY29sLXNtO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuZ3JpZC1zaXplcixcbiAgICAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAkbmItY29sLW1kO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuZ3JpZCB7XG4gICAgICAvL21heC13aWR0aDogMTkyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLm5iX2NvbF8zIHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14MztcbiAgICB9XG4gICAgLm5iX2NvbF80IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NDtcbiAgICB9XG4gICAgLm5iX2NvbF81IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NTtcbiAgICB9XG4gICAgLm5iX2NvbF82IHtcbiAgICAgIHdpZHRoOiAkbWFzLWNvbC14NjtcbiAgICB9XG4gIH1cbn0iLCIubXVsdGktYmxvYy1zdHlsZS0xLCAubXVsdGktYmxvYy1zdHlsZS0xLWJhY2tncm91bmQtMSwgLm11bHRpLWJsb2Mtc3R5bGUtMS1iYWNrZ3JvdW5kLTIge1xuICAubXVsdGlibG9jLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubXVsdGlibG9jLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm11bHRpYmxvYy10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICB9XG5cbiAgLm11bHRpYmxvY1tjbGFzcyo9XCJjdy1ncmlkLWNvbC1cIl0ge1xuICAgIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLm11bHRpLWJsb2Mtc3R5bGUtMSAubXVsdGlibG9jIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4ubXVsdGktYmxvYy1zdHlsZS0xLWJhY2tncm91bmQtMSB7XG4gIC5tdWx0aWJsb2MtY29udGVudCB7XG4gICAgcGFkZGluZzogMC41JTtcbiAgfVxuXG4gIC5tdWx0aWJsb2MtaW1nIHtcbiAgICBwYWRkaW5nOiAwLjUlO1xuICB9XG5cbiAgLm11bHRpYmxvYy10ZXh0IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5tdWx0aS1ibG9jLXN0eWxlLTEtYmFja2dyb3VuZC0xIHtcbiAgLm11bHRpYmxvYyB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKGRhcmtlbigkYm9keS1iZywgMSUpLCAxKTtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyZGVnLCByZ2JhKGRhcmtlbigkYm9keS1iZywgMiUpLCAxKSAwJSwgcmdiYShkYXJrZW4oJGJvZHktYmcsIDAuNSUpLCAxKSA5MCUpO1xuICAgIH1cbiAgfVxufVxuXG4ubXVsdGktYmxvYy1zdHlsZS0xLWJhY2tncm91bmQtMiB7XG4gIC5tdWx0aWJsb2MtY29udGVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgYmFja2dyb3VuZDogcmdiYShkYXJrZW4oJGJvZHktYmcsIDElKSwgMSk7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMmRlZywgcmdiYShkYXJrZW4oJGJvZHktYmcsIDIlKSwgMSkgMCUsIHJnYmEoZGFya2VuKCRib2R5LWJnLCAwLjUlKSwgMSkgOTAlKTtcbiAgICB9XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxufVxuXG5cblxuLnBhZ2UtbXVsdGktYmxvYy10ZW1wbGF0ZS0xIHtcbiAgLm11bHRpYmxvYzpudGgtbGFzdC1jaGlsZCgxbisyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJldHdlZW4tem9uZXMtbGcgKiAxLjU7XG4gIH1cblxuICAubXVsdGlibG9jLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubXVsdGlibG9jLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgQGlmICRkYW1pZXItY2FyZHMtc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm11bHRpYmxvYy10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICB9XG5cbiAgLm11bHRpYmxvY1tjbGFzcyo9XCJjdy1ncmlkLWNvbC1cIl0ge1xuICAgIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS1waG90b3NcIl0sIC5maWVsZFtjbGFzcyo9XCItZ2FsZXJpZS12aWRlb3NcIl0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtbXVsdGktYmxvYyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGFnZS1tdWx0aS1ibG9jLW1hcmdpbiB7XG4gIC5tdWx0aWJsb2M6bnRoLWxhc3QtY2hpbGQoMW4rMikge1xuICAgIG1hcmdpbi1ib3R0b206ICRiZXR3ZWVuLXpvbmVzLWxnICogMS41O1xuICB9XG59XG5cblxuW2NsYXNzKj1cImN3LWdyaWQtY29sLVwiXSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAzMHB4O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIC5jdy1ncmlkLWNvbC1tZC0zMy02NiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICB9XG5cbiAgLmN3LWdyaWQtY29sLW1kLTQ0LTU1IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDRmciA1ZnI7XG4gIH1cblxuICAuY3ctZ3JpZC1jb2wtbWQtNTAtNTAge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxuXG4gIC5jdy1ncmlkLWNvbC1tZC01NS00NCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1ZnIgNGZyO1xuICB9XG5cbiAgLmN3LWdyaWQtY29sLW1kLTY2LTMzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG4gIH1cbn0iLCIjc2Ytc2VjdGV1cnMge1xuICAuaW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbi5zZi1hcnRpY2xlcy1zZWN0aW9uIHtcblxufVxuXG4uc2YtZ2FsZXJpZS1zZWN0aW9uIHtcblxufVxuXG4ubm9kZS0tdHlwZS1zb3JlZi1hcnRpY2xlIHtcbiAgJiA+IC5ub2RlX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAuZmllbGQtLW5hbWUtYm9keSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLS1uYW1lLWZpZWxkLWFydGljbGUtaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvIDU1cHg7XG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgfVxuICAuZmllbGQtLW5hbWUtZmllbGQtc29yZWYtYXJ0aWNsZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uYmxvY2stc29yZWYtcXVlcmllcywgLnNvcmVmLXNlY3Rpb24tYWN0aXZpdGllcy14eGwge1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgLnRpdGxlLWgyIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkZ3JheS00MDA7XG4gICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jdy1pbmxpbmUtdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY3ctbGlzdC11bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gIH1cbn1cblxuLnNvcmVmLXNlY3Rpb24ge1xuICAuY3ctbGlzdC11bCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gIH1cbn1cblxuI3NvcmVmLWZvb3Rlci1jb250ZW50LWNvbGxhcHNlIHtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuN3MgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAvL2ZvbnQtc2l6ZTogMTRweDtcbiAgei1pbmRleDogMTAwMDA7XG5cbiAgJi5zaG93IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNXMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAuc29yZWYtZm9vdGVyLWNvbnRlbnQge1xuICAgIC8vZm9udC1zaXplOiAxM3B4O1xuICAgIGEsIGE6bGluaywgYTpob3ZlciwgYTp2aXNpdGVkIHtcbiAgICAgIC8vY29sb3I6ICM0MDQwNDA7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBjOFwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgICAgICAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRncmF5LTIwMCwgMC40MCksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkZ3JheS02MDAsIDAuNDMpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2JhY2tncm91bmQtY29sb3InLCByZ2JhKCRncmF5LTIwMCwgMC40MCksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkZ3JheS02MDAsIDAuNDMpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zb3JlZi1mb290ZXItdHh0IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLnNvcmVmLWZvb3Rlci10aXRsZSB7XG4gICAgICAvL2ZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAvL2xpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICB9XG4gIH1cbn1cblxuLnNvcmVmLWJvdHRvbSB7XG4gIGZvbnQtZmFtaWx5OiAkYm90dG9tLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRib3R0b20tZm9udC1zaXplO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBAaW5jbHVkZSBhbHBoYS1hdHRyaWJ1dGUoJ2NvbG9yJywgcmdiYSgkYm90dG9tLWNvbG9yLCAxKSwgJGJvdHRvbS1jb2xvcik7XG5cbiAgYTpsaW5rLCBhOmhvdmVyLCBhOnZpc2l0ZWQge1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnY29sb3InLCByZ2JhKCRib3R0b20tY29sb3IsIDEpLCAkYm90dG9tLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AaW1wb3J0ICdxdWVyaWVzL3NvcmVmJztcbiIsIi8vIC0tLS0tLS0tLS0tIE1FRElBIFFVRVJJRVMgLS0tLS0tLS0tXG4vLyBVcCB0byA5OTJweFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAuYWN0aXZpdGllcy14eGwtdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdWwge1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG4gIH1cblxuICAubm9kZS0tdHlwZS1zb3JlZi1hcnRpY2xlIHtcbiAgICAuZmllbGQtLW5hbWUtZmllbGQtc29yZWYtYXJ0aWNsZS1pbWFnZSB7XG4gICAgICBAaWYgJGRhbWllci1jYXJkcy1zaGFkb3cge1xuICAgICAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xNSwgMHB4LCAwLjVyZW0sIDFyZW0sIDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKioqKioqKioqKioqKiogR0xPQkFMRSAqKioqKioqKioqKioqKi9cbi8vIEVzcGFjZSAtIFRhaWxsZVxuJGZsYi10b3A6IDE4MHB4O1xuJGZsYi13aWR0aDogMjcwcHg7XG5cbi8vIENvdWxldXJcbiRmbGItdGl0bGUtY29sb3I6ICRzZWNvbmRhcnktZGFyaztcbiRmbGItdGl0bGUtYmc6ICRwcmltYXJ5O1xuJGZsYi1jb250ZW50LWNvbG9yOiAkYm9keS1jb2xvcjtcbiRmbGItY29udGVudC1iZzogJHRlcnRpYXJ5LWRhcms7XG4kZmxiLWxhYmVsLWNvbG9yOiAkZ3JheS01MDA7XG5cbi8vIFR5cG9ncmFwaGllXG4kZmxiLWZvbnQgOiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXG4kZmxiLWRlbm8tZm9udC1mYW1pbHk6ICRmbGItZm9udDtcbiRmbGItZGVuby1mb250LXdlaWdodDogNjAwO1xuJGZsYi1kZW5vLXRleHQtdHJhbnNmb3JtOiBub25lO1xuJGZsYi1kZW5vLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiRmbGItZGVuby1saW5lLWhlaWdodDogMS4yO1xuJGZsYi1kZW5vLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJGZsYi1tZXRpZXItZm9udC1mYW1pbHk6ICRmbGItZm9udDtcbiRmbGItbWV0aWVyLWZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ub3JtYWwtd2VpZ2h0O1xuJGZsYi1tZXRpZXItdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4kZmxiLW1ldGllci1mb250LXNpemU6ICRmb250LXNpemUtc207XG4kZmxiLW1ldGllci1saW5lLWhlaWdodDogMS4yO1xuJGZsYi1tZXRpZXItbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuXG4kZmxiLWFkci1mb250LWZhbWlseTogJGZsYi1mb250O1xuJGZsYi1hZHItZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4kZmxiLWFkci10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmbGItYWRyLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGZsYi1hZHItbGluZS1oZWlnaHQ6IDEuMjtcbiRmbGItYWRyLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuJGZsYi10ZWwtZm9udC1mYW1pbHk6ICRmbGItZm9udDtcbiRmbGItdGVsLWZvbnQtd2VpZ2h0OiA2MDA7XG4kZmxiLXRlbC10ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiRmbGItdGVsLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuJGZsYi10ZWwtbGluZS1oZWlnaHQ6IDEuMjtcbiRmbGItdGVsLWxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmctYmFzZTtcblxuLmZsYi1idG4ge1xuICBidXR0b24ge1xuICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cblxuLy8gRW4gY29ubmVjdMOpIChhZmluIGRlIHZvaXIpXG4udXNlci1sb2dnZWQtaW4ge1xuICAuYmxvY2stZmxvYXQgPiAuY29udGV4dHVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjM1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZDtcbiAgfVxuICAuZmxiLWJsb2NrIHtcbiAgICB0b3A6IGNhbGMoI3skbmF2YmFyLWhlaWdodC1tZH0gKyAxODBweCk7XG4gIH1cbn1cblxuLmZsYi1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHRvcDogJGZsYi10b3A7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KC01cHggN3B4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjEpKSk7XG5cbiAgLmZsYi1sYWJlbCB7XG4gICAgQGluY2x1ZGUgcm90YXRlKDE4MGRlZyk7XG4gICAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAkaDItbGV0dGVyLXNwYWNpbmc7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidG4tdGV4dC10cmFuc2Zvcm07XG4gICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcbiAgfVxuXG4gIC5mbGItaWNvbiB7XG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDcwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmZsYi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGZsYi10aXRsZS1iZywgMSksICRmbGItdGl0bGUtYmcpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDBweDsgLy9Mb3JzcXVlIHdyaXRpbmctbW9kZSBiaWVuIGfDqXLDqSBzdXIgZmlyZWZveCBwYXNzZXIgZW4gbWluLXdpZHRoXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkZmxiLXRpdGxlLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5mbGItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEuNXMgZWFzZS1pbi1vdXQpO1xuICAgIEBpbmNsdWRlIGFscGhhLWF0dHJpYnV0ZSgnYmFja2dyb3VuZC1jb2xvcicsIHJnYmEoJGZsYi1jb250ZW50LWJnLCAxKSwgJGZsYi1jb250ZW50LWJnKTtcbiAgICBAaW5jbHVkZSBjdy1ib3hzaGFkb3coMC4xMCwgLTVweCwgN3B4LCAyNXB4LCAwcHgpO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHdpZHRoOiAkZmxiLXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRuYXZiYXItaGVpZ2h0LW1kfSAtICN7JGZsYi10b3B9KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwICRyYWRpdXM7XG4gICAgLmZsYi13cmFwcGVyIHtcbiAgICAgIGNvbG9yOiAkZmxiLWNvbnRlbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6ICRmbGItd2lkdGg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBmb3JtIC53ZWJmb3JtLWZsZXhib3gge1xuICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LWRlbm9taW5hdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJGZsYi1kZW5vLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItZGVuby1mb250LXdlaWdodDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmxiLWRlbm8tdGV4dC10cmFuc2Zvcm07XG4gICAgICBmb250LXNpemU6ICRmbGItZGVuby1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1kZW5vLWxpbmUtaGVpZ2h0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1iYXNlO1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cblxuICAgIC5ibG9jay1mbG9hdC1tZXRpZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItbWV0aWVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItbWV0aWVyLWZvbnQtd2VpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRmbGItbWV0aWVyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLW1ldGllci1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1tZXRpZXItbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nLWJhc2U7XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LWFkcmVzc2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICRmbGItYWRyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmbGItYWRyLWZvbnQtd2VpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06ICRmbGItYWRyLXRleHQtdHJhbnNmb3JtO1xuICAgICAgZm9udC1zaXplOiAkZmxiLWFkci1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGZsYi1hZHItbGluZS1oZWlnaHQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJGZsYi1hZHItbGV0dGVyLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmJsb2NrLWZsb2F0LXRlbGVwaG9uZSB7XG4gICAgICBmb250LWZhbWlseTogJGZsYi10ZWwtZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogJGZsYi10ZWwtZm9udC13ZWlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGZsYi10ZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICBmb250LXNpemU6ICRmbGItdGVsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZmxiLXRlbC1saW5lLWhlaWdodDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkZmxiLXRlbC1sZXR0ZXItc3BhY2luZztcbiAgICAgIHNwYW57XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNhcHRjaGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlcihncmF5c2NhbGUoMTAwJSkpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICAvL0BpbmNsdWRlIGlucHV0LXN0eWxlKDI4cHgsICRmbGItaW5wdXQtYmcsICRmbGItaW5wdXQtY29sb3IsICRmbGItcGxhY2Vob2xkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwcmltYXJ5LW5vcm1hbC13ZWlnaHQ7XG4gICAgICBjb2xvcjogJGZsYi1sYWJlbC1jb2xvcjtcbiAgICB9XG5cbiAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIC8vQGluY2x1ZGUgaW5wdXQtc3R5bGUoMjhweCwgJGZsYi1pbnB1dC1iZywgJGZsYi1pbnB1dC1jb2xvciwgJGZsYi1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgLy9AaW5jbHVkZSBzdWJtaXQtc3R5bGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cbiAgfVxufVxuXG4uZmxiLWJsb2NrLm1pbmkge1xuICByaWdodDogLTQycHg7XG5cbiAgLmZsYi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjVzIGVhc2UtaW4tb3V0KTtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG4uZmxiLWJsb2NrIHtcbiAgLndlYmZvcm0tcHJvZ3Jlc3NiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAud2ViZm9ybS1kYXRlcGlja2VyID4gKiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqICoqKioqKioqKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqIHdlYmZvcm0tY29tcG9uZW50LXJhZGlvLWNoZWNrYm94LXJncGQgKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKiogKioqKioqKioqKioqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmZsYi1ibG9jayB7XG4gIC5jb250ZW50IGZvcm0gLndlYmZvcm0tY29tcG9uZW50LS10ZWxlcGhvbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZm9ybS1yZ3BkIHtcbiAgICBpbnB1dC5mb3JtLXJncGQge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBSQVBQRUwgR1JBVFVJVCBFTiBSRVNQT05TSVZFICoqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqICoqKioqKioqKioqKioqL1xuXG4ub3ZlcmxheS1tb2JpbGUgeyAvL292ZXJsYXkgbm9pciBzdXIgYm9keVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogODA7XG4gIH1cbn1cblxuQGltcG9ydCBcInF1ZXJpZXMvZmxvYXQtYmxvY2tcIjtcbiIsIkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLmZsYi1ibG9jay5taW5pIHtcbiAgICByaWdodDogLTFweDtcbiAgfVxuXG4gIC5mbGItYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLnBhZ2luYXRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6ICRiZXR3ZWVuLXpvbmVzLWxnICogMjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiAkcHJpbWFyeS1ib2xkLXdlaWdodDtcblxuICAucGFnZXJfX2l0ZW0tLW5leHQgYVtyZWw9XCJuZXh0XCJdIHtcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0gYVtyZWw9XCJwcmV2XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG4gIH1cblxuICAucGFnZS1pdGVtIGFbdGl0bGU9XCJBbGxlciDDoCBsYSBwYWdlIHByw6ljw6lkZW50ZVwiXSB7XG4gICAgQGluY2x1ZGUgY2hldnJvbi1hZnRlcihcIlxcZjA1M1wiLCBsZWZ0KTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZXJfX2l0ZW0tLW5leHQgYVt0aXRsZT1cIkFsbGVyIMOgIGxhIHBhZ2Ugc3VpdmFudGVcIl0ge1xuICAgIEBpbmNsdWRlIGNoZXZyb24tYWZ0ZXIoXCJcXGYwNTRcIiwgcmlnaHQpO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWl0ZW0gYVt0aXRsZT1cIkFsbGVyIMOgIGxhIHByZW1pw6hyZSBwYWdlXCJdIHtcbiAgICBAaW5jbHVkZSBjaGV2cm9uLWFmdGVyKFwiXFxmMDUzXFxmMDUzXCIsIGxlZnQpO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFnZS1pdGVtIGFbdGl0bGU9XCJBbGxlciDDoCBsYSBkZXJuacOocmUgcGFnZVwiXSB7XG4gICAgQGluY2x1ZGUgY2hldnJvbi1hZnRlcihcIlxcZjA1NFxcZjA1NFwiLCByaWdodCk7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIkZ3JleS1jb29raWU6ICM5ZDlkOWQ7XG4kcHJpbWFyeS1jb29raWU6ICM5MDkwOTA7XG4kcHJpbWFyeS0tbGlnaHQtY29va2llOiBsaWdodGVuKCRwcmltYXJ5LWNvb2tpZSwgMjAlKTtcbiRib2R5LWNvbG9yLWNvb2tpZTogIzU0NDgzYztcblxuYm9keSAjdGFydGVhdWNpdHJvblJvb3Qge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG5cbiAgYnV0dG9uIHsgLy8gQm91dG9uIGfDqW7DqXJhbFxuICAgIG1hcmdpbi10b3A6IDEwcHghaW1wb3J0YW50O1xuICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnRhcnRlYXVjaXRyb25BbGxvdyB7IC8vIEJvdXRvbiBBdXRvcmlzZXIgZ8OpbsOpcmFsXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogJ1xcZjAwYyc7IC8vZm9udCBhd2Vzb21lIGZhLWNoZWNrXG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnRhcnRlYXVjaXRyb25EZW55IHsgLy8gQm91dG9uIFJlZnVzZXIgZ8OpbsOpcmFsXG4gICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IGZyZWVcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgY29udGVudDogJ1xcZjAwZCc7IC8vZm9udCBhd2Vzb21lIGZhLXRpbWVzXG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLy8qKioqKiogYmFuZGVhdSBjb29raWVzIGJvdHRvbSoqKioqL1xuICBzcGFuI3RhcnRlYXVjaXRyb25EaXNjbGFpbWVyQWxlcnQgeyAvL1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgLmNvb2tpZS1iaWctdHh0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAjdGFydGVhdWNpdHJvbkFsZXJ0QmlnIHsgLy8gKioqIGJhbmRlYXUgY29va2llcyBib3R0b20gKioqKiovXG5cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkFsbG93IHsgLy8gQm91dG9uIFRPVVQgQWNjZXB0ZXIgcG91ciBiYW5kZWF1IGVuIGJvdHRvbVxuICAgICAgLy9AaW5jbHVkZSBidG4tY3coKTtcbiAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkcHJpbWFyeS1jb29raWUsJHByaW1hcnktLWxpZ2h0LWNvb2tpZSwgMSwgMSk7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICB9XG4gICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yLWNvb2tpZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkRlbnkgeyAvLyBCb3V0b24gVE9VVCBSZWZ1c2VyIHBvdXIgYmFuZGVhdSBlbiBib3R0b21cbiAgICAgIC8vQGluY2x1ZGUgYnRuLWN3KCk7XG4gICAgICBAaW5jbHVkZSBidG4tY29sb3IoJGRhcmssICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkd2hpdGUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvci1jb29raWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24udGFydGVhdWNpdHJvbkNUQUJ1dHRvbiB7IC8vIGJvdXRvbnMgQ1RBIChhY2NlcHRlciAvIHJlZnVzZXIpXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRyYWRpdXMtYnRuKTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI1LCAwcHgsIDRweCwgMTJweCwgMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uI3RhcnRlYXVjaXRyb25DbG9zZUFsZXJ0LCAvLyBib3V0b25zIHBlcnNvbm5hbGlzZXIgZXQgcG9saXRpcXVlIGRlIGNvbmZcbiAgICBidXR0b24jdGFydGVhdWNpdHJvblByaXZhY3lVcmwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24jdGFydGVhdWNpdHJvbkNsb3NlQWxlcnQgeyAvLyBib3V0b25zIHBlcnNvbm5hbGlzZXJcbiAgICAgIG1hcmdpbi10b3A6IDI1cHghaW1wb3J0YW50O1xuICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgICAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiAnXFxmMDEzJzsgLy9mb250IGZhLWNvZ1xuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24jdGFydGVhdWNpdHJvblByaXZhY3lVcmwgeyAvLyBib3V0b25zIHBvbGl0aXF1ZSBkZSBjb25mXG4gICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBmcmVlXCI7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMjMnOyAvL2ZvbnQgYXdlc29tZSBmYS1sb2NrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8vKioqKioqIFBhcmFtw6h0cmVzIHBvcCB1cCBjb29raWVzICoqKioqL1xuICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICBidXR0b246OmJlZm9yZSB7XG4gICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25EZXRhaWxzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMjUsIDBweCwgNHB4LCAxMnB4LCAwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25NYWluTGluZSB7IC8vIHBhcnRpZSB0b3AgZGUgbGEgcG9wIHVwIGNvb2tpZSAoVGl0cmUgKyBkZXNjcmlwdGlvbiArIGJ0biB0b3V0IGFjY2VwdGVyIC8gcmVmdXNlcilcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uSDEsIC50YXJ0ZWF1Y2l0cm9uSDIge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uSDEge1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICB9XG4gICAgICAudGFydGVhdWNpdHJvbkgyIHtcbiAgICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMzcHg7XG4gICAgICB9XG5cbiAgICAgICN0YXJ0ZWF1Y2l0cm9uSW5mbyB7IC8vIGRlc2NyaXB0aW9uIHBvcHVwIGNvb2tpZVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICN0YXJ0ZWF1Y2l0cm9uUHJpdmFjeVVybERpYWxvZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgZnJlZVwiO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDIzJzsgLy9mb250IGF3ZXNvbWUgZmEtbG9ja1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktY29va2llO1xuICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpXG4gICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFydGVhdWNpdHJvbkJvcmRlciB7IC8vIHBhcnRpZSBib3R0b20gcG9wIHVwIGNvb2tpZSBhdmVjIGxpc3RpbmcgZGVzIGNvb2tpZXMgKyBidG4gYXV0b3Jpc2VyIC8gcmVmdXNlclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RmZGZkZiFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAudGFydGVhdWNpdHJvblRpdGxlLCAvLyBUaXRyZSBkdSBjb29raWUgZW4gcXVlc3Rpb25cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uTGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRhcnRlYXVjaXRyb25UaXRsZSA+IGJ1dHRvbiB7IC8vIGJvdXRvbiBzdXIgbGUgbm9tIGR1IGNvb2tpZSBxdWkgb3V2cmUgdW5lIGRpdiBjb250ZW5hbnQgZGVzY3JpcHRpb24gZHUgY29va2llXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgICAgIH1cblxuICAgICAgLnRhcnRlYXVjaXRyb25OYW1lIHsgLy8gdGl0cmUgKyBpbmZvICsgbmIgY29va2llIHF1aSBwZXV0IMOqdHJlIGTDqXBvc2VyXG4gICAgICAgIC50YXJ0ZWF1Y2l0cm9uSDMsIC50YXJ0ZWF1Y2l0cm9uTGlzdENvb2tpZXMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIC50YXJ0ZWF1Y2l0cm9uTGlzdENvb2tpZXMgeyAvLyBuYiBkZSBjb29raWUgcG91dmFudCDDqnRyZSBkw6lwb3PDqSAocGFyIHR5cGUgZGUgY29va2llKVxuICAgICAgICAgIGNvbG9yOiAjYjliOWI5O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJ0biBhY2NlcHRlciAvIHJlZnVzZXIgZHUgY29va2llIGVuIHF1ZXN0aW9uXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICN0YXJ0ZWF1Y2l0cm9uU2VydmljZXNUaXRsZV9tYW5kYXRvcnkgeyAvLyBwcmVtaWVyIGNvb2tpZSBvYmxpZ2F0b2lyZVxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAudGFydGVhdWNpdHJvbkxpc3RDb29raWVzIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqKiogU1RZTEVTIERFUyBCT1VUT05TIERFIExBIFBPUCBVUCBDT09LSUUgKioqKiovXG4gICAgLnRhcnRlYXVjaXRyb25MaW5lIC50YXJ0ZWF1Y2l0cm9uQXNrIHtcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3csICN0YXJ0ZWF1Y2l0cm9uQWxsQWxsb3dlZCxcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uRGVueSwgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQge1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1jdygpO1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1jb2xvcigkZGFyaywgJHByaW1hcnkpO1xuICAgICAgICAvL0BpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICR3aGl0ZSwgJHByaW1hcnksIDEsIDAuMik7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHJhZGl1cy1idG4pO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICAgIEBpbmNsdWRlIGN3LWJveHNoYWRvdygwLjI1LCAwcHgsIDRweCwgMTJweCwgMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3cgeyAvLyBib3V0b24gXCJBY2NlcHRlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICRib2R5LWNvbG9yLWNvb2tpZSk7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1iZy10cmFuc2l0aW9uKDAsICRwcmltYXJ5LWNvb2tpZSwgJHByaW1hcnktLWxpZ2h0LWNvb2tpZSwgMSwgMSk7XG4gICAgICAgICY6ZGlzYWJsZWQgeyAvL2JvdXRvbiBcIkFjY2VwdGVyXCIgb2JsaWdhdG9pcmUgKHBhcyBkZSBzdXJ2b2wgbmkgZCdhY3Rpb24gcG9zc2libGUgZGVzc3VzKVxuICAgICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkd2hpdGUsICR3aGl0ZSk7XG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHByaW1hcnktY29va2llLCAkcHJpbWFyeS1jb29raWUsIDEsIDEpO1xuICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yLWNvb2tpZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHsgLy8gYm91dG9uIFwiVE9VVCBBY2NlcHRlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoMnB4LCAkZ3JleS1jb29raWUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDApO1xuICAgICAgICBAaW5jbHVkZSBidG4tY29sb3IoJHdoaXRlLCAkYm9keS1jb2xvci1jb29raWUpO1xuICAgICAgICBAaW5jbHVkZSBidG4tYmctdHJhbnNpdGlvbigwLCAkZ3JleS1jb29raWUsICRwcmltYXJ5LS1saWdodC1jb29raWUsIDEsIDEpO1xuICAgICAgfVxuXG4gICAgICAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7IC8vIGJvdXRvbiBcIlRPVVQgcmVmdXNlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ib3JkZXIoMnB4LCAkZ3JleS1jb29raWUsIHRyYW5zcGFyZW50LCAxLCAwKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRhcnRlYXVjaXRyb25EZW55LCAjdGFydGVhdWNpdHJvbkFsbERlbmllZCB7IC8vIGJvdXRvbiBcInJlZnVzZXJcIiBldCBcInRvdXQgcmVmdXNlclwiXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1jb2xvcigkZGFyaywgJGJvZHktY29sb3ItY29va2llKTtcbiAgICAgICAgQGluY2x1ZGUgYnRuLWJnLXRyYW5zaXRpb24oMCwgJHdoaXRlLCAkcHJpbWFyeS0tbGlnaHQtY29va2llLCAxLCAxKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeSwgMC4yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgc3Bhbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuICAgICAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3ItY29va2llO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZS50YXJ0ZWF1Y2l0cm9uSXNBbGxvd2VkIHsgLy8gc3R5bGVzIGRlIHRvdXMgbGVzIGJvdXRvbnMgXCJhY2NlcHRlclwiIHNpIGJvdXRvbiBcInRvdXQgYWNjZXB0ZXJcIiBzw6lsZWN0aW9ubsOpXG4gICAgICAudGFydGVhdWNpdHJvbkFsbG93LCAjdGFydGVhdWNpdHJvbkFsbEFsbG93ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb29raWU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAjdGFydGVhdWNpdHJvbkFsbEFsbG93ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICAkcHJpbWFyeS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhcnRlYXVjaXRyb25MaW5lLnRhcnRlYXVjaXRyb25Jc0RlbmllZCB7IC8vIHN0eWxlcyBkZSB0b3VzIGxlcyBib3V0b25zIFwicmVmdXNlclwiIHNpIGJvdXRvbiBcInRvdXQgcmVmdXNlclwiIHPDqWxlY3Rpb25uw6lcbiAgICAgIC50YXJ0ZWF1Y2l0cm9uRGVueSwgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvb2tpZSwgMSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgLy9zdXJjaGFnZSBsYSBtaXhpbiAgYnRuLWNvbG9yKCkgcXVpIGEgdW4gIWltcG9ydGFudC4uLlxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBzcGFuOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50YXJ0ZWF1Y2l0cm9uQWxsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkIHsgLy8gc3R5bGUgYnRuIFwiVE9VVCBhY2NlcHRlclwiIHNpIHPDqWxlY3Rpb25uw6lcbiAgICAgICYudGFydGVhdWNpdHJvbklzU2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb29raWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3RhcnRlYXVjaXRyb25BbGxEZW5pZWQgeyAvLyBzdHlsZSBidG4gXCJUT1VUIHJlZnVzZXJcIiBzaSBzw6lsZWN0aW9ubsOpXG4gICAgICAmLnRhcnRlYXVjaXRyb25Jc1NlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29va2llO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFsbG93LCAvLyByZW5kIGwnb3BhY2l0w6kgw6AgMSBxdWFuZCBzdXJ2b2wgZGVzIGJ0biBcInJlZnVzZXJcIiBldCBcImFjY2VwdGVyXCJcbiAgICAudGFydGVhdWNpdHJvbkxpbmUgLnRhcnRlYXVjaXRyb25EZW55IHtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25DbG9zZVBhbmVsIHsgLy8qKioqIEJvdXRvbiBGZXJtZXIgZGUgbGEgcG9wIHVwIGNvb2tpZVxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGdyZXktY29va2llO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDI4cHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICAuY2xvc2UtY29va2llLXgge1xuICAgICAgY29sb3I6ICRncmV5LWNvb2tpZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gQmxvYyBpbmZvcy1ib3R0b21cbiN0YXJ0ZWF1Y2l0cm9uTWFuYWdlciB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsO1xufVxuXG4vKioqIFRhYmxlYXUgY29va2llICoqKi9cblxuLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFiLWNvb2tpZSB0aGVhZCB0ciB0ZCB7XG4gICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdy10YWJsZS1jb250YWluZXIgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8qKioqKioqKiogUVVFUklFUyAqKioqKioqKioqKi9cblxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgaHRtbCBib2R5ICN0YXJ0ZWF1Y2l0cm9uUm9vdCB7XG4gICAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25TZXJ2aWNlc1RpdGxlX21hbmRhdG9yeSB7IC8vIGNhY2hlIGxlIGJ0biBcInJlZnVzZXJcIiBub24gZXhpc3RhbnQgcG91ciBsZXMgY29va2llcyBvYmxpZ2F0b2lyZSBlbiBtb2JpbGUgY2FyIHByZW5kIGRlIGxhIHBsYWNlXG4gICAgICAudGFydGVhdWNpdHJvbkRlbnkge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgI3RhcnRlYXVjaXRyb24gI3RhcnRlYXVjaXRyb25DbG9zZVBhbmVsIHsgLy8gY2hhbmdlIHBvc2l0aW9uIGJ0biBmZXJtZXIgZW4gbW9iaWxlXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICN0YXJ0ZWF1Y2l0cm9uU2VydmljZXMgLnRhcnRlYXVjaXRyb25Cb3JkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbi8qKiogVGFibGVhdSBjb29raWUgKioqL1xuLmN3LXRhYmxlLWNvbnRhaW5lciAuY3ctdGFiLWNvb2tpZSB0Ym9keSB0ciB7XG5cdFx0dGQ6YmVmb3JlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0fSBcblx0XHR0ZDpudGgtY2hpbGQoMSk6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiLSBOb20gZHUgY29va2llIC1cIjtcblx0XHR9XG5cdFx0dGQ6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gRWRpdGV1ciBkdSBjb29raWUgLVwiO1xuXHRcdH1cblx0XHR0ZDpudGgtY2hpbGQoMyk6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiLSBGaW5hbGl0ZSAvIEZvbmN0aW9uIC1cIjtcblx0XHR9XG5cdFx0dGQ6bnRoLWNoaWxkKDQpOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIi0gQ29uc2VydmF0aW9uIC1cIjtcblx0XHR9XG5cdH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGJvZHkgI3RhcnRlYXVjaXRyb25Sb290IHtcblxuICAgIGJ1dHRvbiB7IC8vYm91dG9uIGfDqW7DqXJhbFxuICAgICAgbWFyZ2luLXRvcDogMHB4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJvdXRvbiByZWZ1c2VyIC8gYWNjZXB0ZXIgZGUgY2hhcXVlIGNvb2tpZVxuICAgICAgLnRhcnRlYXVjaXRyb25BbGxvdywgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkLCAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA3cHg7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW4jdGFydGVhdWNpdHJvbkRpc2NsYWltZXJBbGVydCB7IC8vIGJhbmRlYXUgY29va2llIGJvdHRvbTogdGl0cmUgXCJDZSBzaXRlIHV0aWxpc2UgZGVzIGNvb2tpZXMuLi5cIlxuICAgICAgLmNvb2tpZS1iaWctdHh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gIGJvZHkgI3RhcnRlYXVjaXRyb25Sb290IHtcbiAgICAjdGFydGVhdWNpdHJvblNlcnZpY2VzIC50YXJ0ZWF1Y2l0cm9uTGluZSAudGFydGVhdWNpdHJvbkFzayB7IC8vIGJvdXRvbiByZWZ1c2VyIC8gYWNjZXB0ZXIgZGUgY2hhcXVlIGNvb2tpZVxuICAgICAgLnRhcnRlYXVjaXRyb25BbGxvdywgI3RhcnRlYXVjaXRyb25BbGxBbGxvd2VkLCAudGFydGVhdWNpdHJvbkRlbnksICN0YXJ0ZWF1Y2l0cm9uQWxsRGVuaWVkIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vKioqIFRhYmxlYXUgY29va2llICoqKi9cblx0LmN3LXRhYmxlLWNvbnRhaW5lciAgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQge1xuXHRcdHdoaXRlLXNwYWNlOiB1bnNldCFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1hbGlnbjogbGVmdCFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IDI1JSFpbXBvcnRhbnQ7XG5cdH1cblx0LmN3LXRhYmxlLWNvbnRhaW5lciAgLmN3LXRhYi1jb29raWUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDBuKzEpLFxuXHQuY3ctdGFibGUtY29udGFpbmVyICAuY3ctdGFiLWNvb2tpZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMG4rMiksXG5cdC5jdy10YWJsZS1jb250YWluZXIgIC5jdy10YWItY29va2llIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuXHRcdG1heC13aWR0aDogMTUlO1xuXHR9XG5cbn1cblxuLmZvcm0tcmdwZCB7XG4gIGlucHV0LmZvcm0tcmdwZCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIGNvbG9yOiBsaWdodGVuKCRib2R5LWNvbG9yLCAyNSUpO1xuICB9XG59XG5cbi5yYXBwZWwtZ3JhdHVpdCxcbi5mbG90dGFudC1yYXBwZWwtZ3JhdHVpdCxcbi5mbG90dGFudC1yZXNlcnZhdGlvbiB7XG4gIC5jb250ZW50IGZvcm0gLndlYmZvcm0tY29tcG9uZW50LS10ZWxlcGhvbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuICAuZm9ybS1yZ3BkIHtcbiAgICBpbnB1dC5mb3JtLXJncGQge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vaHR0cHM6Ly9wZXBzaXplZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTgvMDkvYmVlcnNsaWRlci9kZW1vL2luZGV4Lmh0bWxcblxuJHByZWZpeDogXCJiZWVyXCI7XG4kaW5pdGlhbC1yZXZlYWw6IDUwJTtcblxuLmZpZWxkLS1uYW1lLWZpZWxkLWF2dC1hcHJzLWNvbnRhaW5lci1ibG9jIHtcbiAgcGFkZGluZzogJGJldHdlZW4tem9uZXMgMCAwO1xufVxuXG4uYXZhbnQtYXByZXMtZ2FsZXJpZS1waG90byB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXIge1xuICAqLFxuICAmOmJlZm9yZSxcbiAgJjphZnRlcixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIDE1cHggMzBweDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIG1heC13aWR0aDogNTQwcHg7XG4gIEBpZiAkZGFtaWVyLWNhcmRzLXNoYWRvdyB7XG4gICAgQGluY2x1ZGUgY3ctYm94c2hhZG93KDAuMTUsIDBweCwgMC41cmVtLCAxcmVtLCAwcHgpO1xuICB9XG5cbiAgaW1nLCBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cblxuICAmID4gKiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJiA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uI3skcHJlZml4fS1yZXZlYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCUgLSAkaW5pdGlhbC1yZXZlYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XG5cbiAgJiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCUqMTAwJS8kaW5pdGlhbC1yZXZlYWw7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICYgPiBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uI3skcHJlZml4fS1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBsZWZ0OiAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHNsaWRlci1ob3Jpem9udGFsICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiAzMDB2aDtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6IDMwMHZoO1xuICB9XG5cbiAgJjo6LW1zLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4uI3skcHJlZml4fS1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGJveC1zaGFkb3cgMC4zcywgb3BhY2l0eSAwLjVzIDAuMjVzO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweDtcbiAgICBib3JkZXItbGVmdDogc29saWQgMnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi4jeyRwcmVmaXh9LXJhbmdlOmZvY3VzIH4gLiN7JHByZWZpeH0taGFuZGxlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuODUpO1xuICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlcixcbi4jeyRwcmVmaXh9LXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLWJlZXItbGFiZWwpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsXTphZnRlciB7XG4gIHJpZ2h0OiAxLjVyZW07XG59XG5cbi4jeyRwcmVmaXh9LXJldmVhbFtkYXRhLWJlZXItbGFiZWxdOmFmdGVyIHtcbiAgbGVmdDogMS41cmVtO1xufVxuXG4uI3skcHJlZml4fS1zbGlkZXJbZGF0YS1iZWVyLWxhYmVsPVwiXCJdOmFmdGVyLFxuLiN7JHByZWZpeH0tcmV2ZWFsW2RhdGEtYmVlci1sYWJlbD1cIlwiXTphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi4jeyRwcmVmaXh9LXJlYWR5IHtcbiAgLiN7JHByZWZpeH0tcmV2ZWFsLCAuI3skcHJlZml4fS1oYW5kbGUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi5hdmlzZ28ge1xuICBjb2xvcjogJGF2aXNnby1jb2xvcjtcbn1cblxuLmF2aXNnby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYXZpc2dvLWJnLCAxKTtcbiAgYm94LXNoYWRvdzogM3B4IDE3cHggMjBweCA3cHggIzFhNDY4ZjEyO1xufVxuXG4uYXZpc2dvLWJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhdmlzZ28tYmc7XG59XG5cbi5hdmlzZ28tYXZpcy1ub3RlIGIge1xuICAgIGNvbG9yOiAjZjY4MjAwO1xufVxuLmF2aXNnby1hdmlzIC5hdmlzZ28tYXZpcy10aXRsZSBhIHtcbiAgY29sb3I6ICRhdmlzZ28tY29sb3I7XG59XG4iLCIvLyBQb3VyIGxlcyBNQUogZXQgcmV0b3VyIGxpdnJhaXNvbiBkaXJlY3RlbWVudCByw6lhbGlzw6lzIGVuIERFVlxuLnBhcmFsbGF4e1xuICAuY3ctcGljdG9zIC5waWN0byB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogNSU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG4gIC5jdy1waWN0b3MgPiBkaXYge1xuICAgIG1hcmdpbjogMjVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmN3LXBpY3RvcyAucGljdG8tbGVnZW5kZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBtYXgtd2lkdGg6IDM1MnB4O1xuICB9XG59XG5cbi5ibG9jay1jYWxsLXRvLWFjdGlvbiAuY3RhLW51bWJlciB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xufVxuXG4uYmxvY2stYWRkdG9hbnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYmxvY2stYWRkdG9hbnkge1xuICBtYXJnaW4tdG9wOiAyOHB4O1xufVxuXG4uYmxvY2stY2FsbC10by1hY3Rpb24gLnRpdGxlLWgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6ICRwcmltYXJ5O1xufVxuXG4uYmxvY2stcmVmZXJlbmNlc3tcbiAgLmN3LXBpY3RvcyAucGljdG8ge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDExNnB4O1xuICAgIHBhZGRpbmc6IDIlO1xuICB9XG4gIC5jdy1waWN0b3MtbWQgPiBkaXYge1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gIH1cbn1cblxuI2Jsb2NrLWdvb2dsZXJldmlld3NsaXN0e1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWRhcms7XG4gIC50aXRsZS1oMntcbiAgICBjb2xvcjogJGgyLWNvbG9yIWltcG9ydGFudDtcbiAgfVxuICAucmV2aWV3LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogIzI5MjkyOTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5yZXZpZXctcmF0aW5nLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAucmV2aWV3LWF1dGhvci1uYW1lIHtcbiAgICBjb2xvcjogJHdoaXRlIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmxvY2std2YtY29udGFjdCAudGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAjNzk3NjczICFpbXBvcnRhbnQ7XG59XG5cbiNibG9jay1hdmlzZ29sYXN0YXZpc3tcbiAgLmF2aXNnby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWRhcms7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAudGl0bGUtaDJ7XG4gICAgY29sb3I6ICRoMi1jb2xvcjtcbiAgfVxuICAuYXZpc2dvLWJvcmRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIC5hdmlzZ28tYmFja2dyb3VuZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAuYXZpc2dvLWxhc3QtYXZpcy1saW5re1xuICAgIGF7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uc2YtYXJ0aWNsZXMtcm93cy5jdy1jYXJkLXJvd3MsIC5nYWxlcmllcy1yb3dzLmN3LWNhcmQtcm93c3tcbiAgLmN3LWNhcmR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWRhcms7XG4gIH1cbn1cblxuLmF2aXNnby1iYWNrZ3JvdW5kIHtcbiAgY29sb3I6ICRzZWNvbmRhcnktZGFyaztcbiAgLy9iYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIC50aXRsZS1oMntcbiAgICBjb2xvcjogJGgyLWNvbG9yO1xuICB9XG59XG5cbi5hdmlzZ28tYm9yZGVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uYXZpc2dvLWxhc3QtYXZpcy1saW5re1xuICBhe1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuI2Jsb2NrLWN3LXNhc3MtYnM0LWNvbnRlbnR7XG4gIC5idG4tcHJpbWFyeXtcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1c3tcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWRhcms7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seShsZykge1xuICAucGFyYWxsYXh7XG4gICAgLmN3LXBpY3RvcyAucGljdG8ge1xuICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIHdpZHRoOiAxODBweCFpbXBvcnRhbnQ7XG4gICAgICAvL3BhZGRpbmc6IDIlIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmN3LXBpY3RvcyAucGljdG8tbGVnZW5kZSB7XG4gICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICB9XG4gIH1cbiAgLmJsb2NrLXJlZmVyZW5jZXMgLmN3LXBpY3Rvcy1tZCA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgfVxuICAuYmxvY2stcmVmZXJlbmNlcyAuY3ctcGljdG9zIC5waWN0byB7XG4gICAgd2lkdGg6IDE0N3B4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAucGFyYWxsYXh7XG4gICAgLmN3LXBpY3RvcyA+IGRpdiB7XG4gICAgICBtYXJnaW46IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm5vdC1mcm9udHtcbiAgICAuanVtYm90cm9uLWJsb2MtcHJpbmNpcGFsLWNoaWxkLTF7XG4gICAgICBmbGV4OiAwLjchaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwtY2hpbGQtMntcbiAgICAgIGZsZXg6IDAuMyFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5yZWdpb24tanVtYm90cm9uIC5qdW1ib3Ryb24tYmxvYy1wcmluY2lwYWwge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KGxnKSB7XG4gIC5ub3QtZnJvbnQgLnJlZ2lvbi1qdW1ib3Ryb24gLmp1bWJvdHJvbi1ibG9jLXByaW5jaXBhbCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAucGFyYWxsYXh7XG4gICAgLmN3LXBpY3RvcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4jbmF2YmFyLXRvcCAjYmxvY2staW5mb3JtYXRpb25zbmF2YmFyIC5jb250ZW50e1xuICAuZmFze1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICBhe1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgLmZhLW1vYmlsZXtcbiAgIC8vIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICB9XG4gIC5hZHJlc3NlIGF7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTU2M3B4KSBhbmQgKG1pbi13aWR0aDogMTM1OHB4KSB7XG4gIC5wYXJhbGxheCAuY3ctcGljdG9zIC5waWN0byB7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgcGFkZGluZzogNCU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzNThweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFyYWxsYXggLmN3LXBpY3RvcyAucGljdG8ge1xuICAgIGhlaWdodDogMTQ4cHg7XG4gICAgd2lkdGg6IDE0OHB4O1xuICAgIHBhZGRpbmc6IDQlO1xuICB9XG4gIC5wYXJhbGxheCAuY3ctcGljdG9zIC5waWN0by1sZWdlbmRlIHtcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAuYmxvY2stcmVmZXJlbmNlcyAuY3ctcGljdG9zLW1kID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBhcmFsbGF4IC5jdy1waWN0b3MgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59IiwiLy8gUG91ciBsZXMgTUFKIGV0IHJldG91ciBsaXZyYWlzb24gZGlyZWN0ZW1lbnQgcsOpYWxpc8OpcyBlbiBQUk9EXG5cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0E2RWdDQSw0Q0FBNEM7QUFDNUMsNENBQTRDO0FBQzVDLDRDQUE0QztBR2pDNUMsT0FBTyxDQUFDLHFGQUFJO0FDa0NaLGtEQUFrRDtBQUNsRCxnQ0FBZ0M7QUFDaEMsa0RBQWtEO0FNckNsRCx1Q0FBdUM7QUFhdkMsNENBQTRDO0FBc0I1QyxzQ0FBc0M7QUFhdEMsOENBQThDO0FBVzlDLHVDQUF1QztBQVV2QyxzQ0FBc0M7QUFDdEMsc0NBQXNDO0FBQ3RDLHNDQUFzQztBSWxDdEMsdUNBQXVDO0FBQ3ZDLHVDQUF1QztBQUN2Qyx1Q0FBdUM7QUFHdkMsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUkzQjNDLDRDQUE0QztBQUM1Qyw0Q0FBNEM7QUFDNUMsNENBQTRDO0FFbkI1Qzs7Ozs7R0FLRztBbUNMSCxBQUFBLEtBQUssQ0FBQztFQUdGLE1BQVcsQ0FBRSxRQUFDO0VBQWQsUUFBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsS0FBVyxDQUFFLFFBQUM7RUFBZCxRQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLE1BQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLEtBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUFkLFdBQVcsQ0FBRSxRQUFDO0VBSWQsU0FBVyxDQUFFLFFBQUM7RUFBZCxXQUFXLENBQUUsS0FBQztFQUFkLFNBQVcsQ0FBRSxRQUFDO0VBQWQsTUFBVyxDQUFFLFFBQUM7RUFBZCxTQUFXLENBQUUsUUFBQztFQUFkLFFBQVcsQ0FBRSxRQUFDO0VBQWQsT0FBVyxDQUFFLFFBQUM7RUFBZCxNQUFXLENBQUUsUUFBQztFQUlkLGVBQW1CLENB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dEQ7RURwQkcsQUFBQSxZQUFZLENBQU87SUNDdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdERFY7RUFJRyxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVyRDFCSixFQUFFLEdxRDBCb0I7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7RUFBckMs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QUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFB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QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVyRDFCSixFQUFFLEdxRDBCb0I7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7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QUFBQSxZQUFZLENBQU87SUNDdkIsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJLEdERFY7RUFJRyxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFtQztJQUk3QyxTQUFTLEVBQUUsUUFBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFNBQVMsQ0FBVztJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFtQztJQUk3QyxTQUFTLEVBQUUsR0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFtQztJQUk3QyxTQUFTLEVBQUUsU0FBbUMsR0RXckM7RUFGRCxBQUFBLFVBQVUsQ0FBVTtJQ2I1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFtQztJQUk3QyxTQUFTLEVBQUUsSUFBbUMsR0RXckM7RUFJTCxBQUFBLGVBQWUsQ0FBTztJQUFFLEtBQUssRUFBRSxFQUFFLEdBQUk7RUFFckMsQUFBQSxjQUFjLENBQU87SUFBRSxLQUFLLEVyRDFCSixFQUFFLEdxRDBCb0I7RUFHNUMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxXQUFXLENBQVc7SUFBRSxLQUFLLEVBRGxCLENBQUMsR0FDeUI7RUFBckMsQUFBQSxZQUFZLENBQVU7SUFBRSxLQUFLLEVBRGxCLEVBQUMsR0FDeUI7RUFBckMsQUFBQSxZQUFZ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QUFFO0l2S0ZxRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnRaNUIsR0FBRztJdktKb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpwWjVCLEdBQUc7SXZLTm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUpsWjVCLEdBQUc7SXZLUm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKaFo1QixHQUFHO0l2S1ZvRCxpQkFBb0IsRXNCMFpuRSxpQkFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGlCQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsaUJBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGlCQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxpQkFBb0I7RWlKOVk1QixHQUFHO0l2S1pvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSjVZNUIsSUFBSTtJdktkbUQsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjs7QStJcFh4QixrQkFBa0IsQ0FBbEIsTUFBa0I7RUVwQ3RCLEVBQUU7SXZLRnFELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKdFo1QixHQUFHO0l2S0pvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnBaNUIsR0FBRztJdktOb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxpQkFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsaUJBQW9CO0VpSmxaNUIsR0FBRztJdktSb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpoWjVCLEdBQUc7SXZLVm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUo5WTVCLEdBQUc7SXZLWm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKNVk1QixJQUFJO0l2S2RtRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9COztBK0kvV3hCLGFBQWEsQ0FBYixNQUFhO0VFekNqQixFQUFFO0l2S0ZxRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnRaNUIsR0FBRztJdktKb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpwWjVCLEdBQUc7SXZLTm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUpsWjVCLEdBQUc7SXZLUm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFv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QW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKdFo1QixHQUFHO0l2S0pvRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9CO0VpSnBaNUIsR0FBRztJdktOb0QsaUJBQW9CLEVzQjBabkUsaUJBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxpQkFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGlCQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxpQkFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsaUJBQW9CO0VpSmxaNUIsR0FBRztJdktSb0QsaUJBQW9CLEVzQjBabkUsYUFBb0I7SXRCeFo4QixjQUFpQixFc0J3Wm5FLGFBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxhQUFvQjtJdEJ0WmdDLFlBQWUsRXNCc1puRSxhQUFvQjtJdEJyWm1DLFNBQVksRXNCcVpuRSxhQUFvQjtFaUpoWjVCLEdBQUc7SXZLVm9ELGlCQUFvQixFc0IwWm5FLGlCQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsaUJBQW9CO0l0QnZaK0IsYUFBZ0IsRXNCdVpuRSxpQkFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsaUJBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGlCQUFvQjtFaUo5WTVCLEdBQUc7SXZLWm9ELGlCQUFvQixFc0IwWm5FLGFBQW9CO0l0QnhaOEIsY0FBaUIsRXNCd1puRSxhQUFvQjtJdEJ2WitCLGFBQWdCLEVzQnVabkUsYUFBb0I7SXRCdFpnQyxZQUFlLEVzQnNabkUsYUFBb0I7SXRCclptQyxTQUFZLEVzQnFabkUsYUFBb0I7RWlKNVk1QixJQUFJO0l2S2RtRCxpQkFBb0IsRXNCMFpuRSxhQUFvQjtJdEJ4WjhCLGNBQWlCLEVzQndabkUsYUFBb0I7SXRCdlorQixhQUFnQixFc0J1Wm5FLGFBQW9CO0l0QnRaZ0MsWUFBZSxFc0JzWm5FLGFBQW9CO0l0QnJabUMsU0FBWSxFc0JxWm5FLGFBQW9COztBK0l6WHhCLGVBQWUsQ0FBZixLQUFlO0VFYm5CLEVBQUU7SXZLcEJxRCxpQkFBb0IsRXNCNFluRSxhQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsYUFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGFBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGFBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGFBQW9CO0VpSnRYNUIsR0FBRztJdkt0Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwWDVCLEdBQUc7SXZLeEJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKbFg1QixHQUFHO0l2SzFCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSmhYNUIsR0FBRztJdks1Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUo5VzVCLEdBQUc7SXZLOUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKNVc1QixHQUFHO0l2S2hDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjFXNUIsR0FBRztJdktsQ29ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUp4VzVCLEdBQUc7SXZLcENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKdFc1QixHQUFHO0l2S3RDb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBXNUIsSUFBSTtJdkt4Q21ELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7O0ErSXRXeEIsa0JBQWtCLENBQWxCLEtBQWtCO0VFbEJ0QixFQUFFO0l2S3BCcUQsaUJBQW9CLEVzQjRZbkUsYUFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGFBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxhQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxhQUFvQjtFaUp0WDVCLEdBQUc7SXZLdEJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFg1QixHQUFHO0l2S3hCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSmxYNUIsR0FBRztJdksxQm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpoWDVCLEdBQUc7SXZLNUJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKOVc1QixHQUFHO0l2SzlCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSjVXNUIsR0FBRztJdktoQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUoxVzVCLEdBQUc7SXZLbENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKeFc1QixHQUFHO0l2S3BDb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSnRXNUIsR0FBRztJdkt0Q29ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpwVzVCLElBQUk7SXZLeENtRCxpQkFBb0IsRXNCNFluRSxhQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsYUFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGFBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGFBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGFBQW9COztBK0lqV3hCLGFBQWEsQ0FBYixLQUFhO0VFdkJqQixFQUFFO0l2S3BCcUQsaUJBQW9CLEVzQjRZbkUsYUFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGFBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxhQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxhQUFvQjtFaUp0WDVCLEdBQUc7SXZLdEJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFg1QixHQUFHO0l2S3hCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSmxYNUIsR0FBRztJdksxQm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUpoWDVCLEdBQUc7SXZLNUJvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKOVc1QixHQUFHO0l2SzlCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFn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QnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0IsR2lKbldEOztBRmlCdkIsVUFBVSxDQUFWLEtBQVU7RUV0Q2QsRUFBRTtJdktwQnFELGlCQUFvQixFc0I0WW5FLGFBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxhQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsYUFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsYUFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsYUFBb0I7RWlKdFg1QixHQUFHO0l2S3RCb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnBYNUIsR0FBRztJdkt4Qm9ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUpsWDVCLEdBQUc7SXZLMUJvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKaFg1QixHQUFHO0l2SzVCb0QsaUJBQW9CLEVzQjRZbkUsZ0JBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxnQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGdCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxnQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsZ0JBQW9CO0VpSjlXNUIsR0FBRztJdks5Qm9ELGlCQUFvQixFc0I0WW5FLGlCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsaUJBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxpQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsaUJBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGlCQUFvQjtFaUo1VzVCLEdBQUc7SXZLaENvRCxpQkFBb0IsRXNCNFluRSxnQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGdCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsZ0JBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGdCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxnQkFBb0I7RWlKMVc1QixHQUFHO0l2S2xDb0QsaUJBQW9CLEVzQjRZbkUsaUJBQW9CO0l0QjFZOEIsY0FBaUIsRXNCMFluRSxpQkFBb0I7SXRCelkrQixhQUFnQixFc0J5WW5FLGlCQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxpQkFBb0I7SXRCdlltQyxTQUFZLEVzQnVZbkUsaUJBQW9CO0VpSnhXNUIsR0FBRztJdktwQ29ELGlCQUFvQixFc0I0WW5FLGdCQUFvQjtJdEIxWThCLGNBQWlCLEVzQjBZbkUsZ0JBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxnQkFBb0I7SXRCeFlnQyxZQUFlLEVzQndZbkUsZ0JBQW9CO0l0QnZZbUMsU0FBWSxFc0J1WW5FLGdCQUFvQjtFaUp0VzVCLEdBQUc7SXZLdENvRCxpQkFBb0IsRXNCNFluRSxpQkFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGlCQUFvQjtJdEJ6WStCLGFBQWdCLEVzQnlZbkUsaUJBQW9CO0l0QnhZZ0MsWUFBZSxFc0J3WW5FLGlCQUFvQjtJdEJ2WW1DLFNBQVksRXNCdVluRSxpQkFBb0I7RWlKcFc1QixJQUFJO0l2S3hDbUQsaUJBQW9CLEVzQjRZbkUsYUFBb0I7SXRCMVk4QixjQUFpQixFc0IwWW5FLGFBQW9CO0l0QnpZK0IsYUFBZ0IsRXNCeVluRSxhQUFvQjtJdEJ4WWdDLFlBQWUsRXNCd1luRSxhQUFvQjtJdEJ2WW1DLFNBQVksRXNC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QUFlO0VFbUZuQixFQUFFO0l2S3BIcUQsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFd0QixHQUFHO0l2S3RIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKaFd0QixHQUFHO0l2S3hIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKOVZ0QixHQUFHO0l2SzFIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKNVZ0QixHQUFHO0l2SzVIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKMVZ0QixHQUFHO0l2SzlIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKeFZ0QixHQUFHO0l2S2hJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKdFZ0QixHQUFHO0l2S2xJb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKcFZ0QixHQUFHO0l2S3BJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFZ0QixHQUFHO0l2S3RJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKaFZ0QixJQUFJO0l2S3hJbUQsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7O0ErSWxibEIsa0JBQWtCLENBQWxCLE1BQWtCO0VFOEV0QixFQUFFO0l2S3BIcUQsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFd0QixHQUFHO0l2S3RIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKaFd0QixHQUFHO0l2S3hIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKOVZ0QixHQUFHO0l2SzFIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKNVZ0QixHQUFHO0l2SzVIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKMVZ0QixHQUFHO0l2SzlIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKeFZ0QixHQUFHO0l2S2hJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKdFZ0QixHQUFHO0l2S2xJb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKcFZ0QixHQUFHO0l2S3BJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFZ0QixHQUFHO0l2S3RJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKaFZ0QixJQUFJO0l2S3hJbUQsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7O0ErSTdhbEIsYUFBYSxDQUFiLE1BQWE7RUV5RWpCLEVBQUU7SXZLcEhxRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUpsV3RCLEdBQUc7SXZLdEhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpoV3RCLEdBQUc7SXZLeEhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUo5VnRCLEdBQUc7SXZLMUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUo1VnRCLEdBQUc7SXZLNUhvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUoxVnRCLEdBQUc7SXZLOUhvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUp4VnRCLEdBQUc7SXZLaElvRCxpQkFBb0IsRXNCd2RuRSxXQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxXQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxXQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFdBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsV0FBYztFaUp0VnRCLEdBQUc7SXZLbElvRCxpQkFBb0IsRXNCd2RuRSxZQUFjO0l0QnRkb0MsY0FBaUIsRXNCc2RuRSxZQUFjO0l0QnJkcUMsYUFBZ0IsRXNCcWRuRSxZQUFjO0l0QnBkc0MsWUFBZSxFc0JvZG5FLFlBQWM7SXRCbmR5QyxTQUFZLEVzQm1kbkUsWUFBYztFaUpwVnRCLEdBQUc7SXZLcElvRCxpQkFBb0IsRXNCd2RuRSxX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QixHQUFHO0l2SzFIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKNVZ0QixHQUFHO0l2SzVIb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKMVZ0QixHQUFHO0l2SzlIb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKeFZ0QixHQUFHO0l2S2hJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKdFZ0QixHQUFHO0l2S2xJb0QsaUJBQW9CLEVzQndkbkUsWUFBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsWUFBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsWUFBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxZQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFlBQWM7RWlKcFZ0QixHQUFHO0l2S3BJb0QsaUJBQW9CLEVzQndkbkUsV0FBYztJdEJ0ZG9DLGNBQWlCLEVzQnNkbkUsV0FBYztJdEJyZHFDLGFBQWdCLEVzQnFkbkUsV0FBYztJdEJwZHNDLFlBQWUsRXNCb2RuRSxXQUFjO0l0Qm5keUMsU0FBWSxFc0JtZG5FLFdBQWM7RWlKbFZ0QixHQUFHO0l2S3RJb0QsaUJB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 */
