@import "https://cdn.jsdelivr.net/font-hack/2.020/css/hack.min.css";
/*!
 * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active {
  outline: 0; }

a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

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

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

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

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

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

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

td,
th {
  padding: 0; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .navbar {
    display: none; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

html {
  box-sizing: border-box; }

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

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

html {
  font-size: 16px;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #373a3c;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: none !important; }

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

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

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #818a91; }

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: bold; }

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

blockquote {
  margin: 0 0 1rem; }

a {
  color: limegreen;
  text-decoration: none; }
  a:focus, a:hover {
    color: #239023;
    text-decoration: underline; }
  a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

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

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle; }

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

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

table {
  background-color: transparent; }

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

th {
  text-align: left; }

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

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
textarea {
  margin: 0;
  line-height: inherit;
  border-radius: 0; }

textarea {
  resize: vertical; }

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

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

input[type="search"] {
  box-sizing: inherit;
  -webkit-appearance: none; }

output {
  display: inline-block; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.75rem; }

h4 {
  font-size: 1.5rem; }

h5 {
  font-size: 1.25rem; }

h6 {
  font-size: 1rem; }

.h1 {
  font-size: 2.5rem; }

.h2 {
  font-size: 2rem; }

.h3 {
  font-size: 1.75rem; }

.h4 {
  font-size: 1.5rem; }

.h5 {
  font-size: 1.25rem; }

.h6 {
  font-size: 1rem; }

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

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

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

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

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

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

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

mark,
.mark {
  padding: .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: 5px; }

.dl-horizontal {
  margin-right: -1.875rem;
  margin-left: -1.875rem; }
  .dl-horizontal::after {
    content: "";
    display: table;
    clear: both; }

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

.blockquote {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  border-left: 0.25rem solid #eceeef; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  line-height: 1.5;
  color: #818a91; }
  .blockquote-footer::before {
    content: "\2014 \00A0"; }

.blockquote-reverse {
  padding-right: 1rem;
  padding-left: 0;
  text-align: right;
  border-right: 0.25rem solid #eceeef;
  border-left: 0; }

.blockquote-reverse .blockquote-footer::before {
  content: ""; }

.blockquote-reverse .blockquote-footer::after {
  content: "\00A0 \2014"; }

.img-fluid, .carousel-inner > .carousel-item > img,
.carousel-inner > .carousel-item > a > img {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 0.3rem; }

.img-thumbnail {
  padding: 0.25rem;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  transition: all .2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto; }

.img-circle {
  border-radius: 50%; }

.figure {
  display: inline-block; }

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

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

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

code {
  padding: .2rem .4rem;
  font-size: 90%;
  color: #bd4147;
  background-color: #f7f7f9;
  border-radius: 0.25rem; }

kbd {
  padding: .2rem .4rem;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 0.2rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold; }

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 90%;
  line-height: 1.5;
  color: #373a3c; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border-radius: 0; }

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

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .container::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 544px) {
    .container {
      max-width: 576px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 940px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }
  .container-fluid::after {
    content: "";
    display: table;
    clear: both; }

.row {
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .row::after {
    content: "";
    display: table;
    clear: both; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .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-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-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-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 {
  position: relative;
  min-height: 1px;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.33333%; }

.col-xs-pull-2 {
  right: 16.66667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.33333%; }

.col-xs-pull-5 {
  right: 41.66667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.33333%; }

.col-xs-pull-8 {
  right: 66.66667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.33333%; }

.col-xs-pull-11 {
  right: 91.66667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.33333%; }

.col-xs-push-2 {
  left: 16.66667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.33333%; }

.col-xs-push-5 {
  left: 41.66667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.33333%; }

.col-xs-push-8 {
  left: 66.66667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.33333%; }

.col-xs-push-11 {
  left: 91.66667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

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

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

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

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

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

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

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

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

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

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

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

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 544px) {
  .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 {
    float: left; }
  .col-sm-1 {
    width: 8.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 768px) {
  .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 {
    float: left; }
  .col-md-1 {
    width: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .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 {
    float: left; }
  .col-lg-1 {
    width: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1200px) {
  .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 {
    float: left; }
  .col-xl-1 {
    width: 8.33333%; }
  .col-xl-2 {
    width: 16.66667%; }
  .col-xl-3 {
    width: 25%; }
  .col-xl-4 {
    width: 33.33333%; }
  .col-xl-5 {
    width: 41.66667%; }
  .col-xl-6 {
    width: 50%; }
  .col-xl-7 {
    width: 58.33333%; }
  .col-xl-8 {
    width: 66.66667%; }
  .col-xl-9 {
    width: 75%; }
  .col-xl-10 {
    width: 83.33333%; }
  .col-xl-11 {
    width: 91.66667%; }
  .col-xl-12 {
    width: 100%; }
  .col-xl-pull-0 {
    right: auto; }
  .col-xl-pull-1 {
    right: 8.33333%; }
  .col-xl-pull-2 {
    right: 16.66667%; }
  .col-xl-pull-3 {
    right: 25%; }
  .col-xl-pull-4 {
    right: 33.33333%; }
  .col-xl-pull-5 {
    right: 41.66667%; }
  .col-xl-pull-6 {
    right: 50%; }
  .col-xl-pull-7 {
    right: 58.33333%; }
  .col-xl-pull-8 {
    right: 66.66667%; }
  .col-xl-pull-9 {
    right: 75%; }
  .col-xl-pull-10 {
    right: 83.33333%; }
  .col-xl-pull-11 {
    right: 91.66667%; }
  .col-xl-pull-12 {
    right: 100%; }
  .col-xl-push-0 {
    left: auto; }
  .col-xl-push-1 {
    left: 8.33333%; }
  .col-xl-push-2 {
    left: 16.66667%; }
  .col-xl-push-3 {
    left: 25%; }
  .col-xl-push-4 {
    left: 33.33333%; }
  .col-xl-push-5 {
    left: 41.66667%; }
  .col-xl-push-6 {
    left: 50%; }
  .col-xl-push-7 {
    left: 58.33333%; }
  .col-xl-push-8 {
    left: 66.66667%; }
  .col-xl-push-9 {
    left: 75%; }
  .col-xl-push-10 {
    left: 83.33333%; }
  .col-xl-push-11 {
    left: 91.66667%; }
  .col-xl-push-12 {
    left: 100%; }
  .col-xl-offset-0 {
    margin-left: 0%; }
  .col-xl-offset-1 {
    margin-left: 8.33333%; }
  .col-xl-offset-2 {
    margin-left: 16.66667%; }
  .col-xl-offset-3 {
    margin-left: 25%; }
  .col-xl-offset-4 {
    margin-left: 33.33333%; }
  .col-xl-offset-5 {
    margin-left: 41.66667%; }
  .col-xl-offset-6 {
    margin-left: 50%; }
  .col-xl-offset-7 {
    margin-left: 58.33333%; }
  .col-xl-offset-8 {
    margin-left: 66.66667%; }
  .col-xl-offset-9 {
    margin-left: 75%; }
  .col-xl-offset-10 {
    margin-left: 83.33333%; }
  .col-xl-offset-11 {
    margin-left: 91.66667%; }
  .col-xl-offset-12 {
    margin-left: 100%; } }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem; }
  .table th,
  .table td {
    padding: 0.75rem;
    line-height: 1.5;
    vertical-align: top;
    border-top: 1px solid #eceeef; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #eceeef; }
  .table tbody + tbody {
    border-top: 2px solid #eceeef; }
  .table .table {
    background-color: #fff; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table-responsive {
  display: block;
  width: 100%;
  min-height: 0.01%;
  overflow-x: auto; }

.thead-inverse th {
  color: #fff;
  background-color: #373a3c; }

.thead-default th {
  color: #55595c;
  background-color: #eceeef; }

.table-inverse {
  color: #eceeef;
  background-color: #373a3c; }
  .table-inverse.table-bordered {
    border: 0; }
  .table-inverse th,
  .table-inverse td,
  .table-inverse thead th {
    border-color: #55595c; }

.table-reflow thead {
  float: left; }

.table-reflow tbody {
  display: block;
  white-space: nowrap; }

.table-reflow th,
.table-reflow td {
  border-top: 1px solid #eceeef;
  border-left: 1px solid #eceeef; }
  .table-reflow th:last-child,
  .table-reflow td:last-child {
    border-right: 1px solid #eceeef; }

.table-reflow thead:last-child tr:last-child th,
.table-reflow thead:last-child tr:last-child td,
.table-reflow tbody:last-child tr:last-child th,
.table-reflow tbody:last-child tr:last-child td,
.table-reflow tfoot:last-child tr:last-child th,
.table-reflow tfoot:last-child tr:last-child td {
  border-bottom: 1px solid #eceeef; }

.table-reflow tr {
  float: left; }
  .table-reflow tr th,
  .table-reflow tr td {
    display: block !important;
    border: 1px solid #eceeef; }

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #55595c;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0.25rem; }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    border-color: #66afe9;
    outline: none; }
  .form-control::placeholder {
    color: #999;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #eceeef;
    opacity: 1; }
  .form-control:disabled {
    cursor: not-allowed; }

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

.form-control-label {
  padding: 0.375rem 0.75rem;
  margin-bottom: 0; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 2.25rem; }
  input[type="date"].input-sm,
  .input-group-sm input[type="date"].form-control,
  input[type="time"].input-sm,
  .input-group-sm
  input[type="time"].form-control,
  input[type="datetime-local"].input-sm,
  .input-group-sm
  input[type="datetime-local"].form-control,
  input[type="month"].input-sm,
  .input-group-sm
  input[type="month"].form-control {
    line-height: 1.8625rem; }
  input[type="date"].input-lg,
  .input-group-lg input[type="date"].form-control,
  input[type="time"].input-lg,
  .input-group-lg
  input[type="time"].form-control,
  input[type="datetime-local"].input-lg,
  .input-group-lg
  input[type="datetime-local"].form-control,
  input[type="month"].input-lg,
  .input-group-lg
  input[type="month"].form-control {
    line-height: 3.16667rem; } }

.form-control-static {
  min-height: 2.25rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0; }
  .form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,
  .input-group-sm > .form-control-static.input-group-addon,
  .input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,
  .input-group-lg > .form-control-static.input-group-addon,
  .input-group-lg > .input-group-btn > .form-control-static.btn {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  padding: 0.275rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  padding: 0.75rem 1.25rem;
  font-size: 1.25rem;
  line-height: 1.33333;
  border-radius: 0.3rem; }

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

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-bottom: 0.75rem; }
  .radio label,
  .checkbox label {
    padding-left: 1.25rem;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }
    .radio label input:only-child,
    .checkbox label input:only-child {
      position: static; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-top: .25rem;
  margin-left: -1.25rem; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -.25rem; }

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 1.25rem;
  margin-bottom: 0;
  font-weight: normal;
  vertical-align: middle;
  cursor: pointer; }

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: .75rem; }

input[type="radio"]:disabled, input[type="radio"].disabled,
input[type="checkbox"]:disabled,
input[type="checkbox"].disabled {
  cursor: not-allowed; }

.radio-inline.disabled,
.checkbox-inline.disabled {
  cursor: not-allowed; }

.radio.disabled label,
.checkbox.disabled label {
  cursor: not-allowed; }

.form-control-success,
.form-control-warning,
.form-control-danger {
  padding-right: 2.25rem;
  background-repeat: no-repeat;
  background-position: center right 0.5625rem;
  background-size: 1.4625rem 1.4625rem; }

.has-success .text-help,
.has-success .form-control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #5cb85c; }

.has-success .form-control {
  border-color: #5cb85c; }

.has-success .input-group-addon {
  color: #5cb85c;
  border-color: #5cb85c;
  background-color: #eaf6ea; }

.has-success .form-control-feedback {
  color: #5cb85c; }

.has-success .form-control-success {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg=="); }

.has-warning .text-help,
.has-warning .form-control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #f0ad4e; }

.has-warning .form-control {
  border-color: #f0ad4e; }

.has-warning .input-group-addon {
  color: #f0ad4e;
  border-color: #f0ad4e;
  background-color: white; }

.has-warning .form-control-feedback {
  color: #f0ad4e; }

.has-warning .form-control-warning {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+"); }

.has-danger .text-help,
.has-danger .form-control-label,
.has-danger .radio,
.has-danger .checkbox,
.has-danger .radio-inline,
.has-danger .checkbox-inline,
.has-danger.radio label,
.has-danger.checkbox label,
.has-danger.radio-inline label,
.has-danger.checkbox-inline label {
  color: #d9534f; }

.has-danger .form-control {
  border-color: #d9534f; }

.has-danger .input-group-addon {
  color: #d9534f;
  border-color: #d9534f;
  background-color: #fdf7f7; }

.has-danger .form-control-feedback {
  color: #d9534f; }

.has-danger .form-control-danger {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4="); }

@media (min-width: 544px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
    .form-inline .input-group .input-group-addon,
    .form-inline .input-group .input-group-btn,
    .form-inline .input-group .form-control {
      width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .form-control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
    .form-inline .radio label,
    .form-inline .checkbox label {
      padding-left: 0; }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback {
    top: 0; } }

.btn {
  display: inline-block;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem; }
  .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:focus, .btn:hover {
    text-decoration: none; }
  .btn.focus {
    text-decoration: none; }
  .btn:active, .btn.active {
    background-image: none;
    outline: 0; }
  .btn.disabled, .btn:disabled {
    cursor: not-allowed;
    opacity: .65; }

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none; }

.btn-primary {
  color: #fff;
  background-color: limegreen;
  border-color: limegreen; }
  .btn-primary:hover {
    color: #fff;
    background-color: #28a428;
    border-color: #269c26; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #28a428;
    border-color: #269c26; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #28a428;
    border-color: #269c26;
    background-image: none; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #218721;
      border-color: #196719; }
  .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary:disabled:focus, .btn-primary:disabled.focus {
    background-color: limegreen;
    border-color: limegreen; }
  .btn-primary.disabled:hover, .btn-primary:disabled:hover {
    background-color: limegreen;
    border-color: limegreen; }

.btn-secondary {
  color: #373a3c;
  background-color: #fff;
  border-color: #ccc; }
  .btn-secondary:hover {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-secondary:active, .btn-secondary.active,
  .open > .btn-secondary.dropdown-toggle {
    color: #373a3c;
    background-color: #e6e6e6;
    border-color: #adadad;
    background-image: none; }
    .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus,
    .open > .btn-secondary.dropdown-toggle:hover,
    .open > .btn-secondary.dropdown-toggle:focus,
    .open > .btn-secondary.dropdown-toggle.focus {
      color: #373a3c;
      background-color: #d4d4d4;
      border-color: #8c8c8c; }
  .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus {
    background-color: #fff;
    border-color: #ccc; }
  .btn-secondary.disabled:hover, .btn-secondary:disabled:hover {
    background-color: #fff;
    border-color: #ccc; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #5bc0de; }
  .btn-info:hover {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #2aabd2;
    background-image: none; }
    .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
    .open > .btn-info.dropdown-toggle:hover,
    .open > .btn-info.dropdown-toggle:focus,
    .open > .btn-info.dropdown-toggle.focus {
      color: #fff;
      background-color: #269abc;
      border-color: #1f7e9a; }
  .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info:disabled:focus, .btn-info:disabled.focus {
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info.disabled:hover, .btn-info:disabled:hover {
    background-color: #5bc0de;
    border-color: #5bc0de; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #5cb85c; }
  .btn-success:hover {
    color: #fff;
    background-color: #449d44;
    border-color: #419641; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #449d44;
    border-color: #419641; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #419641;
    background-image: none; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #398439;
      border-color: #2d672d; }
  .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success:disabled:focus, .btn-success:disabled.focus {
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success.disabled:hover, .btn-success:disabled:hover {
    background-color: #5cb85c;
    border-color: #5cb85c; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #f0ad4e; }
  .btn-warning:hover {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #eb9316;
    background-image: none; }
    .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
    .open > .btn-warning.dropdown-toggle:hover,
    .open > .btn-warning.dropdown-toggle:focus,
    .open > .btn-warning.dropdown-toggle.focus {
      color: #fff;
      background-color: #d58512;
      border-color: #b06d0f; }
  .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning:disabled:focus, .btn-warning:disabled.focus {
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning.disabled:hover, .btn-warning:disabled:hover {
    background-color: #f0ad4e;
    border-color: #f0ad4e; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d9534f; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #c12e2a;
    background-image: none; }
    .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
    .open > .btn-danger.dropdown-toggle:hover,
    .open > .btn-danger.dropdown-toggle:focus,
    .open > .btn-danger.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac2925;
      border-color: #8b211e; }
  .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger:disabled:focus, .btn-danger:disabled.focus {
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger.disabled:hover, .btn-danger:disabled:hover {
    background-color: #d9534f;
    border-color: #d9534f; }

.btn-primary-outline {
  color: limegreen;
  background-image: none;
  background-color: transparent;
  border-color: limegreen; }
  .btn-primary-outline:focus, .btn-primary-outline.focus, .btn-primary-outline:active, .btn-primary-outline.active,
  .open > .btn-primary-outline.dropdown-toggle {
    color: #fff;
    background-color: limegreen;
    border-color: limegreen; }
  .btn-primary-outline:hover {
    color: #fff;
    background-color: limegreen;
    border-color: limegreen; }
  .btn-primary-outline.disabled:focus, .btn-primary-outline.disabled.focus, .btn-primary-outline:disabled:focus, .btn-primary-outline:disabled.focus {
    border-color: #84e184; }
  .btn-primary-outline.disabled:hover, .btn-primary-outline:disabled:hover {
    border-color: #84e184; }

.btn-secondary-outline {
  color: #ccc;
  background-image: none;
  background-color: transparent;
  border-color: #ccc; }
  .btn-secondary-outline:focus, .btn-secondary-outline.focus, .btn-secondary-outline:active, .btn-secondary-outline.active,
  .open > .btn-secondary-outline.dropdown-toggle {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
  .btn-secondary-outline:hover {
    color: #fff;
    background-color: #ccc;
    border-color: #ccc; }
  .btn-secondary-outline.disabled:focus, .btn-secondary-outline.disabled.focus, .btn-secondary-outline:disabled:focus, .btn-secondary-outline:disabled.focus {
    border-color: white; }
  .btn-secondary-outline.disabled:hover, .btn-secondary-outline:disabled:hover {
    border-color: white; }

.btn-info-outline {
  color: #5bc0de;
  background-image: none;
  background-color: transparent;
  border-color: #5bc0de; }
  .btn-info-outline:focus, .btn-info-outline.focus, .btn-info-outline:active, .btn-info-outline.active,
  .open > .btn-info-outline.dropdown-toggle {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info-outline:hover {
    color: #fff;
    background-color: #5bc0de;
    border-color: #5bc0de; }
  .btn-info-outline.disabled:focus, .btn-info-outline.disabled.focus, .btn-info-outline:disabled:focus, .btn-info-outline:disabled.focus {
    border-color: #b0e1ef; }
  .btn-info-outline.disabled:hover, .btn-info-outline:disabled:hover {
    border-color: #b0e1ef; }

.btn-success-outline {
  color: #5cb85c;
  background-image: none;
  background-color: transparent;
  border-color: #5cb85c; }
  .btn-success-outline:focus, .btn-success-outline.focus, .btn-success-outline:active, .btn-success-outline.active,
  .open > .btn-success-outline.dropdown-toggle {
    color: #fff;
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success-outline:hover {
    color: #fff;
    background-color: #5cb85c;
    border-color: #5cb85c; }
  .btn-success-outline.disabled:focus, .btn-success-outline.disabled.focus, .btn-success-outline:disabled:focus, .btn-success-outline:disabled.focus {
    border-color: #a3d7a3; }
  .btn-success-outline.disabled:hover, .btn-success-outline:disabled:hover {
    border-color: #a3d7a3; }

.btn-warning-outline {
  color: #f0ad4e;
  background-image: none;
  background-color: transparent;
  border-color: #f0ad4e; }
  .btn-warning-outline:focus, .btn-warning-outline.focus, .btn-warning-outline:active, .btn-warning-outline.active,
  .open > .btn-warning-outline.dropdown-toggle {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning-outline:hover {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e; }
  .btn-warning-outline.disabled:focus, .btn-warning-outline.disabled.focus, .btn-warning-outline:disabled:focus, .btn-warning-outline:disabled.focus {
    border-color: #f8d9ac; }
  .btn-warning-outline.disabled:hover, .btn-warning-outline:disabled:hover {
    border-color: #f8d9ac; }

.btn-danger-outline {
  color: #d9534f;
  background-image: none;
  background-color: transparent;
  border-color: #d9534f; }
  .btn-danger-outline:focus, .btn-danger-outline.focus, .btn-danger-outline:active, .btn-danger-outline.active,
  .open > .btn-danger-outline.dropdown-toggle {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger-outline:hover {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f; }
  .btn-danger-outline.disabled:focus, .btn-danger-outline.disabled.focus, .btn-danger-outline:disabled:focus, .btn-danger-outline:disabled.focus {
    border-color: #eba5a3; }
  .btn-danger-outline.disabled:hover, .btn-danger-outline:disabled:hover {
    border-color: #eba5a3; }

.btn-link {
  font-weight: normal;
  color: limegreen;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
    background-color: transparent; }
  .btn-link, .btn-link:focus, .btn-link:active {
    border-color: transparent; }
  .btn-link:hover {
    border-color: transparent; }
  .btn-link:focus, .btn-link:hover {
    color: #239023;
    text-decoration: underline;
    background-color: transparent; }
  .btn-link:disabled:focus, .btn-link:disabled:hover {
    color: #818a91;
    text-decoration: none; }

.btn-lg, .btn-group-lg > .btn {
  padding: 0.75rem 1.25rem;
  font-size: 1.25rem;
  line-height: 1.33333;
  border-radius: 0.3rem; }

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.btn-block {
  display: block;
  width: 100%; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.fade {
  opacity: 0;
  transition: opacity .15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-timing-function: ease;
  transition-duration: .35s;
  transition-property: height; }

.dropup,
.dropdown {
  position: relative; }

.dropdown-toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: .25rem;
  margin-left: .25rem;
  vertical-align: middle;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-left: 0.3em solid transparent; }

.dropdown-toggle:focus {
  outline: 0; }

.dropup .dropdown-toggle::after {
  border-top: 0;
  border-bottom: 0.3em solid; }

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

.dropdown-divider {
  height: 1px;
  margin: 0.5rem 0;
  overflow: hidden;
  background-color: #e5e5e5; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.5;
  color: #373a3c;
  text-align: inherit;
  white-space: nowrap;
  background: none;
  border: 0; }
  .dropdown-item:focus, .dropdown-item:hover {
    color: #2b2d2f;
    text-decoration: none;
    background-color: #f5f5f5; }
  .dropdown-item.active, .dropdown-item.active:focus, .dropdown-item.active:hover {
    color: #fff;
    text-decoration: none;
    background-color: limegreen;
    outline: 0; }
  .dropdown-item.disabled, .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
    color: #818a91; }
  .dropdown-item.disabled:focus, .dropdown-item.disabled:hover {
    text-decoration: none;
    cursor: not-allowed;
    background-color: transparent;
    background-image: none;
    filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; }

.open > .dropdown-menu {
  display: block; }

.open > a {
  outline: 0; }

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

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

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #818a91;
  white-space: nowrap; }

.dropdown-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 990; }

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

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  content: "";
  border-top: 0;
  border-bottom: 0.3em solid; }

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    float: left; }
    .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: 2; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 2; }

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px; }

.btn-toolbar {
  margin-left: -5px; }
  .btn-toolbar::after {
    content: "";
    display: table;
    clear: both; }
  .btn-toolbar .btn-group,
  .btn-toolbar .input-group {
    float: left; }
  .btn-toolbar > .btn,
  .btn-toolbar > .btn-group,
  .btn-toolbar > .input-group {
    margin-left: 5px; }

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0; }

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

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

.btn-group > .btn-group {
  float: left; }

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

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

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

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0; }

.btn-group > .btn + .dropdown-toggle {
  padding-right: 8px;
  padding-left: 8px; }

.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
  padding-right: 12px;
  padding-left: 12px; }

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

.btn-lg .caret, .btn-group-lg > .btn .caret {
  border-width: 0.3em 0.3em 0;
  border-bottom-width: 0; }

.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
  border-width: 0 0.3em 0.3em; }

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%; }

.btn-group-vertical > .btn-group::after {
  content: "";
  display: table;
  clear: both; }

.btn-group-vertical > .btn-group > .btn {
  float: none; }

.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0; }

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0; }

.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0; }

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

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

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

.input-group {
  position: relative;
  display: table;
  border-collapse: separate; }
  .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0; }
    .input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {
      z-index: 3; }

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell; }
  .input-group-addon:not(:first-child):not(:last-child),
  .input-group-btn:not(:first-child):not(:last-child),
  .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0; }

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle; }

.input-group-addon {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  color: #55595c;
  text-align: center;
  background-color: #eceeef;
  border: 1px solid #ccc;
  border-radius: 0.25rem; }
  .input-group-addon.form-control-sm,
  .input-group-sm > .input-group-addon,
  .input-group-sm > .input-group-btn > .input-group-addon.btn {
    padding: 0.275rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.2rem; }
  .input-group-addon.form-control-lg,
  .input-group-lg > .input-group-addon,
  .input-group-lg > .input-group-btn > .input-group-addon.btn {
    padding: 0.75rem 1.25rem;
    font-size: 1.25rem;
    border-radius: 0.3rem; }
  .input-group-addon input[type="radio"],
  .input-group-addon input[type="checkbox"] {
    margin-top: 0; }

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

.input-group-addon:first-child {
  border-right: 0; }

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0; }

.input-group-addon:last-child {
  border-left: 0; }

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap; }
  .input-group-btn > .btn {
    position: relative; }
    .input-group-btn > .btn + .btn {
      margin-left: -1px; }
    .input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {
      z-index: 3; }
  .input-group-btn:first-child > .btn,
  .input-group-btn:first-child > .btn-group {
    margin-right: -1px; }
  .input-group-btn:last-child > .btn,
  .input-group-btn:last-child > .btn-group {
    z-index: 2;
    margin-left: -1px; }
    .input-group-btn:last-child > .btn:focus, .input-group-btn:last-child > .btn:active, .input-group-btn:last-child > .btn:hover,
    .input-group-btn:last-child > .btn-group:focus,
    .input-group-btn:last-child > .btn-group:active,
    .input-group-btn:last-child > .btn-group:hover {
      z-index: 3; }

.c-input {
  position: relative;
  display: inline;
  padding-left: 1.5rem;
  color: #555;
  cursor: pointer; }
  .c-input > input {
    position: absolute;
    z-index: -1;
    opacity: 0; }
    .c-input > input:checked ~ .c-indicator {
      color: #fff;
      background-color: #0074d9; }
    .c-input > input:focus ~ .c-indicator {
      box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; }
    .c-input > input:active ~ .c-indicator {
      color: #fff;
      background-color: #84c6ff; }
  .c-input + .c-input {
    margin-left: 1rem; }

.c-indicator {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1rem;
  height: 1rem;
  font-size: 65%;
  line-height: 1rem;
  color: #eee;
  text-align: center;
  user-select: none;
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%; }

.c-checkbox .c-indicator {
  border-radius: .25rem; }

.c-checkbox input:checked ~ .c-indicator {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); }

.c-checkbox input:indeterminate ~ .c-indicator {
  background-color: #0074d9;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); }

.c-radio .c-indicator {
  border-radius: 50%; }

.c-radio input:checked ~ .c-indicator {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); }

.c-inputs-stacked .c-input {
  display: inline; }
  .c-inputs-stacked .c-input::after {
    display: block;
    margin-bottom: .25rem;
    content: ""; }
  .c-inputs-stacked .c-input + .c-input {
    margin-left: 0; }

.c-select {
  display: inline-block;
  max-width: 100%;
  padding: .375rem 1.75rem .375rem .75rem;
  padding-right: .75rem \9;
  color: #55595c;
  vertical-align: middle;
  background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right 0.75rem center;
  background-image: none \9;
  background-size: 8px 10px;
  border: 1px solid #ccc;
  -moz-appearance: none;
  -webkit-appearance: none; }
  .c-select:focus {
    border-color: #51a7e8;
    outline: none; }
  .c-select::-ms-expand {
    opacity: 0; }

.c-select-sm {
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 12px; }
  .c-select-sm:not([multiple]) {
    height: 26px;
    min-height: 26px; }

.file {
  position: relative;
  display: inline-block;
  height: 2.5rem;
  cursor: pointer; }

.file input {
  min-width: 14rem;
  margin: 0;
  filter: alpha(opacity=0);
  opacity: 0; }

.file-custom {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 5;
  height: 2.5rem;
  padding: .5rem 1rem;
  line-height: 1.5;
  color: #555;
  user-select: none;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: .25rem; }

.file-custom::after {
  content: "Choose file..."; }

.file-custom::before {
  position: absolute;
  top: -.075rem;
  right: -.075rem;
  bottom: -.075rem;
  z-index: 6;
  display: block;
  height: 2.5rem;
  padding: .5rem 1rem;
  line-height: 1.5;
  color: #555;
  content: "Browse";
  background-color: #eee;
  border: 1px solid #ddd;
  border-radius: 0 .25rem .25rem 0; }

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

.nav-link {
  display: inline-block; }
  .nav-link:focus, .nav-link:hover {
    text-decoration: none; }
  .nav-link.disabled {
    color: #818a91; }
    .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover {
      color: #818a91;
      cursor: not-allowed;
      background-color: transparent; }

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

.nav-inline .nav-item + .nav-item,
.nav-inline .nav-link + .nav-link {
  margin-left: 1rem; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }
  .nav-tabs::after {
    content: "";
    display: table;
    clear: both; }
  .nav-tabs .nav-item {
    float: left;
    margin-bottom: -1px; }
    .nav-tabs .nav-item + .nav-item {
      margin-left: .2rem; }
  .nav-tabs .nav-link {
    display: block;
    padding: 0.5em 1em;
    border: 1px solid transparent;
    border-radius: 0.25rem 0.25rem 0 0; }
    .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
      border-color: #eceeef #eceeef #ddd; }
    .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover {
      color: #818a91;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover,
  .nav-tabs .nav-item.open .nav-link,
  .nav-tabs .nav-item.open .nav-link:focus,
  .nav-tabs .nav-item.open .nav-link:hover {
    color: #55595c;
    background-color: #fff;
    border-color: #ddd #ddd transparent; }

.nav-pills::after {
  content: "";
  display: table;
  clear: both; }

.nav-pills .nav-item {
  float: left; }
  .nav-pills .nav-item + .nav-item {
    margin-left: .2rem; }

.nav-pills .nav-link {
  display: block;
  padding: 0.5em 1em;
  border-radius: 0.25rem; }

.nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover,
.nav-pills .nav-item.open .nav-link,
.nav-pills .nav-item.open .nav-link:focus,
.nav-pills .nav-item.open .nav-link:hover {
  color: #fff;
  cursor: default;
  background-color: limegreen; }

.nav-stacked .nav-item {
  display: block;
  float: none; }
  .nav-stacked .nav-item + .nav-item {
    margin-top: .2rem;
    margin-left: 0; }

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

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

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

.navbar {
  position: relative;
  padding: 0.5rem 1rem; }
  .navbar::after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 544px) {
    .navbar {
      border-radius: 0.25rem; } }

.navbar-full {
  z-index: 1000; }
  @media (min-width: 544px) {
    .navbar-full {
      border-radius: 0; } }

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030; }
  @media (min-width: 544px) {
    .navbar-fixed-top,
    .navbar-fixed-bottom {
      border-radius: 0; } }

.navbar-fixed-top {
  top: 0; }

.navbar-fixed-bottom {
  bottom: 0; }

.navbar-sticky-top {
  position: sticky;
  top: 0;
  z-index: 1030;
  width: 100%; }
  @media (min-width: 544px) {
    .navbar-sticky-top {
      border-radius: 0; } }

.navbar-brand {
  float: left;
  padding-top: .25rem;
  padding-bottom: .25rem;
  margin-right: 1rem;
  font-size: 1.25rem; }
  .navbar-brand:focus, .navbar-brand:hover {
    text-decoration: none; }
  .navbar-brand > img {
    display: block; }

.navbar-divider {
  float: left;
  width: 1px;
  padding-top: .425rem;
  padding-bottom: .425rem;
  margin-right: 1rem;
  margin-left: 1rem;
  overflow: hidden; }
  .navbar-divider::before {
    content: "\00a0"; }

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

@media (min-width: 544px) {
  .navbar-toggleable-xs {
    display: block !important; } }

@media (min-width: 768px) {
  .navbar-toggleable-sm {
    display: block !important; } }

@media (min-width: 992px) {
  .navbar-toggleable-md {
    display: block !important; } }

.navbar-nav .nav-item {
  float: left; }

.navbar-nav .nav-link {
  display: block;
  padding-top: .425rem;
  padding-bottom: .425rem; }
  .navbar-nav .nav-link + .nav-link {
    margin-left: 1rem; }

.navbar-nav .nav-item + .nav-item {
  margin-left: 1rem; }

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

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

.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .active > .nav-link:focus,
.navbar-light .navbar-nav .active > .nav-link:hover,
.navbar-light .navbar-nav .nav-link.open,
.navbar-light .navbar-nav .nav-link.open:focus,
.navbar-light .navbar-nav .nav-link.open:hover,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.active:focus,
.navbar-light .navbar-nav .nav-link.active:hover {
  color: rgba(0, 0, 0, 0.8); }

.navbar-light .navbar-divider {
  background-color: rgba(0, 0, 0, 0.075); }

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

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

.navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover,
.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .active > .nav-link:focus,
.navbar-dark .navbar-nav .active > .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.open,
.navbar-dark .navbar-nav .nav-link.open:focus,
.navbar-dark .navbar-nav .nav-link.open:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link.active:focus,
.navbar-dark .navbar-nav .nav-link.active:hover {
  color: white; }

.navbar-dark .navbar-divider {
  background-color: rgba(255, 255, 255, 0.075); }

.card {
  position: relative;
  display: block;
  margin-bottom: 0.75rem;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 0.25rem; }

.card-block {
  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 > .list-group:first-child .list-group-item:first-child {
  border-radius: 0.25rem 0.25rem 0 0; }

.card > .list-group:last-child .list-group-item:last-child {
  border-radius: 0 0 0.25rem 0.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  background-color: #f5f5f5;
  border-bottom: 1px solid #e5e5e5; }
  .card-header:first-child {
    border-radius: 0.25rem 0.25rem 0 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5; }
  .card-footer:last-child {
    border-radius: 0 0 0.25rem 0.25rem; }

.card-primary {
  background-color: limegreen;
  border-color: limegreen; }

.card-success {
  background-color: #5cb85c;
  border-color: #5cb85c; }

.card-info {
  background-color: #5bc0de;
  border-color: #5bc0de; }

.card-warning {
  background-color: #f0ad4e;
  border-color: #f0ad4e; }

.card-danger {
  background-color: #d9534f;
  border-color: #d9534f; }

.card-primary-outline {
  background-color: transparent;
  border-color: limegreen; }

.card-secondary-outline {
  background-color: transparent;
  border-color: #ccc; }

.card-info-outline {
  background-color: transparent;
  border-color: #5bc0de; }

.card-success-outline {
  background-color: transparent;
  border-color: #5cb85c; }

.card-warning-outline {
  background-color: transparent;
  border-color: #f0ad4e; }

.card-danger-outline {
  background-color: transparent;
  border-color: #d9534f; }

.card-inverse .card-header,
.card-inverse .card-footer {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
  color: #fff; }

.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-blockquote > footer {
  color: rgba(255, 255, 255, 0.65); }

.card-inverse .card-link:focus, .card-inverse .card-link:hover {
  color: #fff; }

.card-blockquote {
  padding: 0;
  margin-bottom: 0;
  border-left: 0; }

.card-img {
  border-radius: 0.25rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem; }

.card-img-top {
  border-radius: 0.25rem 0.25rem 0 0; }

.card-img-bottom {
  border-radius: 0 0 0.25rem 0.25rem; }

@media (min-width: 544px) {
  .card-deck {
    display: table;
    table-layout: fixed;
    border-spacing: 1.25rem 0; }
    .card-deck .card {
      display: table-cell;
      width: 1%;
      vertical-align: top; }
  .card-deck-wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem; } }

@media (min-width: 544px) {
  .card-group {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .card-group .card {
      display: table-cell;
      vertical-align: top; }
      .card-group .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group .card:first-child {
        border-bottom-right-radius: 0;
        border-top-right-radius: 0; }
        .card-group .card:first-child .card-img-top {
          border-top-right-radius: 0; }
        .card-group .card:first-child .card-img-bottom {
          border-bottom-right-radius: 0; }
      .card-group .card:last-child {
        border-bottom-left-radius: 0;
        border-top-left-radius: 0; }
        .card-group .card:last-child .card-img-top {
          border-top-left-radius: 0; }
        .card-group .card:last-child .card-img-bottom {
          border-bottom-left-radius: 0; }
      .card-group .card:not(:first-child):not(:last-child) {
        border-radius: 0; }
        .card-group .card:not(:first-child):not(:last-child) .card-img-top,
        .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
          border-radius: 0; } }

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

.breadcrumb {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #eceeef;
  border-radius: 0.25rem; }
  .breadcrumb::after {
    content: "";
    display: table;
    clear: both; }
  .breadcrumb > li {
    float: left; }
    .breadcrumb > li + li::before {
      padding-right: .5rem;
      padding-left: .5rem;
      color: #818a91;
      content: "/"; }
  .breadcrumb > .active {
    color: #818a91; }

.pagination {
  display: inline-block;
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.25rem; }

.page-item {
  display: inline; }
  .page-item:first-child .page-link {
    margin-left: 0;
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem; }
  .page-item:last-child .page-link {
    border-bottom-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover {
    z-index: 2;
    color: #fff;
    cursor: default;
    background-color: limegreen;
    border-color: limegreen; }
  .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd; }

.page-link {
  position: relative;
  float: left;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.5;
  color: limegreen;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd; }
  .page-link:focus, .page-link:hover {
    color: #239023;
    background-color: #eceeef;
    border-color: #ddd; }

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

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

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

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

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

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

.pager {
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-align: center;
  list-style: none; }
  .pager::after {
    content: "";
    display: table;
    clear: both; }
  .pager li {
    display: inline; }
    .pager li > a,
    .pager li > span {
      display: inline-block;
      padding: 5px 14px;
      background-color: #fff;
      border: 1px solid #ddd;
      border-radius: 15px; }
    .pager li > a:focus, .pager li > a:hover {
      text-decoration: none;
      background-color: #eceeef; }
  .pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff; }
  .pager .disabled > span {
    color: #818a91;
    cursor: not-allowed;
    background-color: #fff; }

.pager-next > a,
.pager-next > span {
  float: right; }

.pager-prev > a,
.pager-prev > span {
  float: left; }

.label {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem; }
  .label:empty {
    display: none; }

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

a.label:focus, a.label:hover {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.label-pill {
  padding-right: .6em;
  padding-left: .6em;
  border-radius: 10rem; }

.label-default {
  background-color: #818a91; }
  .label-default[href]:focus, .label-default[href]:hover {
    background-color: #687077; }

.label-primary {
  background-color: limegreen; }
  .label-primary[href]:focus, .label-primary[href]:hover {
    background-color: #28a428; }

.label-success {
  background-color: #5cb85c; }
  .label-success[href]:focus, .label-success[href]:hover {
    background-color: #449d44; }

.label-info {
  background-color: #5bc0de; }
  .label-info[href]:focus, .label-info[href]:hover {
    background-color: #31b0d5; }

.label-warning {
  background-color: #f0ad4e; }
  .label-warning[href]:focus, .label-warning[href]:hover {
    background-color: #ec971f; }

.label-danger {
  background-color: #d9534f; }
  .label-danger[href]:focus, .label-danger[href]:hover {
    background-color: #c9302c; }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #eceeef;
  border-radius: 0.3rem; }
  @media (min-width: 544px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-hr {
  border-top-color: #d0d5d8; }

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

.alert {
  padding: 15px;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

.alert-heading {
  color: inherit; }

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

.alert-dismissible {
  padding-right: 35px; }
  .alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit; }

.alert-success {
  background-color: #dff0d8;
  border-color: #d0e9c6;
  color: #3c763d; }
  .alert-success hr {
    border-top-color: #c1e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bcdff1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6d5ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faf2cc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7ecb5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2dede;
  border-color: #ebcccc;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9b9; }
  .alert-danger .alert-link {
    color: #843534; }

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

.progress {
  display: block;
  width: 100%;
  height: 1rem;
  margin-bottom: 1rem; }

.progress[value] {
  color: #0074d9;
  border: 0;
  appearance: none; }

.progress[value]::-webkit-progress-bar {
  background-color: #eee;
  border-radius: 0.25rem; }

.progress[value]::-webkit-progress-value::before {
  content: attr(value); }

.progress[value]::-webkit-progress-value {
  background-color: #0074d9;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem; }

.progress[value="100"]::-webkit-progress-value {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

@media screen and (min-width: 0\0) {
  .progress {
    background-color: #eee;
    border-radius: 0.25rem; }
  .progress-bar {
    display: inline-block;
    height: 1rem;
    text-indent: -999rem;
    background-color: #0074d9;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .progress[width^="0"] {
    min-width: 2rem;
    color: #818a91;
    background-color: transparent;
    background-image: none; }
  .progress[width="100%"] {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem; } }

.progress-striped[value]::-webkit-progress-value {
  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-striped[value]::-moz-progress-bar {
  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; }

@media screen and (min-width: 0\0) {
  .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-animated[value]::-webkit-progress-value {
  animation: progress-bar-stripes 2s linear infinite; }

.progress-animated[value]::-moz-progress-bar {
  animation: progress-bar-stripes 2s linear infinite; }

@media screen and (min-width: 0\0) {
  .progress-animated .progress-bar-striped {
    animation: progress-bar-stripes 2s linear infinite; } }

.progress-success[value]::-webkit-progress-value {
  background-color: #5cb85c; }

.progress-success[value]::-moz-progress-bar {
  background-color: #5cb85c; }

@media screen and (min-width: 0\0) {
  .progress-success .progress-bar {
    background-color: #5cb85c; } }

.progress-info[value]::-webkit-progress-value {
  background-color: #5bc0de; }

.progress-info[value]::-moz-progress-bar {
  background-color: #5bc0de; }

@media screen and (min-width: 0\0) {
  .progress-info .progress-bar {
    background-color: #5bc0de; } }

.progress-warning[value]::-webkit-progress-value {
  background-color: #f0ad4e; }

.progress-warning[value]::-moz-progress-bar {
  background-color: #f0ad4e; }

@media screen and (min-width: 0\0) {
  .progress-warning .progress-bar {
    background-color: #f0ad4e; } }

.progress-danger[value]::-webkit-progress-value {
  background-color: #d9534f; }

.progress-danger[value]::-moz-progress-bar {
  background-color: #d9534f; }

@media screen and (min-width: 0\0) {
  .progress-danger .progress-bar {
    background-color: #d9534f; } }

.media {
  margin-top: 15px; }
  .media:first-child {
    margin-top: 0; }

.media,
.media-body {
  overflow: hidden;
  zoom: 1; }

.media-body {
  width: 10000px; }

.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top; }

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

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

.media-object {
  display: block; }
  .media-object.img-thumbnail {
    max-width: none; }

.media-right {
  padding-left: 10px; }

.media-left {
  padding-right: 10px; }

.media-heading {
  margin-top: 0;
  margin-bottom: 5px; }

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

.list-group {
  padding-left: 0;
  margin-bottom: 0; }

.list-group-item {
  position: relative;
  display: block;
  padding: .75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd; }
  .list-group-item:first-child {
    border-top-right-radius: 0.25rem;
    border-top-left-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

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

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }

.list-group-flush:last-child .list-group-item:last-child {
  border-bottom: 0; }

a.list-group-item,
button.list-group-item {
  width: 100%;
  color: #555;
  text-align: inherit; }
  a.list-group-item .list-group-item-heading,
  button.list-group-item .list-group-item-heading {
    color: #333; }
  a.list-group-item:focus, a.list-group-item:hover,
  button.list-group-item:focus,
  button.list-group-item:hover {
    color: #555;
    text-decoration: none;
    background-color: #f5f5f5; }

.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover {
  color: #818a91;
  cursor: not-allowed;
  background-color: #eceeef; }
  .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading {
    color: inherit; }
  .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text {
    color: #818a91; }

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
  z-index: 2;
  color: #fff;
  background-color: limegreen;
  border-color: limegreen; }
  .list-group-item.active .list-group-item-heading,
  .list-group-item.active .list-group-item-heading > small,
  .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
  .list-group-item.active:focus .list-group-item-heading > small,
  .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
  .list-group-item.active:hover .list-group-item-heading > small,
  .list-group-item.active:hover .list-group-item-heading > .small {
    color: inherit; }
  .list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text {
    color: #d6f5d6; }

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8; }

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d; }
  a.list-group-item-success .list-group-item-heading,
  button.list-group-item-success .list-group-item-heading {
    color: inherit; }
  a.list-group-item-success:focus, a.list-group-item-success:hover,
  button.list-group-item-success:focus,
  button.list-group-item-success:hover {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active, a.list-group-item-success.active:focus, a.list-group-item-success.active:hover,
  button.list-group-item-success.active,
  button.list-group-item-success.active:focus,
  button.list-group-item-success.active:hover {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d; }

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7; }

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f; }
  a.list-group-item-info .list-group-item-heading,
  button.list-group-item-info .list-group-item-heading {
    color: inherit; }
  a.list-group-item-info:focus, a.list-group-item-info:hover,
  button.list-group-item-info:focus,
  button.list-group-item-info:hover {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active, a.list-group-item-info.active:focus, a.list-group-item-info.active:hover,
  button.list-group-item-info.active,
  button.list-group-item-info.active:focus,
  button.list-group-item-info.active:hover {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f; }

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b; }
  a.list-group-item-warning .list-group-item-heading,
  button.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  a.list-group-item-warning:focus, a.list-group-item-warning:hover,
  button.list-group-item-warning:focus,
  button.list-group-item-warning:hover {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active, a.list-group-item-warning.active:focus, a.list-group-item-warning.active:hover,
  button.list-group-item-warning.active,
  button.list-group-item-warning.active:focus,
  button.list-group-item-warning.active:hover {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b; }

.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442; }
  a.list-group-item-danger .list-group-item-heading,
  button.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  a.list-group-item-danger:focus, a.list-group-item-danger:hover,
  button.list-group-item-danger:focus,
  button.list-group-item-danger:hover {
    color: #a94442;
    background-color: #ebcccc; }
  a.list-group-item-danger.active, a.list-group-item-danger.active:focus, a.list-group-item-danger.active:hover,
  button.list-group-item-danger.active,
  button.list-group-item-danger.active:focus,
  button.list-group-item-danger.active:hover {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442; }

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3; }

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }
  .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 {
  padding-bottom: 42.85714%; }

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

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

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

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .2; }
  .close:focus, .close:hover {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .5; }

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

.modal-open {
  overflow: hidden; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
  -webkit-overflow-scrolling: touch; }
  .modal.fade .modal-dialog {
    transition: transform .3s ease-out;
    transform: translate(0, -25%); }
  .modal.in .modal-dialog {
    transform: translate(0, 0); }

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px; }

.modal-content {
  position: relative;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.in {
    opacity: 0.5; }

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5; }
  .modal-header::after {
    content: "";
    display: table;
    clear: both; }

.modal-header .close {
  margin-top: -2px; }

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

.modal-body {
  position: relative;
  padding: 15px; }

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5; }
  .modal-footer::after {
    content: "";
    display: table;
    clear: both; }
  .modal-footer .btn + .btn {
    margin-bottom: 0;
    margin-left: 5px; }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px; }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0; }

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

@media (min-width: 544px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto; }
  .modal-sm {
    width: 300px; } }

@media (min-width: 768px) {
  .modal-lg {
    width: 900px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 0.875rem;
  opacity: 0; }
  .tooltip.in {
    opacity: 0.9; }
  .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
    padding: 5px 0;
    margin-top: -3px; }
    .tooltip.tooltip-top .tooltip-arrow, .tooltip.bs-tether-element-attached-bottom .tooltip-arrow {
      bottom: 0;
      left: 50%;
      margin-left: -5px;
      border-width: 5px 5px 0;
      border-top-color: #000; }
  .tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
    padding: 0 5px;
    margin-left: 3px; }
    .tooltip.tooltip-right .tooltip-arrow, .tooltip.bs-tether-element-attached-left .tooltip-arrow {
      top: 50%;
      left: 0;
      margin-top: -5px;
      border-width: 5px 5px 5px 0;
      border-right-color: #000; }
  .tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
    padding: 5px 0;
    margin-top: 3px; }
    .tooltip.tooltip-bottom .tooltip-arrow, .tooltip.bs-tether-element-attached-top .tooltip-arrow {
      top: 0;
      left: 50%;
      margin-left: -5px;
      border-width: 0 5px 5px;
      border-bottom-color: #000; }
  .tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
    padding: 0 5px;
    margin-left: -3px; }
    .tooltip.tooltip-left .tooltip-arrow, .tooltip.bs-tether-element-attached-right .tooltip-arrow {
      top: 50%;
      right: 0;
      margin-top: -5px;
      border-width: 5px 0 5px 5px;
      border-left-color: #000; }

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

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 0.875rem;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem; }
  .popover.popover-top, .popover.bs-tether-element-attached-bottom {
    margin-top: -10px; }
    .popover.popover-top .popover-arrow, .popover.bs-tether-element-attached-bottom .popover-arrow {
      bottom: -11px;
      left: 50%;
      margin-left: -11px;
      border-top-color: rgba(0, 0, 0, 0.25);
      border-bottom-width: 0; }
      .popover.popover-top .popover-arrow::after, .popover.bs-tether-element-attached-bottom .popover-arrow::after {
        bottom: 1px;
        margin-left: -10px;
        content: "";
        border-top-color: #fff;
        border-bottom-width: 0; }
  .popover.popover-right, .popover.bs-tether-element-attached-left {
    margin-left: 10px; }
    .popover.popover-right .popover-arrow, .popover.bs-tether-element-attached-left .popover-arrow {
      top: 50%;
      left: -11px;
      margin-top: -11px;
      border-right-color: rgba(0, 0, 0, 0.25);
      border-left-width: 0; }
      .popover.popover-right .popover-arrow::after, .popover.bs-tether-element-attached-left .popover-arrow::after {
        bottom: -10px;
        left: 1px;
        content: "";
        border-right-color: #fff;
        border-left-width: 0; }
  .popover.popover-bottom, .popover.bs-tether-element-attached-top {
    margin-top: 10px; }
    .popover.popover-bottom .popover-arrow, .popover.bs-tether-element-attached-top .popover-arrow {
      top: -11px;
      left: 50%;
      margin-left: -11px;
      border-top-width: 0;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
      .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after {
        top: 1px;
        margin-left: -10px;
        content: "";
        border-top-width: 0;
        border-bottom-color: #fff; }
  .popover.popover-left, .popover.bs-tether-element-attached-right {
    margin-left: -10px; }
    .popover.popover-left .popover-arrow, .popover.bs-tether-element-attached-right .popover-arrow {
      top: 50%;
      right: -11px;
      margin-top: -11px;
      border-right-width: 0;
      border-left-color: rgba(0, 0, 0, 0.25); }
      .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after {
        right: 1px;
        bottom: -10px;
        content: "";
        border-right-width: 0;
        border-left-color: #fff; }

.popover-title {
  padding: 8px 14px;
  margin: 0;
  font-size: 1rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: -0.7rem -0.7rem 0 0; }

.popover-content {
  padding: 9px 14px; }

.popover-arrow, .popover-arrow::after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover-arrow {
  border-width: 11px; }

.popover-arrow::after {
  content: "";
  border-width: 10px; }

.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner > .carousel-item {
    position: relative;
    display: none;
    transition: .6s ease-in-out left; }
    .carousel-inner > .carousel-item > img,
    .carousel-inner > .carousel-item > a > img {
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .carousel-item {
        transition: transform .6s ease-in-out;
        backface-visibility: hidden;
        perspective: 1000px; }
        .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right {
          left: 0;
          transform: translate3d(100%, 0, 0); }
        .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left {
          left: 0;
          transform: translate3d(-100%, 0, 0); }
        .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active {
          left: 0;
          transform: translate3d(0, 0, 0); } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  opacity: 0.5; }
  .carousel-control.left {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
  .carousel-control.right {
    right: 0;
    left: auto;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
  .carousel-control:focus, .carousel-control:hover {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-family: serif;
    line-height: 1; }
  .carousel-control .icon-prev {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev::before {
    content: "\2039"; }
  .carousel-control .icon-next::before {
    content: "\203a"; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 10px; }
  .carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-caption .btn {
    text-shadow: none; }

@media (min-width: 544px) {
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px; }
  .carousel-control .icon-prev {
    margin-left: -15px; }
  .carousel-control .icon-next {
    margin-right: -15px; }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px; }
  .carousel-indicators {
    bottom: 20px; } }

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

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

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

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

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

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

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

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

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

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

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

.invisible {
  visibility: hidden !important; }

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

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

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

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

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

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

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

@media (min-width: 544px) {
  .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-normal {
  font-weight: normal; }

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

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

.text-muted {
  color: #818a91; }

.text-primary {
  color: limegreen !important; }

a.text-primary:focus, a.text-primary:hover {
  color: #28a428; }

.text-success {
  color: #5cb85c !important; }

a.text-success:focus, a.text-success:hover {
  color: #449d44; }

.text-info {
  color: #5bc0de !important; }

a.text-info:focus, a.text-info:hover {
  color: #31b0d5; }

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

a.text-warning:focus, a.text-warning:hover {
  color: #ec971f; }

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

a.text-danger:focus, a.text-danger:hover {
  color: #c9302c; }

.bg-inverse {
  color: #eceeef;
  background-color: #373a3c; }

.bg-faded {
  background-color: #f7f7f9; }

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

a.bg-primary:focus, a.bg-primary:hover {
  background-color: #28a428; }

.bg-success {
  color: #fff !important;
  background-color: #5cb85c !important; }

a.bg-success:focus, a.bg-success:hover {
  background-color: #449d44; }

.bg-info {
  color: #fff !important;
  background-color: #5bc0de !important; }

a.bg-info:focus, a.bg-info:hover {
  background-color: #31b0d5; }

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

a.bg-warning:focus, a.bg-warning:hover {
  background-color: #ec971f; }

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

a.bg-danger:focus, a.bg-danger:hover {
  background-color: #c9302c; }

.m-x-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

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

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

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

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

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

.m-x-0 {
  margin-right: 0 !important;
  margin-left: 0 !important; }

.m-y-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }

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

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

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

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

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

.m-x-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.m-y-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

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

.m-t-2 {
  margin-top: 1.5rem !important; }

.m-r-2 {
  margin-right: 1.5rem !important; }

.m-b-2 {
  margin-bottom: 1.5rem !important; }

.m-l-2 {
  margin-left: 1.5rem !important; }

.m-x-2 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important; }

.m-y-2 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }

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

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

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

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

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

.m-x-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.m-y-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

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

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

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

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

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

.p-x-0 {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.p-y-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

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

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

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

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

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

.p-x-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.p-y-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

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

.p-t-2 {
  padding-top: 1.5rem !important; }

.p-r-2 {
  padding-right: 1.5rem !important; }

.p-b-2 {
  padding-bottom: 1.5rem !important; }

.p-l-2 {
  padding-left: 1.5rem !important; }

.p-x-2 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important; }

.p-y-2 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important; }

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

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

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

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

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

.p-x-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.p-y-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

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

.hidden-xs-up {
  display: none !important; }

@media (max-width: 543px) {
  .hidden-xs-down {
    display: none !important; } }

@media (min-width: 544px) {
  .hidden-sm-up {
    display: none !important; } }

@media (max-width: 767px) {
  .hidden-sm-down {
    display: none !important; } }

@media (min-width: 768px) {
  .hidden-md-up {
    display: none !important; } }

@media (max-width: 991px) {
  .hidden-md-down {
    display: none !important; } }

@media (min-width: 992px) {
  .hidden-lg-up {
    display: none !important; } }

@media (max-width: 1199px) {
  .hidden-lg-down {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-xl-up {
    display: none !important; } }

.hidden-xl-down {
  display: none !important; }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

.card {
  border-color: limegreen;
  background-color: #000000;
  color: #ffffff; }

#map {
  margin: 4em 0 1em;
  width: 100%;
  height: 450px; }

html {
  font-size: 100%;
  line-height: 1.3; }
  @media all and (min-width: 34em) {
    html {
      font-size: 112.5%; } }
  @media all and (min-width: 62em) {
    html {
      font-size: 125%;
      line-height: 1.4; } }

body {
  font-family: "Hack", sans-serif;
  background: #000000;
  color: #ffffff; }
  body a {
    color: #ffffff;
    border-bottom: 0.15em solid limegreen; }
    body a:hover {
      color: limegreen;
      text-decoration: none; }
  @media (max-width: 34em) {
    body {
      margin-left: 15px;
      margin-right: 15px; } }

hr {
  border-top-color: limegreen;
  border-top-width: 0.7rem;
  border-top-style: dotted;
  margin-bottom: 3rem; }

h1 {
  font-size: 3.129rem;
  line-height: 1.2; }
  @media all and (min-width: 62em) {
    h1 {
      font-size: 2.3353rem;
      line-height: 1.3; } }

h1.blog {
  margin-top: 2em;
  margin-bottom: 0; }

h2 {
  margin: 2.6rem 0 1.3rem;
  font-size: 2.3353rem;
  line-height: 1.5; }
  @media all and (min-width: 62em) {
    h2 {
      font-size: 1.769rem; } }

h3 {
  font-size: 1.769rem; }
  @media all and (min-width: 62em) {
    h3 {
      font-size: 1.333rem; } }

img {
  max-width: 100%; }

#openimage {
  display: none; }

body.openspace #openimage {
  display: block; }

#metanav {
  text-align: right;
  margin-top: 1em;
  font-size: 70%; }

#header {
  background: #000000;
  color: #ffffff;
  padding: 1.5em 0;
  margin-top: 1em;
  margin-bottom: 3em; }
  #header .row {
    display: flex; }
    @media (max-width: 48em) {
      #header .row {
        display: block; } }
  #header #logolink {
    border-bottom: 0; }

.mainnav {
  font-family: "Hack", sans-serif;
  font-size: 120%; }
  .mainnav a {
    border-bottom: 0; }
  .mainnav ul {
    position: absolute;
    bottom: 0; }
    @media (max-width: 48em) {
      .mainnav ul {
        position: relative; } }

#content {
  margin-top: 1em; }

#listefahrten .time {
  font-weight: bold; }

#listefahrten .stop {
  font-size: 85%; }
  #listefahrten .stop:before {
    content: "H: "; }

#listefahrten .type {
  font-size: 85%; }

#listefahrten .number {
  font-size: 85%; }

#listefahrten .dest:before {
  content: "in Richtung: "; }

#footer {
  background: #000000;
  color: #ffffff;
  margin-top: 4em;
  padding: 1.5em 0; }

.jumbo {
  font-family: "Hack", sans-serif;
  font-size: 200%;
  margin-bottom: 3rem; }
  .jumbo a {
    border-bottom: 0.15em solid limegreen; }
    .jumbo a:hover {
      text-decoration: none; }

.important {
  color: limegreen; }
  .important a {
    color: limegreen; }

.map {
  margin-top: 7em; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJkcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wdWxscy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJpbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbmltYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2xhYmVscy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nsb3NlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLWJhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLXNwYWNpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLXJlc3BvbnNpdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy90eXBpL3Njc3MvX3R5cGkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy90eXBpL3Njc3MvdHkvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3R5cGkvc2Nzcy90eS9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvdHlwaS9zY3NzL3R5cGkvX3R5cGkuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvdHlwaS9zY3NzL3R5cGlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jYXJkcy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19tYXAuc2Nzc1wiO1xuXG5odG1sIHtcbiAgQGluY2x1ZGUgdHlwaS1iYXNlKCk7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQ7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kLWludmVydDtcbiAgY29sb3I6ICRjb2xvci1mb250LWludmVydDtcblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLWZvbnQtaW52ZXJ0O1xuICAgIGJvcmRlci1ib3R0b206IDAuMTVlbSBzb2xpZCAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWZvbnQtaGlnaGxpZ2h0LWludmVydDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNGVtKSB7IFxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgfVxufVxuXG5ociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1mb250LWhpZ2hsaWdodC1pbnZlcnQ7XG4gIGJvcmRlci10b3Atd2lkdGg6IDAuN3JlbTtcbiAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG5oMSB7IEBpbmNsdWRlIHR5cGkoJGgxLW1hcCkgfVxuXG5oMS5ibG9nIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oMiB7IFxuICBtYXJnaW46IHZyKDIpIDAgdnIoMSk7XG4gIEBpbmNsdWRlIHR5cGkoJGgyLW1hcClcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuaDMgeyBAaW5jbHVkZSB0eXBpKCRoMy1tYXApIH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jb3BlbmltYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keS5vcGVuc3BhY2UgI29wZW5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jbWV0YW5hdiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGZvbnQtc2l6ZTogNzAlO1xufVxuXG4jaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQtaW52ZXJ0O1xuICBjb2xvcjogJGNvbG9yLWZvbnQtaW52ZXJ0O1xuICBwYWRkaW5nOiAxLjVlbSAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcblxuICAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgXG4gICNsb2dvbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ubWFpbm5hdiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1icmFuZDtcbiAgZm9udC1zaXplOiAxMjAlO1xuXG4gIGEge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgXG4gIHVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIFxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbiNjb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4jbGlzdGVmYWhydGVuIHtcbiAgLnRpbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLnN0b3Age1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiSDogXCI7XG4gICAgfVxuICB9XG5cbiAgLnR5cGUge1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICB9XG5cbiAgLm51bWJlciB7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gIH1cblxuICAuZGVzdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJpbiBSaWNodHVuZzogXCI7XG4gICAgfVxuICB9XG59XG5cbiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1pbnZlcnQ7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1pbnZlcnQ7XG4gIG1hcmdpbi10b3A6IDRlbTtcbiAgcGFkZGluZzogMS41ZW0gMDtcbn1cblxuLmp1bWJvIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJyYW5kO1xuICBmb250LXNpemU6IDIwMCU7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xNWVtIHNvbGlkICRjb2xvci1mb250LWhpZ2hsaWdodC1pbnZlcnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmltcG9ydGFudCB7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuICB9XG59XG5cbi5tYXAge1xuICBtYXJnaW4tdG9wOiA3ZW07XG59XG4iLCJAaW1wb3J0IFwiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2ZvbnQtaGFjay8yLjAyMC9jc3MvaGFjay5taW4uY3NzXCI7XG5cbiRjb2xvci1mb250OiAgICAgICAgICAgICAgICAgICMwMDAwMDA7XG4kY29sb3ItZm9udC1pbnZlcnQ6ICAgICAgICAgICAjZmZmZmZmO1xuJGNvbG9yLWJhY2tncm91bmQ6ICAgICAgICAgICAgI2ZmZmZmZjtcbiRjb2xvci1iYWNrZ3JvdW5kLWludmVydDogICAgICMwMDAwMDA7XG4kY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0OiBsaW1lZ3JlZW47XG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgICAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuXG4kZm9udC1icmFuZDogICAgICAgICAgICAgICAgICBcIkhhY2tcIiwgc2Fucy1zZXJpZjtcblxuJHR5cGk6IChcbiAgbnVsbDogKDE2cHgsIDEuMyksIC8vIFNldHMgbGluZS1oZWlnaHQgdG8gMS4zXG4gIHNtYWxsOiAxOHB4LFxuICBsYXJnZTogKDIwcHgsIDEuNCkgLy8gU2V0cyBsaW5lLWhlaWdodCB0byAxLjRcbik7XG5cbiRoMS1tYXA6IChcbiAgbnVsbDogKDMuMTI5ZW0sIDEuMiksXG4gIGxhcmdlOiAoMi4zMzUzZW0sIDEuMylcbik7XG5cbiRoMi1tYXA6IChcbiAgbnVsbDogMi4zMzUzZW0sXG4gIGxhcmdlOiAxLjc2OWVtXG4pO1xuXG4kaDMtbWFwOiAoXG4gIG51bGw6IDEuNzY5ZW0sXG4gIGxhcmdlOiAxLjMzM2VtXG4pO1xuICBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMzRlbSxcbiAgbGFyZ2U6IDYyZW1cbik7XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCB2NC4wLjAtYWxwaGEuMiAoaHR0cDovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwibm9ybWFsaXplXCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJyZWJvb3RcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwiaW1hZ2VzXCI7XG5AaW1wb3J0IFwiY29kZVwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImFuaW1hdGlvblwiO1xuQGltcG9ydCBcImRyb3Bkb3duXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJuYXZiYXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJwYWdlclwiO1xuQGltcG9ydCBcImxhYmVsc1wiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJyZXNwb25zaXZlLWVtYmVkXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcblxuLy8gQ29tcG9uZW50cyB3LyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy1iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzLXNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMtcmVzcG9uc2l2ZVwiO1xuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gQ29weSBzZXR0aW5ncyBmcm9tIHRoaXMgZmlsZSBpbnRvIHRoZSBwcm92aWRlZCBgX2N1c3RvbS5zY3NzYCB0byBvdmVycmlkZVxuLy8gdGhlIEJvb3RzdHJhcCBkZWZhdWx0cyB3aXRob3V0IG1vZGlmeWluZyBrZXksIHZlcnNpb25lZCBmaWxlcy5cblxuXG4vLyBUYWJsZSBvZiBDb250ZW50c1xuLy9cbi8vIENvbG9yc1xuLy8gT3B0aW9uc1xuLy8gU3BhY2luZ1xuLy8gQm9keVxuLy8gTGlua3Ncbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vIEdyaWQgY29udGFpbmVyc1xuLy8gR3JpZCBjb2x1bW5zXG4vLyBGb250c1xuLy8gQ29tcG9uZW50c1xuXG4vLyBHZW5lcmFsIHZhcmlhYmxlIHN0cnVjdHVyZVxuLy9cbi8vIFZhcmlhYmxlIGZvcm1hdCBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1tb2RpZmllci1zdGF0ZS1wcm9wZXJ0eWAgb3JkZXIuXG5cblxuLy8gQ29sb3JzXG4vL1xuLy8gR3JheXNjYWxlIGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgICAgIzM3M2EzYyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAgICAjNTU1OTVjICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgICM4MThhOTEgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgI2VjZWVlZiAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXN0OiAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgIzAyNzVkOCAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cblxuJHNwYWNlcjogICAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6ICAgMCxcbiAgICB5OiAgIDBcbiAgKSxcbiAgMTogKFxuICAgIHg6ICAgJHNwYWNlci14LFxuICAgIHk6ICAgJHNwYWNlci15XG4gICksXG4gIDI6IChcbiAgICB4OiAgICgkc3BhY2VyLXggKiAxLjUpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICAgKCRzcGFjZXIteCAqIDMpLFxuICAgIHk6ICAgKCRzcGFjZXIteSAqIDMpXG4gIClcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbiAgeHM6IDAsXG4gIC8vIFNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHNtOiA1NDRweCxcbiAgLy8gTWVkaXVtIHNjcmVlbiAvIHRhYmxldFxuICBtZDogNzY4cHgsXG4gIC8vIExhcmdlIHNjcmVlbiAvIGRlc2t0b3BcbiAgbGc6IDk5MnB4LFxuICAvLyBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU3NnB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NDBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgMS44NzVyZW0gIWRlZmF1bHQ7IC8vIDMwcHhcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICAgICAyLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC13aWR0aC1sZzogICAgICAgICAkY2FyZXQtd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1zbS1jZWxsLXBhZGRpbmc6ICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1wcmltYXJ5LWJnICFkZWZhdWx0O1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgICRidG4taW5mby1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgJGJ0bi1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICRzcGFjZXIteSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpOV05pT0RWaklpQmtQU0pOTWpNekxqZ2dOakV3WXkweE15NHpJREF0TWpZdE5pMHpOQzB4Tmk0NFREa3dMalVnTkRRNExqaEROell1TXlBME16QWdPREFnTkRBekxqTWdPVGd1T0NBek9EbGpNVGd1T0MweE5DNHlJRFExTGpVdE1UQXVOQ0ExT1M0NElEZ3VOR3czTWlBNU5VdzBOVEV1TXlBeU5ESmpNVEl1TlMweU1DQXpPQzQ0TFRJMkxqSWdOVGd1T0MweE15NDNJREl3SURFeUxqUWdNallnTXpndU55QXhNeTQzSURVNExqaE1NamN3SURVNU1HTXROeTQwSURFeUxUSXdMaklnTVRrdU5DMHpOQzR6SURJd2FDMHllaUl2UGp3dmMzWm5QZz09XCIgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIiAhZGVmYXVsdDtcbiRmb3JtLWljb24tZGFuZ2VyOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJalpEazFNelJtSWlCa1BTSk5ORFEzSURVME5DNDBZeTB4TkM0MElERTBMalF0TXpjdU5pQXhOQzQwTFRVeUlEQnNMVGc1TFRreUxqY3RPRGtnT1RJdU4yTXRNVFF1TlNBeE5DNDBMVE0zTGpjZ01UUXVOQzAxTWlBd0xURTBMalF0TVRRdU5DMHhOQzQwTFRNM0xqWWdNQzAxTW13NU1pNDBMVGsyTGpNdE9USXVOQzA1Tmk0ell5MHhOQzQwTFRFMExqUXRNVFF1TkMwek55NDJJREF0TlRKek16Y3VOaTB4TkM0eklEVXlJREJzT0RrZ09USXVPQ0E0T1M0eUxUa3lMamRqTVRRdU5DMHhOQzQwSURNM0xqWXRNVFF1TkNBMU1pQXdJREUwTGpNZ01UUXVOQ0F4TkM0eklETTNMallnTUNBMU1rd3pOVFF1TmlBek9UWnNPVEl1TkNBNU5pNDBZekUwTGpRZ01UUXVOQ0F4TkM0MElETTNMallnTUNBMU1ub2lMejQ4TDNOMlp6ND1cIiAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIC41ZW0gMWVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI3NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2VyXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8gRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1pbmZvLWJnLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgIDFweCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gTGFiZWxzXG5cbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNiZDQxNDcgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIH1cbn1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIC8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHVsbHNcIjtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA1NDRweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxcHgsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGhvdmVyIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgIC8vIFNlZSBNZWRpYSBRdWVyaWVzIExldmVsIDQ6IGh0dHA6Ly9kcmFmdHMuY3Nzd2cub3JnL21lZGlhcXVlcmllcy8jaG92ZXJcbiAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHsgQGNvbnRlbnQgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpob3ZlciB7IEBjb250ZW50IH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIExhYmVsc1xuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIjtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgLy8gV2ViS2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBmb250OiBcIjAvMFwiIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRib2R5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIvLyBDYXJkIHZhcmlhbnRzXG5cbkBtaXhpbiBjYXJkLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbn1cblxuQG1peGluIGNhcmQtb3V0bGluZS12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuQG1peGluIGNhcmQtaW52ZXJzZSB7XG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gIH1cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLXRpdGxlLFxuICAuY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FyZC1saW5rLFxuICAuY2FyZC10ZXh0LFxuICAuY2FyZC1ibG9ja3F1b3RlID4gZm9vdGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNjUpO1xuICB9XG4gIC5jYXJkLWxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY2FyZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgkc3BhY2VyLXkgLyAyKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBfZm9ybXMuc2NzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLnRleHQtaGVscCxcbiAgLmZvcm0tY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIC8vIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgLy8gJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgLy8gQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgNDAlKTtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRpbnB1dC1ib3gtc2hhZG93LWZvY3VzO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy12YXJpYW50KCRjb2xvcikge1xuICAmW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJlt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAvLyBJRTlcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgLnByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOVxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOS5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTlcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn0iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIH1cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIFdvcmsgYXJvdW5kIGNyb3NzLW1lZGlhIEBleHRlbmQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzEwNTApXG4gICAgICAlZ3JpZC1jb2x1bW4tZmxvYXQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbi1mbG9hdC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtc3BhbigkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gsIG9mZnNldCkge1xuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LSN7JG1vZGlmaWVyfS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcigkbW9kaWZpZXIsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtc3Bhbigkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbGVmdDogaWYoJHNpemUgPiAwLCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpLCBhdXRvKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIHJpZ2h0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtbW9kaWZpZXIoJHR5cGUsICRzaXplLCAkY29sdW1ucykge1xuICAvLyBXb3JrIGFyb3VuZCB0aGUgbGFjayBvZiBkeW5hbWljIG1peGluIEBpbmNsdWRlIHN1cHBvcnQgKGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzYyNilcbiAgQGlmICR0eXBlID09IHB1c2gge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1c2goJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBwdWxsIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1wdWxsKCRzaXplLCAkY29sdW1ucyk7XG4gIH0gQGVsc2UgaWYgJHR5cGUgPT0gb2Zmc2V0IHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zKTtcbiAgfVxufVxuIiwiQG1peGluIHB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYSB7XG4gICY6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG4gICY6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OiBoNWJwLmNvbS9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICB9XG5cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG5cbiAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAubmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5idG4sXG4gIC5kcm9wdXAgPiAuYnRuIHtcbiAgICA+IC5jYXJldCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5sYWJlbCB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICMwMDA7XG4gIH1cblxuICAudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG59XG4iLCIvLyBSZWJvb3Rcbi8vXG4vLyBHbG9iYWwgcmVzZXRzIHRvIGNvbW1vbiBIVE1MIGVsZW1lbnRzIGFuZCBtb3JlIGZvciBlYXNpZXIgdXNhZ2UgYnkgQm9vdHN0cmFwLlxuLy8gQWRkcyBhZGRpdGlvbmFsIHJ1bGVzIG9uIHRvcCBvZiBOb3JtYWxpemUuY3NzLCBpbmNsdWRpbmcgc2V2ZXJhbCBvdmVycmlkZXMuXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHRvIGBib3JkZXItYm94YCBzbyB0aGF0IHdoZW4geW91IGFkZFxuLy8gYHBhZGRpbmdgIG9yIGBib3JkZXJgcyB0byBhbiBlbGVtZW50LCB0aGUgb3ZlcmFsbCBkZWNsYXJlZCBgd2lkdGhgIGRvZXMgbm90XG4vLyBjaGFuZ2UuIEZvciBleGFtcGxlLCBgd2lkdGg6IDEwMHB4O2Agd2lsbCBhbHdheXMgYmUgYDEwMHB4YCBkZXNwaXRlIHRoZVxuLy8gYGJvcmRlcjogMTBweCBzb2xpZCByZWQ7YCBhbmQgYHBhZGRpbmc6IDIwcHg7YC5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLiBGb3Jcbi8vIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyN0aGlyZC1ib3gtc2l6aW5nLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5cbi8vIE1ha2Ugdmlld3BvcnQgcmVzcG9uc2l2ZVxuLy9cbi8vIEB2aWV3cG9ydCBpcyBuZWVkZWQgYmVjYXVzZSBJRSAxMCsgZG9lc24ndCBob25vciA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4gaW5cbi8vIHNvbWUgY2FzZXMuIFNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi8uXG4vLyBFdmVudHVhbGx5IEB2aWV3cG9ydCB3aWxsIHJlcGxhY2UgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+LiBJdCdzIGJlZW4gbWFudWFsbHlcbi8vIHByZWZpeGVkIGZvciBmb3J3YXJkLWNvbXBhdGliaWxpdHkuXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5Nylcbi8vIGFuZCB0aGUgZml4IGZvciB0aGF0IGludm9sdmVzIGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50XG4vLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4vL1xuLy8gU2VlIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbi8vXG4vLyBJbmNsdWRlcyBmdXR1cmUtcHJvb2ZlZCB2ZW5kb3IgcHJlZml4ZXMgYXMgd2VsbC5cbkBhdC1yb290IHtcbiAgQC1tb3otdmlld3BvcnQgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1tcy12aWV3cG9ydCAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC1vLXZpZXdwb3J0ICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQC13ZWJraXQtdmlld3BvcnQgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgQHZpZXdwb3J0ICAgICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgLy8gQ2hhbmdlcyB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbmJvZHkge1xuICAvLyBNYWtlIHRoZSBgYm9keWAgdXNlIHRoZSBgZm9udC1zaXplLXJvb3RgXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIE5vcm1hbGl6ZSBhZGRzIGBtYXJnaW5gIHRvIGBmaWd1cmVgcyBhcyBicm93c2VycyBhcHBseSBpdCBpbmNvbnNpc3RlbnRseS5cbiAgLy8gV2UgcmVzZXQgdGhhdCB0byBjcmVhdGUgYSBiZXR0ZXIgZmxvdyBpbi1wYWdlLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXNcbi8vXG5cbmltZyB7XG4gIC8vIEJ5IGRlZmF1bHQsIGA8aW1nPmBzIGFyZSBgaW5saW5lLWJsb2NrYC4gVGhpcyBhc3N1bWVzIHRoYXQsIGFuZCB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcnMgdGhlbS4gVGhpcyB3b24ndCBhcHBseSBzaG91bGQgeW91IHJlc2V0IHRoZW0gdG8gYGJsb2NrYCBsZXZlbC5cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLy8gTm90ZTogYDxpbWc+YHMgYXJlIGRlbGliZXJhdGVseSBub3QgbWFkZSByZXNwb25zaXZlIGJ5IGRlZmF1bHQuXG4gIC8vIEZvciB0aGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzLCBzZWUgdGhlIGNvbW1lbnRzIG9uIHRoZSBgLmltZy1mbHVpZGAgY2xhc3MuXG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBBdm9pZCAzMDBtcyBjbGljayBkZWxheSBvbiB0b3VjaCBkZXZpY2VzIHRoYXQgc3VwcG9ydCB0aGUgYHRvdWNoLWFjdGlvbmAgQ1NTIHByb3BlcnR5LlxuLy9cbi8vIEluIHBhcnRpY3VsYXIsIHVubGlrZSBtb3N0IG90aGVyIGJyb3dzZXJzLCBJRTExK0VkZ2Ugb24gV2luZG93cyAxMCBvbiB0b3VjaCBkZXZpY2VzIGFuZCBJRSBNb2JpbGUgMTAtMTFcbi8vIERPTidUIHJlbW92ZSB0aGUgY2xpY2sgZGVsYXkgd2hlbiBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aFwiPmAgaXMgcHJlc2VudC5cbi8vIEhvd2V2ZXIsIHRoZXkgRE8gc3VwcG9ydCByZW1vdmluZyB0aGUgY2xpY2sgZGVsYXkgdmlhIGB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbmAuXG4vLyBTZWU6XG4vLyAqIGh0dHA6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2NvbnRlbnQvcmVib290LyNjbGljay1kZWxheS1vcHRpbWl6YXRpb24tZm9yLXRvdWNoXG4vLyAqIGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdG91Y2gtYWN0aW9uXG4vLyAqIGh0dHA6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBSZW1vdmUgYWxsIGBtYXJnaW5gcyBzbyBvdXIgY2xhc3NlcyBkb24ndCBoYXZlIHRvIGRvIGl0IHRoZW1zZWx2ZXMuXG4gIG1hcmdpbjogMDtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBhZGRyZXNzZWQgdGhlcmUuIFVzaW5nIHRoaXNcbiAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIGlPUyBhZGRzIHJvdW5kZWQgYm9yZGVycyBieSBkZWZhdWx0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIC8vIFJlc2V0IHRoZSBlbnRpcmUgbGVnZW5kIGVsZW1lbnQgdG8gbWF0Y2ggdGhlIGBmaWVsZHNldGBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuLy8gIGJvcmRlcjogMDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFVuZG8gTm9ybWFsaXplJ3MgZGVmYXVsdCBoZXJlIHRvIG1hdGNoIG91ciBnbG9iYWwgb3ZlcnJpZGVzLlxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gdG9kbzogbmVlZGVkP1xub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuLy8gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4vLyAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG5cbi8vIFRoZXNlIGRlY2xhcmF0aW9ucyBhcmUga2VwdCBzZXBhcmF0ZSBmcm9tIGFuZCBwbGFjZWQgYWZ0ZXJcbi8vIHRoZSBwcmV2aW91cyB0YWctYmFzZWQgZGVjbGFyYXRpb25zIHNvIHRoYXQgdGhlIGNsYXNzZXMgYmVhdCB0aGUgdGFncyBpblxuLy8gdGhlIENTUyBjYXNjYWRlLCBhbmQgdGh1cyA8aDEgY2xhc3M9XCJoMlwiPiB3aWxsIGJlIHN0eWxlZCBsaWtlIGFuIGgyLlxuLmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XG4uaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbi5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuLmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG4uaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbi5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJHNwYWNlci15O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXdhcm5pbmctYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHMgdy8gZ3JpZCBjbGFzc2VzXG4uZGwtaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlci13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXItd2lkdGg7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDIpICRzcGFjZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogLjI1cmVtIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi5ibG9ja3F1b3RlLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6IC4yNXJlbSBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IC8vIG5ic3AsIGVtIGRhc2hcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogJGdyYXktbGlnaHQ7XG59XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6IC4ycmVtIC40cmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAuMnJlbSAuNHJlbTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIC0uMXJlbSAwIHJnYmEoMCwwLDAsLjI1KSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcblxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cblxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGlmICRlbmFibGUtZmxleCBhbmQgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEZsZXggY29sdW1uIHJlb3JkZXJpbmdcblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tbGFzdCAgeyBvcmRlcjogMTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFsaWdubWVudCBmb3IgZXZlcnkgY29sdW1uIGluIHJvd1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLnJvdy0jeyRicmVha3BvaW50fS10b3AgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLnJvdy0jeyRicmVha3BvaW50fS1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucm93LSN7JGJyZWFrcG9pbnR9LWJvdHRvbSB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFsaWdubWVudCBwZXIgY29sdW1uXG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LXRvcCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tY2VudGVyIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgICAuY29sLSN7JGJyZWFrcG9pbnR9LWJvdHRvbSB7IGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbS1jZWxsLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChzdWNjZXNzLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChpbmZvLCAkc3RhdGUtaW5mby1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCh3YXJuaW5nLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChkYW5nZXIsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgLy8gVE9ETzogZmluZCBvdXQgaWYgd2UgbmVlZCB0aGlzIHN0aWxsLlxuICAvL1xuICAvLyBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgLy8gLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDA1N1xufVxuXG5cbi50aGVhZC1pbnZlcnNlIHtcbiAgdGgge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG4gIH1cbn1cbi50aGVhZC1kZWZhdWx0IHtcbiAgdGgge1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICB9XG59XG5cbi50YWJsZS1pbnZlcnNlIHtcbiAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheTtcbiAgfVxufVxuXG5cbi50YWJsZS1yZWZsb3cge1xuICB0aGVhZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICB0Ym9keSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgLy8gaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTQuXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cyk7XG5cbiAgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKS5cbiAgLy8gT25seSBhcHBseSB0aGUgaGVpZ2h0IHRvIHRleHR1YWwgaW5wdXRzIGFuZCBzb21lIHNlbGVjdHMuXG4gIC8vICY6bm90KHRleHRhcmVhKSxcbiAgLy8gJjpub3Qoc2VsZWN0W3NpemVdKSxcbiAgLy8gJjpub3Qoc2VsZWN0W211bHRpcGxlXSkge1xuICAvLyAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gfVxuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCB0ZXh0IHRvXG4vLyBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmZvcm0tY29udHJvbC1sYWJlbCB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+YCBkZWZhdWx0XG59XG5cblxuLy8gVG9kbzogY2xlYXIgdGhpcyB1cFxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDguMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgZGF0ZXRpbWVgIG9yIGB3ZWVrYC5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmLmZvcm0tY29udHJvbCB7XG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhbiBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluIGFcbi8vIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgLy8gaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICAvLyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBtYXJnaW4tdG9wOiAgICAoJHNwYWNlciAqIC43NSk7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyICogLjc1KTtcblxuICBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBXaGVuIHRoZXJlJ3Mgbm8gbGFiZWxzLCBkb24ndCBwb3NpdGlvbiB0aGUgaW5wdXQuXG4gICAgaW5wdXQ6b25seS1jaGlsZCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gIC8vIG1hcmdpbi10b3A6IDRweCBcXDk7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbn1cblxuLnJhZGlvICsgLnJhZGlvLFxuLmNoZWNrYm94ICsgLmNoZWNrYm94IHtcbiAgLy8gTW92ZSB1cCBzaWJsaW5nIHJhZGlvcyBvciBjaGVja2JveGVzIGZvciB0aWdodGVyIHNwYWNpbmdcbiAgbWFyZ2luLXRvcDogLS4yNXJlbTtcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uZm9ybS1jb250cm9sLWRhbmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtcGFkZGluZy14ICogMyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAoJGlucHV0LWhlaWdodCAqIC4yNSk7XG4gIGJhY2tncm91bmQtc2l6ZTogKCRpbnB1dC1oZWlnaHQgKiAuNjUpICgkaW5wdXQtaGVpZ2h0ICogLjY1KTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXN1Y2Nlc3MpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24tc3VjY2Vzcyk7XG4gIH1cbn1cblxuLmhhcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXdhcm5pbmcpO1xuXG4gIC5mb3JtLWNvbnRyb2wtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24td2FybmluZyk7XG4gIH1cbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtZGFuZ2VyKTtcblxuICAuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb3JtLWljb24tZGFuZ2VyKTtcbiAgfVxufVxuXG5cblxuXG4vLyAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmb3JtLWljb24tc3VjY2Vzc31cIik7XG4vLyAgIGJvcmRlci1jb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG4vLyB9XG4vL1xuLy8gLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbi8vICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZm9ybS1pY29uLXdhcm5pbmd9XCIpO1xuLy8gICBib3JkZXItY29sb3I6ICRicmFuZC13YXJuaW5nO1xuLy8gfVxuLy9cbi8vIC5mb3JtLWNvbnRyb2wtZXJyb3Ige1xuLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmb3JtLWljb24tZGFuZ2VyfVwiKTtcbi8vICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuLy8gfVxuXG5cbi8vIC5oYXMtZmVlZGJhY2sge1xuLy8gICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy9cbi8vICAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuLy8gICAuZm9ybS1jb250cm9sIHtcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LWhlaWdodCAqIDEuMjUpO1xuLy8gICB9XG4vLyB9XG4vLyAvLyBGZWVkYmFjayBpY29uXG4vLyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICB0b3A6IDA7XG4vLyAgIHJpZ2h0OiAwO1xuLy8gICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbi8vICAgZGlzcGxheTogYmxvY2s7XG4vLyAgIHdpZHRoOiAkaW5wdXQtaGVpZ2h0O1xuLy8gICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4vLyAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gfVxuLy8gLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi8vIC5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICB3aWR0aDogJGlucHV0LWhlaWdodC1sZztcbi8vICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuLy8gICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbi8vIH1cbi8vIC5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4vLyAuaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbi8vICAgd2lkdGg6ICRpbnB1dC1oZWlnaHQtc207XG4vLyAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbi8vICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4vLyB9XG4vL1xuLy8gLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy8gLmhhcy1zdWNjZXNzIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtdGV4dCwgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuLy8gfVxuLy8gLmhhcy13YXJuaW5nIHtcbi8vICAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctdGV4dCwgJHN0YXRlLXdhcm5pbmctYmcpO1xuLy8gfVxuLy8gLmhhcy1kYW5nZXIge1xuLy8gICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItdGV4dCwgJHN0YXRlLWRhbmdlci1iZyk7XG4vLyB9XG4vL1xuLy8gLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4vLyAuaGFzLWZlZWRiYWNrIGxhYmVsIHtcbi8vXG4vLyAgIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4vLyAgICAgLy8gVE9ETzogcmVkbyB0aGlzIHNpbmNlIHdlIG51a2VkIHRoZSBgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkYFxuLy8gICAgIHRvcDogMDsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4vLyAgIH1cbi8vXG4vLyAgICYuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuLy8gICAgIHRvcDogMDtcbi8vICAgfVxuLy8gfVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkZm9udC1zaXplLWJhc2UsICRsaW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IC42NTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLmJ0bi1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWNvbG9yLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1ib3JkZXIpO1xufVxuLmJ0bi1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXNlY29uZGFyeS1jb2xvciwgJGJ0bi1zZWNvbmRhcnktYmcsICRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4uYnRuLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4uYnRuLWRhbmdlciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuLy8gUmVtb3ZlIGFsbCBiYWNrZ3JvdW5kc1xuLmJ0bi1wcmltYXJ5LW91dGxpbmUge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tcHJpbWFyeS1iZyk7XG59XG4uYnRuLXNlY29uZGFyeS1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1pbmZvLW91dGxpbmUge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4taW5mby1iZyk7XG59XG4uYnRuLXN1Y2Nlc3Mtb3V0bGluZSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbn1cbi5idG4td2FybmluZy1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmJ0bi1kYW5nZXItb3V0bGluZSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcpO1xufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXI7XG5cbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC8vIHRyJi5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAvLyB0Ym9keSYuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodDtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQ6IG5vbmU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG5cbiAgLy8gQWN0aXZlIHN0YXRlXG4gICYuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAvL1xuICAvLyBHcmF5IG91dCB0ZXh0IGFuZCBlbnN1cmUgdGhlIGhvdmVyL2ZvY3VzIHN0YXRlIHJlbWFpbnMgZ3JheVxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuXG4gICAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgICBAaW5jbHVkZSByZXNldC1maWx0ZXIoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAoJHppbmRleC1kcm9wZG93biAtIDEwKTtcbn1cblxuLy8gUmlnaHQgYWxpZ25lZCBkcm9wZG93bnNcbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vL1xuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIH1cblxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi8vIE5lZWQgLmRyb3Bkb3duLXRvZ2dsZSBzaW5jZSA6bGFzdC1jaGlsZCBkb2Vzbid0IGFwcGx5IGdpdmVuIGEgLmRyb3Bkb3duLW1lbnUgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBSZXBvc2l0aW9uIHRoZSBjYXJldFxuLmJ0biAuY2FyZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8vIENhcmV0cyBpbiBvdGhlciBidXR0b24gc2l6ZXNcbi5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAkY2FyZXQtd2lkdGgtbGcgJGNhcmV0LXdpZHRoLWxnIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4vLyBVcHNpZGUgZG93biBjYXJldHMgZm9yIC5kcm9wdXBcbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IDAgJGNhcmV0LXdpZHRoLWxnICRjYXJldC13aWR0aC1sZztcbn1cblxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvLyBQcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW5cbiAgICAvLyBwbGFjZWQgd2l0aGluIGEgdGFibGUuXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9IEBlbHNlIHtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtc207XG59XG5cblxuLy9cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gU2l6aW5nXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICB9XG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi8vXG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cblxuLy9cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vXG5cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiB0byBvbmx5IGhhdmUgYSBzaW5nbGUsIHNoYXJlZCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBtYXJnaW4tbGVmdDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgICAvLyBCZWNhdXNlIHNwZWNpZmljaXR5XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHA6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uYy1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgY29sb3I6ICM1NTU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICA+IGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmOmNoZWNrZWQgfiAuYy1pbmRpY2F0b3Ige1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLmMtaW5kaWNhdG9yIHtcbiAgICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjA3NXJlbSAjZmZmLCAwIDAgMCAuMnJlbSAjMDA3NGQ5O1xuICAgIH1cblxuICAgICY6YWN0aXZlIH4gLmMtaW5kaWNhdG9yIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg0YzZmZjtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICB9XG5cbiAgKyAuYy1pbnB1dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGluZGljYXRvclxuLy9cbi8vIEdlbmVyYXRlcyBhIHNoYWRvdyBlbGVtZW50IHRvIGNyZWF0ZSBvdXIgbWFrZXNoaWZ0IGNoZWNrYm94L3JhZGlvIGJhY2tncm91bmQuXG5cbi5jLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiA2NSU7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBjb2xvcjogI2VlZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLjEyNXJlbSAuMTI1cmVtIHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uYy1jaGVja2JveCB7XG4gIC5jLWluZGljYXRvciB7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5jLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE55NHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjJhV1YzUW05NFBTSXdJREFnT0NBNElpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQTRJRGdpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBnMEtQSEJoZEdnZ1ptbHNiRDBpSTBaR1JrWkdSaUlnWkQwaVRUWXVOQ3d4VERVdU55d3hMamRNTWk0NUxEUXVOVXd5TGpFc015NDNUREV1TkN3elREQXNOQzQwYkRBdU55d3dMamRzTVM0MUxERXVOV3d3TGpjc01DNDNiREF1Tnkwd0xqZHNNeTQxTFRNdU5Xd3dMamN0TUM0M1REWXVOQ3d4VERZdU5Dd3hlaUlOQ2drdlBnMEtQQzl6ZG1jK0RRbz0pO1xuICB9XG5cbiAgaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4Tnk0eExqQXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCM2FXUjBhRDBpT0hCNElpQm9aV2xuYUhROUlqaHdlQ0lnZG1sbGQwSnZlRDBpTUNBd0lEZ2dPQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnT0NBNElpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajROQ2p4d1lYUm9JR1pwYkd3OUlpTkdSa1pHUmtZaUlHUTlJazB3TEROMk1tZzRWak5JTUhvaUx6NE5Dand2YzNablBnMEspO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmMtcmFkaW8ge1xuICAuYy1pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuYy1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXhOeTR4TGpBc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnMEtDU0IyYVdWM1FtOTRQU0l3SURBZ09DQTRJaUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0E0SURnaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQZzBLUEhCaGRHZ2dabWxzYkQwaUkwWkdSa1pHUmlJZ1pEMGlUVFFzTVVNeUxqTXNNU3d4TERJdU15d3hMRFJ6TVM0ekxETXNNeXd6Y3pNdE1TNHpMRE10TTFNMUxqY3NNU3cwTERGNklpOCtEUW84TDNOMlp6NE5DZz09KTtcbiAgfVxufVxuXG5cbi8vIExheW91dCBvcHRpb25zXG4vL1xuLy8gQnkgZGVmYXVsdCByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYXJlIGBpbmxpbmUtYmxvY2tgIHdpdGggbm8gYWRkaXRpb25hbCBzcGFjaW5nXG4vLyBzZXQuIFVzZSB0aGVzZSBvcHRpb25hbCBjbGFzc2VzIHRvIHR3ZWFrIHRoZSBsYXlvdXQuXG5cbi5jLWlucHV0cy1zdGFja2VkIHtcbiAgLmMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICArIC5jLWlucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHA6Ly9wcmltZXJjc3MuaW8uXG4vL1xuLy8gSW5jbHVkZXMgSUU5LXNwZWNpZmljIGhhY2tzIChub3RlZCBieSBgIFxcOWApLlxuXG4uYy1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogLjM3NXJlbSAxLjc1cmVtIC4zNzVyZW0gLjc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW0gXFw5O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVVDQU1BQUFDenZFMUZBQUFBREZCTVZFVXpNek16TXpNek16TXpNek1LQUcvM0FBQUFBM1JTVGxNQWY0Qy9hU0xIQUFBQVBFbEVRVlI0MnEzTk1RNEFJQWdFUVRuLy8yY0xkUktwcFNHekJZd3pWWHZ6bk5XczhDNThDaXVzc1BKajhoNk53Z29ycktSZFR2dVY5djE2QWZuMEFZRk9CN2FZQUFBQUFFbEZUa1N1UW1DQykgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIC8vIFVzZSB2ZW5kb3IgcHJlZml4ZXMgYXMgYGFwcGVhcmFuY2VgIGlzbid0IHBhcnQgb2YgdGhlIENTUyBzcGVjLlxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1MWE3ZTg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDgxLCAxNjcsIDIzMiwgMC41KSk7XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmMtc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWluLWhlaWdodDogMjZweDtcbiAgfVxufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWxlIGlucHV0IHtcbiAgbWluLXdpZHRoOiAxNHJlbTtcbiAgbWFyZ2luOiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHkgPSAwKTtcbiAgb3BhY2l0eTogMDtcbn1cbi5maWxlLWN1c3RvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNTU1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkpO1xufVxuLmZpbGUtY3VzdG9tOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiQ2hvb3NlIGZpbGUuLi5cIjtcbn1cbi5maWxlLWN1c3RvbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0uMDc1cmVtO1xuICByaWdodDogLS4wNzVyZW07XG4gIGJvdHRvbTogLS4wNzVyZW07XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1NTU7XG4gIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMCAuMjVyZW0gLjI1cmVtIDA7XG59XG5cbi8vIEZvY3VzIHN0YXRlXG4uZmlsZSBpbnB1dDpmb2N1cyB+IC5maWxlLWN1c3RvbSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDAgLjA3NXJlbSAjZmZmLCAwIDAgMCAuMnJlbSAjMDA3NGQ5KTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgaW5saW5lXG5cbi5uYXYtaW5saW5lIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0sXG4gIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtbGluay1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDApO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuMnJlbTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc3RhY2tlZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICArIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAuMnJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vL1xuLy8gRHJvcGRvd25zXG4vL1xuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIEEgc3RhdGljLCBmdWxsIHdpZHRoIG1vZGlmaWVyIHdpdGggbm8gcm91bmRlZCBjb3JuZXJzLlxuLm5hdmJhci1mdWxsIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG59XG5cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG4ubmF2YmFyLXN0aWNreS10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLXN0aWNreTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuLy9cblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogICAgLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWxlZnQ6ICAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIEN1c3RvbSBvdmVycmlkZSBmb3Jcbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYtc20ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gICYtbWQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2aWdhdGlvblxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiBidWlsdCBvbiB0aGUgYmFzZSBgLm5hdmAgc3R5bGVzLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAgICAuNDI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtO1xuXG4gICAgKyAubmF2LWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wZW4gPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsub3BlbixcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDc1KTtcbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWRhcmsge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcGVuID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLm9wZW4sXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMDc1KTtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0oJGNhcmQtc3BhY2VyLXkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gLmNhcmQtYWN0aW9ucyB7XG4vLyAgIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuXG4vLyAgIC5jYXJkLWxpbmsgKyAuY2FyZC1saW5rIHtcbi8vICAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4vLyAgIH1cbi8vIH1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgLmNhcmQge1xuICAgID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMgJGNhcmQtYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkY2FyZC1ib3JkZXItcmFkaXVzICRjYXJkLWJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xuICB9XG59XG5cblxuLy9cbi8vIEJhY2tncm91bmQgdmFyaWF0aW9uc1xuLy9cblxuLmNhcmQtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnkpO1xufVxuLmNhcmQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MpO1xufVxuLmNhcmQtaW5mbyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuLmNhcmQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcpO1xufVxuLmNhcmQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1kYW5nZXIsICRicmFuZC1kYW5nZXIpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJhY2tncm91bmRzXG4uY2FyZC1wcmltYXJ5LW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmNhcmQtc2Vjb25kYXJ5LW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmNhcmQtaW5mby1vdXRsaW5lIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1pbmZvLWJnKTtcbn1cbi5jYXJkLXN1Y2Nlc3Mtb3V0bGluZSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uY2FyZC13YXJuaW5nLW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmNhcmQtZGFuZ2VyLW91dGxpbmUge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWRhbmdlci1iZyk7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuLmNhcmQtaW52ZXJzZSB7XG4gIEBpbmNsdWRlIGNhcmQtaW52ZXJzZTtcbn1cblxuLy9cbi8vIEJsb2NrcXVvdGVcbi8vXG5cbi5jYXJkLWJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nIHtcbiAgLy8gbWFyZ2luOiAtMS4zMjVyZW07XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoLjI1cmVtKTtcbn1cbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG59XG5cblxuXG4vLyBDYXJkIGltYWdlIGNhcHNcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xufVxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG5cblxuLy9cbi8vIENhcmQgc2V0XG4vL1xuXG5AaWYgJGVuYWJsZS1mbGV4IHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIC5jYXJkLWRlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0uNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0uNjI1cmVtO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAuNjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSBAZWxzZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAxLjI1cmVtIDA7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1kZWNrLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5jYXJkLWdyb3VwIHtcbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZFxuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlbSBleGNlZWQgdGhlIGNvbHVtbiB3aWR0aFxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsICRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgKyBsaTo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyLXk7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IC8vIENvbGxhcHNlIHdoaXRlLXNwYWNlXG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICBib3JkZXI6ICRwYWdlci1ib3JkZXItd2lkdGggc29saWQgJHBhZ2VyLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwYWdlci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwYWdlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogJHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZXItbmV4dCB7XG4gID4gYSxcbiAgPiBzcGFuIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLnBhZ2VyLXByZXYge1xuICA+IGEsXG4gID4gc3BhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogLjI1ZW0gLjRlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiAkbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IGxhYmVscyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuLmJ0biAubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5sYWJlbCB7XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxhYmVsLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBQaWxsIGxhYmVsc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4ubGFiZWwtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IC42ZW07XG4gIHBhZGRpbmctbGVmdDogLjZlbTtcbiAgLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuICAvLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTByZW0pO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXN1Y2Nlc3MtYmcpO1xufVxuXG4ubGFiZWwtaW5mbyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGFuZ2VyLWJnKTtcbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24taHIge1xuICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGp1bWJvdHJvbi1iZywgMTAlKTtcbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICA+IHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGFsZXJ0LXBhZGRpbmcgKyAyMCk7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXN1Y2Nlc3MtYmcsICRhbGVydC1zdWNjZXNzLWJvcmRlciwgJGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG59XG4uYWxlcnQtaW5mbyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWluZm8tYmcsICRhbGVydC1pbmZvLWJvcmRlciwgJGFsZXJ0LWluZm8tdGV4dCk7XG59XG4uYWxlcnQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXdhcm5pbmctYmcsICRhbGVydC13YXJuaW5nLWJvcmRlciwgJGFsZXJ0LXdhcm5pbmctdGV4dCk7XG59XG4uYWxlcnQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtZGFuZ2VyLWJnLCAkYWxlcnQtZGFuZ2VyLWJvcmRlciwgJGFsZXJ0LWRhbmdlci10ZXh0KTtcbn1cbiIsIi8vXG4vLyBQcm9ncmVzcyBhbmltYXRpb25zXG4vL1xuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3BhY2VyLXkgMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vXG4vLyBCYXNpYyBwcm9ncmVzcyBiYXJcbi8vXG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc3BhY2VyLXk7IC8vIHRvZG86IG1ha2UgYSBuZXcgdmFyIGZvciB0aGlzXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbn1cbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICAvLyBJRTEwIHVzZXMgYGNvbG9yYCB0byBzZXQgdGhlIGJhciBiYWNrZ3JvdW5kLWNvbG9yXG4gIGNvbG9yOiAjMDA3NGQ5O1xuICAvLyBSZW1vdmUgRmlyZWZveCBhbmQgT3BlcmEgYm9yZGVyXG4gIGJvcmRlcjogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZVxuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwwLDAsLjEpKTtcbn1cbi5wcm9ncmVzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIodmFsdWUpO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4vLyBGaXJlZm94IHN0eWxlcyBtdXN0IGJlIGVudGlyZWx5IHNlcGFyYXRlIG9yIGl0IGJ1c3RzIFdlYmtpdCBzdHlsZXMuXG4vL1xuLy8gQ29tbWVudGVkIG91dCBmb3Igbm93IGJlY2F1c2UgbGludGVyLlxuLy9cbi8vICQtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZV0ge1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4vLyAgICAgLmJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuLy8gICAgIC5ib3gtc2hhZG93KGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgwLDAsMCwuMSkpO1xuLy8gICB9XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICB9XG4vLyAgIC5wcm9ncmVzc1t2YWx1ZT1cIjBcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbi8vICAgICBjb2xvcjogJGdyYXktbGlnaHQ7XG4vLyAgICAgbWluLXdpZHRoOiAycmVtO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4vLyAgIH1cbi8vICAgLnByb2dyZXNzW3ZhbHVlPVwiMTAwXCJdOjotbW96LXByb2dyZXNzLWJhciB7XG4vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbi8vICAgfVxuLy8gfVxuXG4vLyBJRTkgaGFja3MgdG8gYWNjb21wYW55IGN1c3RvbSBtYXJrdXAuIFdlIGRvbid0IG5lZWQgdG8gc2NvcGUgdGhpcyB2aWEgbWVkaWEgcXVlcmllcywgYnV0IEkgZmVlbCBiZXR0ZXIgZG9pbmcgaXQgYW55d2F5LlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgwLDAsMCwuMSkpO1xuICB9XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRzcGFjZXIteTtcbiAgICB0ZXh0LWluZGVudDogLTk5OXJlbTsgLy8gU2ltdWxhdGUgaGlkaW5nIG9mIHZhbHVlIGFzIGluIG5hdGl2ZSBgPHByb2dyZXNzPmBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG4gIC5wcm9ncmVzc1t3aWR0aF49XCIwXCJdIHtcbiAgICBtaW4td2lkdGg6IDJyZW07XG4gICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5cbi8vXG4vLyBTdHJpcGVkXG4vL1xuXG4ucHJvZ3Jlc3Mtc3RyaXBlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbn1cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbn1cbi8vIElFOVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNwYWNlci15ICRzcGFjZXIteTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbmltYXRlZFxuLy9cblxuLnByb2dyZXNzLWFuaW1hdGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLnByb2dyZXNzLWFuaW1hdGVkW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi8vIElFOVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gIC5wcm9ncmVzcy1hbmltYXRlZCAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xuICB9XG59XG5cblxuLy9cbi8vIFZhcmlhdGlvbnNcbi8vXG5cbi5wcm9ncmVzcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xufVxuLnByb2dyZXNzLWluZm8ge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG4ucHJvZ3Jlc3Mtd2FybmluZyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci13YXJuaW5nLWJnKTtcbn1cbi5wcm9ncmVzcy1kYW5nZXIge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcbn1cbiIsIkBpZiAkZW5hYmxlLWZsZXgge1xuICAubWVkaWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgfVxuICAubWVkaWEtYm9keSB7XG4gICAgZmxleDogMTtcbiAgfVxuICAubWVkaWEtbWlkZGxlIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGlhLWJvdHRvbSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIH1cbn0gQGVsc2Uge1xuICAubWVkaWEge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5tZWRpYSxcbiAgLm1lZGlhLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgem9vbTogMTtcbiAgfVxuICAubWVkaWEtYm9keSB7XG4gICAgd2lkdGg6IDEwMDAwcHg7XG4gIH1cbiAgLm1lZGlhLWxlZnQsXG4gIC5tZWRpYS1yaWdodCxcbiAgLm1lZGlhLWJvZHkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuICAubWVkaWEtbWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5tZWRpYS1ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuXG4vL1xuLy8gSW1hZ2VzL2VsZW1lbnRzIGFzIHRoZSBtZWRpYSBhbmNob3Jcbi8vXG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBGaXggY29sbGFwc2UgaW4gd2Via2l0IGZyb20gbWF4LXdpZHRoOiAxMDAlIGFuZCBkaXNwbGF5OiB0YWJsZS1jZWxsLlxuICAmLmltZy10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbGlnbm1lbnRcbi8vXG5cbi5tZWRpYS1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cblxuLy9cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuXG4gIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgY2xhc3Mgb24gaXRlbSBpdHNlbGYsIG5vdCBwYXJlbnRcbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMjEpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkgLyAxNik7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgzIC8gNCk7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgxIC8gMSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuMjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLmluIHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBhY2NvdW50IGZvciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHdoaWNoIGdldHMgdGhlIGJvdHRvbSBtYXJnaW4gbGlrZSBhbGwgb3RoZXIgaW5wdXRzXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAubW9kYWwtbGcgeyB3aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgb3BhY2l0eTogMDtcblxuICAmLmluIHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gICYudG9vbHRpcC10b3AsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtYm90dG9tLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1sZWZ0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAxcHg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG5cbiAgLy8gUG9wb3ZlciBkaXJlY3Rpb25zXG5cbiAgJi5wb3BvdmVyLXRvcCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWxlZnQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLXRpdGxlIHtcbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIG1hcmdpbjogMDsgLy8gcmVzZXQgaGVhZGluZyBtYXJnaW5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKCRib3JkZXItcmFkaXVzLWxnIC0gMSkgKCRib3JkZXItcmFkaXVzLWxnIC0gMSkgMCAwKTtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG5cbi8vIEFycm93c1xuLy9cbi8vIC5wb3BvdmVyLWFycm93IGlzIG91dGVyLCAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXItYXJyb3cge1xuICAmLFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cbi5wb3BvdmVyLWFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgIEBleHRlbmQgLmltZy1mbHVpZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYucHJldixcbiAgICAgICYuYWN0aXZlLmxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5pY29uLXByZXYge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG5cbiAgLmljb24tcHJldiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDM5XCI7Ly8gU0lOR0xFIExFRlQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzOSlcbiAgICB9XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDNhXCI7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBJRTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDkgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlIGNsaWNrcyBvbiBlbGVtZW50cyB3aXRoIGEgYGJhY2tncm91bmQtY29sb3JgIG9mIGB0cmFuc3BhcmVudGAsXG4gICAgLy8gc28gd2UgdXNlIGByZ2JhKDAsMCwwLDApYCBpbnN0ZWFkIHNpbmNlIGl0J3MgYSBub24tYnVnZ3kgZXF1aXZhbGVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuICAuYWN0aXZlIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vLyBIaWRkZW4gYnkgZGVmYXVsdCBmb3Igc21hbGxlciB2aWV3cG9ydHMuXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDE1JTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG5cbiAgLmJ0biB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IC8vIE5vIHNoYWRvdyBmb3IgYnV0dG9uIGVsZW1lbnRzIGluIGNhcm91c2VsLWNhcHRpb25cbiAgfVxufVxuXG5cbi8vXG4vLyBSZXNwb25zaXZlIHZhcmlhdGlvbnNcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuaWNvbi1wcmV2LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgfVxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBGbG9hdHNcbi8vXG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jZW50ZXItYmxvY2sge1xuICBAaW5jbHVkZSBjZW50ZXItYmxvY2soKTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LWxlZnQge1xuICAgICAgQGluY2x1ZGUgcHVsbC1sZWZ0KCk7XG4gICAgfVxuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIHB1bGwtcmlnaHQoKTtcbiAgICB9XG4gICAgLnB1bGwtI3skYnJlYWtwb2ludH0tbm9uZSB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG5cblxuLy9cbi8vIFRleHRcbi8vXG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlICAgICAgIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgLnRleHQtI3skYnJlYWtwb2ludH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQtI3skYnJlYWtwb2ludH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcbiIsIi8vXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vL1xuXG4vLyBJbnZlcnNlXG4vLyBUT0RPOiByZWRvIHRoaXMgYXMgYSBwcm9wZXIgY2xhc3Ncbi5iZy1pbnZlcnNlIHtcbiAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG59XG5cbi5iZy1mYWRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXN0O1xufVxuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXN1Y2Nlc3MnLCAkYnJhbmQtc3VjY2Vzcyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbmZvJywgJGJyYW5kLWluZm8pO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWRhbmdlcicsICRicmFuZC1kYW5nZXIpO1xuIiwiLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbi5tLXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogIGF1dG8gIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aHMgaW4gJHNwYWNlcnMge1xuICAgICRsZW5ndGgteDogICBtYXAtZ2V0KCRsZW5ndGhzLCB4KTtcbiAgICAkbGVuZ3RoLXk6ICAgbWFwLWdldCgkbGVuZ3RocywgeSk7XG5cbiAgICAuI3skYWJicmV2fS1hLSN7JHNpemV9IHsgI3skcHJvcH06ICAgICAgICAkbGVuZ3RoLXkgJGxlbmd0aC14ICFpbXBvcnRhbnQ7IH0gLy8gYSA9IEFsbCBzaWRlc1xuICAgIC4jeyRhYmJyZXZ9LXQtI3skc2l6ZX0geyAjeyRwcm9wfS10b3A6ICAgICRsZW5ndGgteSAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tci0jeyRzaXplfSB7ICN7JHByb3B9LXJpZ2h0OiAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1iLSN7JHNpemV9IHsgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LWwtI3skc2l6ZX0geyAjeyRwcm9wfS1sZWZ0OiAgICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBBeGVzXG4gICAgLiN7JGFiYnJldn0teC0jeyRzaXplfSB7XG4gICAgICAjeyRwcm9wfS1yaWdodDogICRsZW5ndGgteCAhaW1wb3J0YW50O1xuICAgICAgI3skcHJvcH0tbGVmdDogICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLiN7JGFiYnJldn0teS0jeyRzaXplfSB7XG4gICAgICAjeyRwcm9wfS10b3A6ICAgICRsZW5ndGgteSAhaW1wb3J0YW50O1xuICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9zaXRpb25pbmdcblxuLnBvcy1mLXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xufVxuIiwiLy9cbi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG4vL1xuXG5AZWFjaCAkYnAgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLmhpZGRlbi0jeyRicH0tdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi1wcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIkYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJHR5cGk6IChudWxsOiAoMTZweCwgMS41KSkgIWRlZmF1bHQ7XG4kdHlwaS1tczogZmFsc2UgIWRlZmF1bHQ7XG4kdHlwaS1icmVha3BvaW50OiBudWxsICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0eS9taXhpbnMnO1xuQGltcG9ydCAndHkvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3R5cGkvdHlwaSc7XG4iLCJcbi8vIF90eS1icmVha3BvaW50XG4vLyA9PT09PT09PT09PT09PVxuLy8gQWxsb3dzIHVzZSBvZiBicmVha3BvaW50LXNhc3MgYW5kIG1hcHB5LWJwLlxuLy8gRmFsbHMgYmFjayB0byBkZWZhdWx0IG1ldGhvZCBvdGhlcndpc2UuXG5AbWl4aW4gX3R5LWJyZWFrcG9pbnQoXG4gICR0eXBpLW1hcFxuKSB7XG4gICRicmVha3BvaW50OiBtYXAtZ2V0KCR0eXBpLW1hcCwgYnJlYWtwb2ludCk7XG4gICRicmVha3BvaW50czogbWFwLWdldCgkdHlwaS1tYXAsIGJyZWFrcG9pbnRzKTtcbiAgJGJwLXZhbDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuICBAaWYgJHR5cGktYnJlYWtwb2ludCA9PSBicmVha3BvaW50IHtcbiAgICBAaWYgbWl4aW4tZXhpc3RzKGJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCB0cnVlKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAaW5jbHVkZSBfdHktd3JpdGUtcHJvcHMoJHR5cGktbWFwKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciAnQnJlYWtwb2ludC1zYXNzIExpYnJhcnkgbm90IGZvdW5kJ1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBpLWJyZWFrcG9pbnQgPT0gbWFwcHktYnJlYWtwb2ludCBvciAkdHlwaS1icmVha3BvaW50ID09IG1hcHB5LWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbWl4aW4tZXhpc3RzKG1hcHB5LWJwKSB7XG4gICAgICBAaW5jbHVkZSBtYXBweS1icChtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG4gICAgICAgIEBpbmNsdWRlIF90eS13cml0ZS1wcm9wcygkdHlwaS1tYXApO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yICdNYXBweSBCcmVha3BvaW50cyBMaWJyYXJ5IG5vdCBmb3VuZCdcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSkge1xuICAgICAgQGluY2x1ZGUgX3R5LXdyaXRlLXByb3BzKCR0eXBpLW1hcCk7XG4gICAgfVxuICB9XG59XG5cbi8vIF90eS13cml0ZS1wcm9wc1xuLy8gPT09PT09PT09PT09PT09XG4vLyBXcml0ZXMgZm9udC1zaXplIChhbmQgbGluZSBoZWlnaHQpIHByb3BlcnRpZXNcbkBtaXhpbiBfdHktd3JpdGUtcHJvcHMgKFxuICAkdHlwaS1tYXBcbikge1xuICAkdGFyZ2V0OiBtYXAtZ2V0KCR0eXBpLW1hcCwgdGFyZ2V0KTtcbiAgJGJyZWFrcG9pbnQ6IG1hcC1nZXQoJHR5cGktbWFwLCBicmVha3BvaW50KTtcbiAgJHR5cGk6IG1hcC1nZXQoJHR5cGktbWFwLCB0eXBpKTtcbiAgJGJhc2U6IG1hcC1nZXQoJHR5cGktbWFwLCBiYXNlKTtcbiAgJHJlbTogbWFwLWdldCgkdHlwaS1tYXAsIHJlbSk7XG5cbiAgJGJwLXZhbDogbWFwLWdldCgkdGFyZ2V0LCAkYnJlYWtwb2ludCk7XG4gICRmb250LXNpemU6IG51bGw7XG4gICRsaW5lLWhlaWdodDogbnVsbDtcblxuICBAaWYgdHlwZS1vZigkYnAtdmFsKSA9PSAnbnVsbCcge1xuICAgICRsYXN0LXZhbGlkLWJyZWFrcG9pbnQ6IG1hcC1nZXQoJHR5cGktbWFwLCBsYXN0LXZhbGlkLWJyZWFrcG9pbnQpO1xuICAgICRicC12YWw6IG1hcC1nZXQoJHRhcmdldCwgJGxhc3QtdmFsaWQtYnJlYWtwb2ludCk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkYnAtdmFsKSA9PSBcImxpc3RcIiBhbmQgbGVuZ3RoKCRicC12YWwpID4gMSB7XG4gICAgJGZvbnQtc2l6ZTogbnRoKCRicC12YWwsIDEpO1xuICAgICRsaW5lLWhlaWdodDogbnRoKCRicC12YWwsIDIpO1xuICAgIGZvbnQtc2l6ZTogX3R5LWZvbnQtc2l6ZSgkZm9udC1zaXplLCAkYnJlYWtwb2ludCwgJHR5cGksICRyZW0sICRiYXNlLCAkdHlwaS1tYXApO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cbiAgQGVsc2UgIHtcbiAgICAkZm9udC1zaXplOiAkYnAtdmFsO1xuICAgIGZvbnQtc2l6ZTogX3R5LWZvbnQtc2l6ZSgkZm9udC1zaXplLCAkYnJlYWtwb2ludCwgJHR5cGksICRyZW0sICRiYXNlLCAkdHlwaS1tYXApO1xuICB9XG59IiwiLy8gX3R5LWZvbnQtc2l6ZVxuLy8gPT09PT09PT09PT09PVxuLy8gQ2FsbHMgX3R5LWNhbGMtZm9udC1zaXplIG9yIF90eS1iYXNlLXNpemVcbkBmdW5jdGlvbiBfdHktZm9udC1zaXplKFxuICAkZm9udC1zaXplLFxuICAkYnJlYWtwb2ludCxcbiAgJHR5cGksXG4gICRyZW0sXG4gICRiYXNlOiBmYWxzZSxcbiAgJHR5cGktbWFwOiBmYWxzZVxuKSB7XG4gIEBpZiAkYmFzZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIF90eS1iYXNlLXNpemUoJGZvbnQtc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gX3R5LWNhbGMtZm9udC1zaXplKCRmb250LXNpemUsICRicmVha3BvaW50LCAkdHlwaSwgJHJlbSwgJHR5cGktbWFwKTtcbiAgfVxufVxuXG4vLyBfdHktY2FsYy1mb250LXNpemVcbi8vID09PT09PT1cbi8vIHJldHVybnMgY29ycmVjdCByZW0gdmFsdWUgZGVwZW5kaW5nIG9uXG4vLyBicmVha3BvaW50XG5AZnVuY3Rpb24gX3R5LWNhbGMtZm9udC1zaXplKFxuICAkZm9udC1zaXplLFxuICAkYnJlYWtwb2ludCxcbiAgJHR5cGksXG4gICRyZW0sXG4gICR0eXBpLW1hcDogZmFsc2Vcbikge1xuICBAaWYgdW5pdGxlc3MoJGZvbnQtc2l6ZSkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMobXMpIHtcbiAgICAgICR0eXBpLW1zOiBtYXAtZ2V0KCR0eXBpLW1hcCwgbXMpO1xuICAgICAgQGlmICRyZW0ge1xuICAgICAgICBAcmV0dXJuIF90eS1zdHJpcC11bml0KF90eS1tcygkZm9udC1zaXplLCAkYnJlYWtwb2ludCwgJHR5cGktbXMsICR0eXBpLW1hcCkpICogMXJlbTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIF90eS1tcygkZm9udC1zaXplLCAkYnJlYWtwb2ludCwgJHR5cGktbXMsICR0eXBpLW1hcCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJNb2R1bGFyIFNjYWxlIExpYnJhcnkgcmVxdWlyZWRcIjtcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IHB4IGFuZCBlbSBpbnRvIHJlbVxuICBAZWxzZSBpZiAkcmVtIHtcbiAgICBAaWYgdW5pdCgkZm9udC1zaXplKSA9PSAnZW0nIHtcbiAgICAgIEByZXR1cm4gX3R5LXN0cmlwLXVuaXQoJGZvbnQtc2l6ZSkgKiAxcmVtO1xuICAgIH1cblxuICAgIEBlbHNlIGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4JyB7XG4gICAgICAkYmFzZW1hcDogbWFwLWdldCgkdHlwaSwgJGJyZWFrcG9pbnQpO1xuICAgICAgJGJhc2Vmb250OiBpZih0eXBlLW9mKCRiYXNlbWFwKSA9PSAnbGlzdCcsIG50aCgkYmFzZW1hcCwgMSksICRiYXNlbWFwKTtcblxuICAgICAgQGlmICRiYXNlZm9udCA9PSBudWxsIHtcbiAgICAgICAgJGJhc2Vmb250OiBudGgobWFwLWdldCgkdHlwaSwgbnVsbCksIDEpO1xuICAgICAgfVxuXG4gICAgICBAcmV0dXJuICRmb250LXNpemUgLyAkYmFzZWZvbnQgKiAxcmVtO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJGZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0cyByZW0gYW5kIHB4IGludG8gZW1cbiAgQGVsc2Uge1xuICAgIEBpZiB1bml0KCRmb250LXNpemUpID09ICdyZW0nIHtcbiAgICAgIEByZXR1cm4gX3R5LXN0cmlwLXVuaXQoJGZvbnQtc2l6ZSkgKiAxZW07XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnIHtcbiAgICAgICRiYXNlbWFwOiBtYXAtZ2V0KCR0eXBpLCAkYnJlYWtwb2ludCk7XG4gICAgICAkYmFzZWZvbnQ6IGlmKHR5cGUtb2YoJGJhc2VtYXApID09ICdsaXN0JywgbnRoKCRiYXNlbWFwLCAxKSwgJGJhc2VtYXApO1xuXG4gICAgICBAaWYgJGJhc2Vmb250ID09IG51bGwge1xuICAgICAgICAkYmFzZWZvbnQ6IG50aChtYXAtZ2V0KCR0eXBpLCBudWxsKSwgMSk7XG4gICAgICB9XG5cbiAgICAgIEByZXR1cm4gX3R5LWVtKCRmb250LXNpemUsICRiYXNlZm9udCk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiAkZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBfdHktYmFzZS1zaXplXG4vLyA9PT09PT09PT09PT09XG4vLyBDb252ZXJ0cyBUeXBpIHNpemVzIGludG8gcGVyY2VudGFnZXNcbkBmdW5jdGlvbiBfdHktYmFzZS1zaXplKFxuICAkZm9udC1zaXplXG4pIHtcbiAgQGlmIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiAkZm9udC1zaXplIC8gMTZweCAqIDEwMCU7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yICdUeXBpIGZvbnQgc2l6ZXMgbXVzdCBiZSB3cml0dGVuIGluIHBpeGVscyc7XG4gIH1cbn1cblxuXG4vLyBfdHktc3RyaXAtdW5pdFxuLy8gPT09PT09PT09PT09PT1cbkBmdW5jdGlvbiBfdHktc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBfdHktZW1cbi8vID09PT09PT09XG5AZnVuY3Rpb24gX3R5LWVtKCRmb250LXNpemUsICRyZWYtc2l6ZTogZmFsc2UpIHtcbiAgQGlmICgkcmVmLXNpemUpIHtcbiAgICBAcmV0dXJuICRmb250LXNpemUgLyAkcmVmLXNpemUgKiAxZW07XG4gIH1cbn1cblxuLy8gX3R5LXJlbVxuLy8gPT09PT09PT09XG5AZnVuY3Rpb24gX3R5LXJlbSgkZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCRmb250LXNpemUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkZm9udC1zaXplKSAvIDE2ICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiB1bml0KCRmb250LXNpemUpID09ICdlbScge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbn1cblxuLy8gX3R5LW1zXG4vLyA9PT09PT1cbkBmdW5jdGlvbiBfdHktbXMoXG4gICRtdWx0aXBsaWVyLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHR5cGktbXM6ICR0eXBpLW1zLFxuICAkdHlwaS1tYXA6IGZhbHNlXG4pIHtcbiAgJG1zLXNldHRpbmc6IG51bGw7XG4gIEBpZiBtYXAtaGFzLWtleSgkdHlwaS1tcywgJGJyZWFrcG9pbnQpIHtcbiAgICAkbXMtc2V0dGluZzogbWFwLWdldCgkdHlwaS1tcywgJGJyZWFrcG9pbnQpO1xuICB9IEBlbHNlIHtcbiAgICAkbGFzdC12YWxpZC1tczogbWFwLWdldCgkdHlwaS1tYXAsIGxhc3QtdmFsaWQtbXMpO1xuICAgICRtcy1zZXR0aW5nOiBtYXAtZ2V0KCR0eXBpLW1zLCAkbGFzdC12YWxpZC1tcyk7XG4gIH1cblxuICAkdHktbXMtYmFzZTogbnVsbDtcbiAgJHR5LW1zLXJhdGlvOiBudWxsO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvIGxlbmd0aCgkbXMtc2V0dGluZykgKyAxIHtcbiAgICAkdmFsOiBudGgoJG1zLXNldHRpbmcsICRpKTtcblxuXG4gICAgLy8gRm9yIGNvbWJpbmF0aW9ucyBvZiBtdWx0aXBsZSBiYXNlcyArIG11bHRpcGxlIHJhdGlvc1xuICAgIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyB7XG4gICAgICBAaWYgbm90IHVuaXRsZXNzKG50aCgkdmFsLCAxKSkge1xuICAgICAgICAkdHktbXMtYmFzZTogJHZhbDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdHktbXMtcmF0aW86ICR2YWw7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEZvciBjb21iaW5hdGlvbnMgb2YgMSBiYXNlICsgbXVsdGlwbGUgcmF0aW9zXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHVuaXRsZXNzKCR2YWwpIHtcbiAgICAgICAgQGlmICR0eS1tcy1yYXRpbyA9PSBudWxsIHtcbiAgICAgICAgICAkdHktbXMtcmF0aW86ICR2YWw7XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdHktbXMtcmF0aW8pID09IFwibnVtYmVyXCIge1xuICAgICAgICAgICR0eS1tcy1yYXRpbzogJHR5LW1zLXJhdGlvICR2YWw7XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdHktbXMtcmF0aW8pID09IFwibGlzdFwiIHtcbiAgICAgICAgICAkdHktbXMtcmF0aW86IGFwcGVuZCgkdHktbXMtcmF0aW8sICR2YWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICR0eS1tcy1iYXNlID09IG51bGwge1xuICAgICAgICAgICR0eS1tcy1iYXNlOiAkdmFsO1xuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHR5LW1zLWJhc2UpID09ICdudW1iZXInIHtcbiAgICAgICAgICAkdHktbXMtYmFzZTogKCR0eS1tcy1iYXNlICR2YWwpXG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdHktbXMtYmFzZSkgPT0gJ2xpc3QnIHtcbiAgICAgICAgICAkdHktbXMtYmFzZTogYXBwZW5kKCR0eS1tcy1iYXNlLCAkdmFsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHktbXMtYmFzZSA9PSBudWxsIHtcbiAgICAkdHktbXMtYmFzZTogMWVtO1xuICB9XG5cbiAgQHJldHVybiBtcygkbXVsdGlwbGllciwgJHR5LW1zLWJhc2UsICR0eS1tcy1yYXRpbyk7XG59XG5cbi8vIF90eS1nZXQtYnJlYWtwb2ludHNcbi8vID09PT09PT09PT09PT09PT09PT1cbkBmdW5jdGlvbiBfdHktZ2V0LWJyZWFrcG9pbnRzKCRicmVha3BvaW50cywgJHR5cGktbXMsICR0YXJnZXQpIHtcbiAgJF9yZXR1cm46IG51bGw7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgdHlwZS1vZigkdHlwaS1tcykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCR0eXBpLW1zLCAkYnJlYWtwb2ludCkge1xuICAgICAgQGlmIG5vdCBpbmRleCgkX3JldHVybiwgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJF9yZXR1cm46IGFwcGVuZCgkX3JldHVybiwgJGJyZWFrcG9pbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBtYXAtaGFzLWtleSgkdGFyZ2V0LCAkYnJlYWtwb2ludCkge1xuICAgICAgQGlmIG5vdCBpbmRleCgkX3JldHVybiwgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJF9yZXR1cm46IGFwcGVuZCgkX3JldHVybiwgJGJyZWFrcG9pbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG4vLyBfdHktZ2V0LWJhc2UtZm9udFxuQGZ1bmN0aW9uIF90eS1nZXQtYmFzZS1mb250KCR0eXBpKSB7XG4gICRiYXNlLW1hcDogbWFwLWdldCgkdHlwaSwgbnVsbCk7XG4gIEByZXR1cm4gbnRoKCRiYXNlLW1hcCwgMSk7XG59XG5cbi8vIF90eS1nZXQtYmFzZS1saW5lLWhlaWdodFxuQGZ1bmN0aW9uIF90eS1nZXQtYmFzZS1saW5lLWhlaWdodCgkdHlwaSkge1xuICAkYmFzZS1tYXA6IG1hcC1nZXQoJHR5cGksIG51bGwpO1xuICAkYmFzZS1saW5lLWhlaWdodDogbnVsbDtcblxuICBAaWYgbGVuZ3RoKCRiYXNlLW1hcCkgPiAxIHtcbiAgICAkYmFzZS1saW5lLWhlaWdodDogbnRoKCRiYXNlLW1hcCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIiR0eXBpIG1hcCBzaG91bGQgY29udGFpbiBhIHNlY29uZCBhcmd1bWVudCAobGluZS1oZWlnaHQpIGluIHRoZSBgbnVsbGAga2V5XCI7XG4gIH1cblxuICBAaWYgbm90IHVuaXQoJGJhc2UtbGluZS1oZWlnaHQpID09IFwiXCIge1xuICAgIEBlcnJvciBcImxpbmUtaGVpZ2h0IG11bHRpcGxlIG9uIHRoZSBgbnVsbGAga2V5IHNob3VsZCBiZSB1bml0bGVzc1wiO1xuICB9XG5cbiAgQHJldHVybiAkYmFzZS1saW5lLWhlaWdodDtcbn1cbiIsIkBtaXhpbiB0eXBpKFxuICAkdGFyZ2V0LW1hcCxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMsXG4gICR0eXBpOiAkdHlwaSxcbiAgJHR5cGktbXM6ICR0eXBpLW1zLFxuICAkYmFzZTogZmFsc2UsXG4gICRyZW06IHRydWVcbikge1xuICAkdHlwaS1tYXA6IChcbiAgICB0YXJnZXQ6ICR0YXJnZXQtbWFwLFxuICAgIGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMsXG4gICAgdHlwaTogJHR5cGksXG4gICAgYmFzZTogJGJhc2UsXG4gICAgcmVtOiAkcmVtLFxuICAgIG1zOiAkdHlwaS1tc1xuICApO1xuXG4gICRicmVha3BvaW50cy10by1vdXRwdXQ6IF90eS1nZXQtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzLCAkdHlwaS1tcywgJHRhcmdldC1tYXApO1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMtdG8tb3V0cHV0IHtcbiAgICAkdGFyZ2V0OiAkdGFyZ2V0LW1hcDtcbiAgICAkdHlwaS1tYXA6IG1hcC1tZXJnZSgkdHlwaS1tYXAsIChicmVha3BvaW50OiAkYnJlYWtwb2ludCkpO1xuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuICAgICAgQGluY2x1ZGUgX3R5LXdyaXRlLXByb3BzKCR0eXBpLW1hcCk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgX3R5LWJyZWFrcG9pbnQoJHR5cGktbWFwKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIk1pc3NpbmcgI3skYnJlYWtwb2ludH0gaW4gJGJyZWFrcG9pbnRzIG1hcFwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBwcmV2aW91cyB2YWxpZCBicmVha3BvaW50XG4gICAgQGlmIG1hcC1oYXMta2V5KCR0YXJnZXQsICRicmVha3BvaW50KSB7XG4gICAgICAkdHlwaS1tYXA6IG1hcC1tZXJnZSgkdHlwaS1tYXAsIChsYXN0LXZhbGlkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50KSlcbiAgICB9XG5cbiAgICAvLyBBZGQgcHJldmlvdXMgdmFsaWQgbXNcbiAgICBAaWYgdHlwZS1vZigkdHlwaS1tcykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCR0eXBpLW1zLCAkYnJlYWtwb2ludCkgIHtcbiAgICAgICR0eXBpLW1hcDogbWFwLW1lcmdlKCR0eXBpLW1hcCwgKGxhc3QtdmFsaWQtbXM6ICRicmVha3BvaW50KSlcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHR5cGktYmFzZShcbiAgJHR5cGk6ICR0eXBpLFxuICAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cyxcbiAgJHR5cGktbXM6ICR0eXBpLW1zLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHJlbTogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIHR5cGkoXG4gICAgJHR5cGksXG4gICAgJGJyZWFrcG9pbnRzLFxuICAgICR0eXBpOiAkdHlwaSxcbiAgICAkdHlwaS1tczogJHR5cGktbXMsXG4gICAgJGJhc2U6ICRiYXNlLFxuICAgICRyZW06ICRyZW1cbiAgKTtcbn1cblxuLy8gVmVydGljYWwgcmh5dGhtIGZ1bmN0aW9uLiBQb3NzaWJsZSB0byBvdXRwdXQgYm90aCBFTSBhbmQgUkVNLlxuLy8gUmVxdWlyZXMgbGluZSBoZWlnaHQgdG8gYmUgc2V0IG9uICR0eXBpIG1hcCBmb3IgJ251bGwnIGJyZWFrcG9pbnRcbkBmdW5jdGlvbiB2cigkdnIsICRjdXJyZW50LWZvbnQ6IG51bGwsICR0eXBpOiAkdHlwaSkge1xuICAkYmFzZS1mb250OiBfdHktZ2V0LWJhc2UtZm9udCgkdHlwaSk7XG4gICRiYXNlLWxpbmUtaGVpZ2h0OiBfdHktZ2V0LWJhc2UtbGluZS1oZWlnaHQoJHR5cGkpO1xuICAkcmh5dGhtLWNvbnRleHQ6ICR2ciAqICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4gIC8vIENvbnZlcnRzIGludG8gRU0gaWYgJGN1cnJlbnQtZm9udCBpcyBwcm92aWRlZFxuICBAaWYgJGN1cnJlbnQtZm9udCB7XG4gICAgQGlmIHVuaXQoJGN1cnJlbnQtZm9udCkgPT0gXCJweFwiIHtcbiAgICAgICRyaHl0aG0tY29udGV4dDogJHJoeXRobS1jb250ZXh0ICogJGJhc2UtZm9udDtcblxuICAgICAgQHJldHVybiAkcmh5dGhtLWNvbnRleHQgLyAkY3VycmVudC1mb250ICogMWVtO1xuICAgIH1cblxuICAgIEBpZiB1bml0KCRjdXJyZW50LWZvbnQpID09IFwiZW1cIiB7XG4gICAgICBAcmV0dXJuICRyaHl0aG0tY29udGV4dCAvIF90eS1zdHJpcC11bml0KCRjdXJyZW50LWZvbnQpICogMWVtO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkZvbnQgc2l6ZXMgc2hvdWxkIGVpdGhlciBiZSBweCBvciBlbSBpZiAkY3VycmVudC1mb250IGlzIHByb3ZpZGVkXCI7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBpZiB1bml0KCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSAncHgnIHtcbiAgICAgIEByZXR1cm4gJHZyICogJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUgKiAxcmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkdnIgKiAkYmFzZS1saW5lLWhlaWdodCAqIDFyZW07XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgVmVydGljYWwgUmh5dGhtXG5AbWl4aW4gcnZyKCRwcm9wcywgJHZyLCAkdHlwaTogJHR5cGkpIHtcbiAgJGJhc2UtZm9udDogX3R5LWdldC1iYXNlLWZvbnQoJHR5cGkpO1xuICAkYmFzZS1saW5lLWhlaWdodDogX3R5LWdldC1iYXNlLWxpbmUtaGVpZ2h0KCR0eXBpKTtcbiAgJHVuaXQ6IHVuaXQoJGJhc2UtbGluZS1oZWlnaHQpO1xuXG4gIEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG4gICAgQGlmICR1bml0ID09ICdweCcge1xuICAgICAgI3skcHJvcH06ICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udCAqIDFyZW0gKiAkdnI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRwcm9wfTogJGJhc2UtbGluZS1oZWlnaHQgKiAxcmVtICogJHZyO1xuICAgIH1cbiAgICAjeyRwcm9wfTogY2FsYyh2YXIoLS1iYXNlbGluZSkgKiAjezFyZW0gKiAkdnJ9KTtcbiAgfVxufSIsIi5jYXJkIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZm9udC1oaWdobGlnaHQtaW52ZXJ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1pbnZlcnQ7XG4gIGNvbG9yOiAkY29sb3ItZm9udC1pbnZlcnQ7XG59IiwiIiwiI21hcCB7XG4gIG1hcmdpbjogNGVtIDAgMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NTBweDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFDQUEsT0FBTyxDQUFQLDJEQUFPO0FDQVA7Ozs7R0FJRztBa0NKSCw0RUFBNEU7QUFRNUUsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVztFQUN4QixvQkFBb0IsRUFBRSxJQUFLO0VBQzNCLHdCQUF3QixFQUFFLElBQUssR0FDaEM7O0FBTUQsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBRSxHQUNYOztBQVlELEFBQUEsT0FBTztBQUNQLEFBQUEsS0FBSztBQUNMLEFBQUEsT0FBTztBQUNQLEFBQUEsVUFBVTtBQUNWLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTTtBQUNOLEFBQUEsSUFBSTtBQUNKLEFBQUEsSUFBSTtBQUNKLEFBQUEsR0FBRztBQUNILEFBQUEsT0FBTztBQUNQLEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQU0sR0FDaEI7O0FBT0QsQUFBQSxLQUFLO0FBQ0wsQUFBQSxNQUFNO0FBQ04sQUFBQSxRQUFRO0FBQ1IsQUFBQSxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsWUFBYTtFQUN0QixjQUFjLEVBQUUsUUFBUyxHQUMxQjs7QUFPRCxBQUFvQixLQUFmLEFBQUEsSUFBSyxFQUFBLEFBQUEsQUFBUyxRQUFSLEFBQUEsR0FBVztFQUNwQixPQUFPLEVBQUUsSUFBSztFQUNkLE1BQU0sRUFBRSxDQUFFLEdBQ1g7O0NBT0QsQUFBQSxBQUFPLE1BQU4sQUFBQTtBQUNELEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUssR0FDZjs7QUFTRCxBQUFBLENBQUMsQ0FBQztFQUNBLGdCQUFnQixFQUFFLFdBQVksR0FDL0I7O0FBT0QsQUFBQSxDQUFDLEFBQ0UsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUUsR0FDWjs7QUFISCxBQUFBLENBQUMsQUFJRSxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsQ0FBRSxHQUNaOztBQVVILEFBQVUsSUFBTixDQUFBLEFBQUEsS0FBQyxBQUFBLEVBQU87RUFDVixhQUFhLEVBQUUsVUFBVyxHQUMzQjs7QUFNRCxBQUFBLENBQUM7QUFDRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFdBQVcsRUFBRSxJQUFLLEdBQ25COztBQU1ELEFBQUEsR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLE1BQU8sR0FDcEI7O0FBT0QsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsR0FBSTtFQUNmLE1BQU0sRUFBRSxRQUFTLEdBQ2xCOztBQU1ELEFBQUEsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLElBQUs7RUFDakIsS0FBSyxFQUFFLElBQUssR0FDYjs7QUFNRCxBQUFBLEtBQUssQ0FBQztFQUNKLFNBQVMsRUFBRSxHQUFJLEdBQ2hCOztBQU1ELEFBQUEsR0FBRztBQUNILEFBQUEsR0FBRyxDQUFDO0VBQ0YsU0FBUyxFQUFFLEdBQUk7RUFDZixXQUFXLEVBQUUsQ0FBRTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGNBQWMsRUFBRSxRQUFTLEdBQzFCOztBQUVELEFBQUEsR0FBRyxDQUFDO0VBQ0YsR0FBRyxFQUFFLE1BQU8sR0FDYjs7QUFFRCxBQUFBLEdBQUcsQ0FBQztFQUNGLE1BQU0sRUFBRSxPQUFRLEdBQ2pCOztBQVNELEFBQUEsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFNRCxBQUFhLEdBQVYsQUFBQSxJQUFLLENBQUEsQUFBQSxLQUFLLEVBQUU7RUFDYixRQUFRLEVBQUUsTUFBTyxHQUNsQjs7QUFTRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxRQUFTLEdBQ2xCOztBQU1ELEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVk7RUFDeEIsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFNRCxBQUFBLEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxJQUFLLEdBQ2hCOztBQU1ELEFBQUEsSUFBSTtBQUNKLEFBQUEsR0FBRztBQUNILEFBQUEsR0FBRztBQUNILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLG9CQUFxQjtFQUNsQyxTQUFTLEVBQUUsR0FBSSxHQUNoQjs7QUFpQkQsQUFBQSxNQUFNO0FBQ04sQUFBQSxLQUFLO0FBQ0wsQUFBQSxRQUFRO0FBQ1IsQUFBQSxNQUFNO0FBQ04sQUFBQSxRQUFRLENBQUM7RUFDUCxLQUFLLEVBQUUsT0FBUTtFQUNmLElBQUksRUFBRSxPQUFRO0VBQ2QsTUFBTSxFQUFFLENBQUUsR0FDWDs7QUFNRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFFBQVEsRUFBRSxPQUFRLEdBQ25COztBQVNELEFBQUEsTUFBTTtBQUNOLEFBQUEsTUFBTSxDQUFDO0VBQ0wsY0FBYyxFQUFFLElBQUssR0FDdEI7O0FBVUQsQUFBQSxNQUFNO0FBQ04sQUFBd0IsSUFBcEIsQ0FBQyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0FBQ1gsQUFBa0IsS0FBYixDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtBQUNOLEFBQW1CLEtBQWQsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNuQixrQkFBa0IsRUFBRSxNQUFPO0VBQzNCLE1BQU0sRUFBRSxPQUFRLEdBQ2pCOztBQU1ELEFBQWUsTUFBVCxDQUFBLEFBQUEsUUFBQyxBQUFBO0FBQ1AsQUFBbUIsSUFBZixDQUFDLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQ25CLE1BQU0sRUFBRSxPQUFRLEdBQ2pCOztBQU1ELEFBQU0sTUFBQSxBQUFBLGtCQUFrQjtBQUN4QixBQUFLLEtBQUEsQUFBQSxrQkFBa0IsQ0FBQztFQUN0QixNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxDQUFFLEdBQ1o7O0FBT0QsQUFBQSxLQUFLLENBQUM7RUFDSixXQUFXLEVBQUUsTUFBTyxHQUNyQjs7QUFVRCxBQUFxQixLQUFoQixDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZjtBQUNOLEFBQWtCLEtBQWIsQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYztFQUNsQixVQUFVLEVBQUUsVUFBVztFQUN2QixPQUFPLEVBQUUsQ0FBRSxHQUNaOztBQVFELEFBQW9CLEtBQWYsQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYywyQkFBMkI7QUFDL0MsQUFBb0IsS0FBZixDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDJCQUEyQixDQUFDO0VBQzlDLE1BQU0sRUFBRSxJQUFLLEdBQ2Q7O0FBT0QsQUFBbUIsS0FBZCxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ25CLGtCQUFrQixFQUFFLFNBQVU7RUFDOUIsVUFBVSxFQUFFLFdBQVksR0FDekI7O0FBUUQsQUFBb0IsS0FBZixDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQUFjLDhCQUE4QjtBQUNsRCxBQUFvQixLQUFmLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsMkJBQTJCLENBQUM7RUFDOUMsa0JBQWtCLEVBQUUsSUFBSyxHQUMxQjs7QUFNRCxBQUFBLFFBQVEsQ0FBQztFQUNQLE1BQU0sRUFBRSxpQkFBa0I7RUFDMUIsTUFBTSxFQUFFLEtBQU07RUFDZCxPQUFPLEVBQUUscUJBQXNCLEdBQ2hDOztBQU9ELEFBQUEsTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLENBQUU7RUFDVixPQUFPLEVBQUUsQ0FBRSxHQUNaOztBQU1ELEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLElBQUssR0FDaEI7O0FBT0QsQUFBQSxRQUFRLENBQUM7RUFDUCxXQUFXLEVBQUUsSUFBSyxHQUNuQjs7QUFTRCxBQUFBLEtBQUssQ0FBQztFQUNKLGVBQWUsRUFBRSxRQUFTO0VBQzFCLGNBQWMsRUFBRSxDQUFFLEdBQ25COztBQUVELEFBQUEsRUFBRTtBQUNGLEFBQUEsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLENBQUUsR0FDWjs7QUNwYUQsTUFBTSxDQUFOLEtBQUs7RUFDSCxBQUFBLENBQUM7RUFDRCxBQUFDLENBQUEsQUFBQSxRQUFRO0VBQ1QsQUFBQyxDQUFBLEFBQUEsT0FBTyxDQUFDO0lBQ1AsV0FBVyxFQUFFLGVBQWdCO0lBQzdCLFVBQVUsRUFBRSxlQUFnQixHQUM3QjtFQUVELEFBQUEsQ0FBQztFQUNELEFBQUMsQ0FBQSxBQUFBLFFBQVEsQ0FBQztJQUNSLGVBQWUsRUFBRSxTQUFVLEdBQzVCO0VBRUQsQUFBVyxJQUFQLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxPQUFPLENBQUM7SUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFJLENBQVEsR0FBRyxHQUM5QjtFQUVELEFBQUEsR0FBRztFQUNILEFBQUEsVUFBVSxDQUFDO0lBQ1QsTUFBTSxFbENzRG1CLEdBQUcsQ2tDdEROLEtBQUssQ0FBQyxJQUFJO0lBQ2hDLGlCQUFpQixFQUFFLEtBQU0sR0FDMUI7RUFFRCxBQUFBLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxrQkFBbUIsR0FDN0I7RUFFRCxBQUFBLEVBQUU7RUFDRixBQUFBLEdBQUcsQ0FBQztJQUNGLGlCQUFpQixFQUFFLEtBQU0sR0FDMUI7RUFFRCxBQUFBLEdBQUcsQ0FBQztJQUNGLFNBQVMsRUFBRSxlQUFnQixHQUM1QjtFQUVELEFBQUEsQ0FBQztFQUNELEFBQUEsRUFBRTtFQUNGLEFBQUEsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUU7SUFDWCxNQUFNLEVBQUUsQ0FBRSxHQUNYO0VBRUQsQUFBQSxFQUFFO0VBQ0YsQUFBQSxFQUFFLENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxLQUFNLEdBQ3pCO0VBS0QsQUFBQSxPQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSyxHQUNmO0VBQ0QsQUFFSSxJQUZBLEdBRUEsTUFBTTtFQURWLEFBQ0ksT0FERyxHQUFHLElBQUksR0FDVixNQUFNLENBQUM7SUFDUCxnQkFBZ0IsRUFBRSxlQUFnQixHQUNuQztFQUVILEFBQUEsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFbENZbUIsR0FBRyxDa0NaTixLQUFLLENBQUMsSUFBSSxHQUNqQztFQUVELEFBQUEsTUFBTSxDQUFDO0lBQ0wsZUFBZSxFQUFFLG1CQUFvQixHQU10QztJQVBELEFBR0UsTUFISSxDQUdKLEVBQUU7SUFISixBQUlFLE1BSkksQ0FJSixFQUFFLENBQUM7TUFDRCxnQkFBZ0IsRUFBRSxlQUFnQixHQUNuQztFQUVILEFBQ0UsZUFEYSxDQUNiLEVBQUU7RUFESixBQUVFLGVBRmEsQ0FFYixFQUFFLENBQUM7SUFDRCxNQUFNLEVBQUUseUJBQTBCLEdBQ25DOztBQ2hFTCxBQUFBLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxVQUFXLEdBQ3hCOztBQUVELEFBQUEsQ0FBQztBQUNELEFBQUMsQ0FBQSxBQUFBLFFBQVE7QUFDVCxBQUFDLENBQUEsQUFBQSxPQUFPLENBQUM7RUFDUCxVQUFVLEVBQUUsT0FBUSxHQUNyQjs7QUFzQkMsY0FBYztFQUFRLEtBQUssRUFBRSxZQUFhOztBQUMxQyxhQUFhO0VBQVMsS0FBSyxFQUFFLFlBQWE7O0FBQzFDLFlBQVk7RUFBVSxLQUFLLEVBQUUsWUFBYTs7QUFDMUMsaUJBQWlCO0VBQUssS0FBSyxFQUFFLFlBQWE7O0FBQzFDLFNBQVM7RUFBYSxLQUFLLEVBQUUsWUFBYTs7QUFRNUMsQUFBQSxJQUFJLENBQUM7RUFFSCxTQUFTLEVuQ3VGa0IsSUFBSTtFbUNyRi9CLDJCQUEyQixFQUFFLFdBQUksR0FDbEM7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFFSCxXQUFXLEVuQzBFZ0IsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVO0VtQ3pFekUsU0FBUyxFbkNpRmtCLElBQUk7RW1DaEYvQixXQUFXLEVuQ3NHZ0IsR0FBRztFbUNwRzlCLEtBQUssRW5DOUNxQixPQUFPO0VtQ2dEakMsZ0JBQWdCLEVuQ1dXLElBQUksR21DVmhDOztDQU9ELEFBQUEsQUFBZSxRQUFkLENBQVMsSUFBSSxBQUFiLENBQWMsTUFBTSxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxlQUFnQixHQUMxQjs7QUFXRCxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsQ0FBQztFQUNyQixVQUFVLEVBQUUsQ0FBRTtFQUNkLGFBQWEsRUFBRSxLQUFNLEdBQ3RCOztBQU1ELEFBQUEsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVBQUUsSUFBSyxHQUNyQjs7QUFHRCxBQUFVLElBQU4sQ0FBQSxBQUFBLEtBQUMsQUFBQTtBQUVMLEFBQXdCLElBQXBCLENBQUEsQUFBQSxtQkFBQyxBQUFBLEVBQXFCO0VBQ3hCLE1BQU0sRUFBRSxJQUFLO0VBQ2IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENuQ3RGQyxPQUFPLEdtQ3VGbEM7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixhQUFhLEVBQUUsSUFBSztFQUNwQixVQUFVLEVBQUUsTUFBTztFQUNuQixXQUFXLEVBQUUsT0FBUSxHQUN0Qjs7QUFFRCxBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxDQUFFO0VBQ2QsYUFBYSxFQUFFLElBQUssR0FDckI7O0FBRUQsQUFBRyxFQUFELENBQUMsRUFBRTtBQUNMLEFBQUcsRUFBRCxDQUFDLEVBQUU7QUFDTCxBQUFHLEVBQUQsQ0FBQyxFQUFFO0FBQ0wsQUFBRyxFQUFELENBQUMsRUFBRSxDQUFDO0VBQ0osYUFBYSxFQUFFLENBQUUsR0FDbEI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxXQUFXLEVuQ3dEaUIsSUFBSSxHbUN2RGpDOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLEtBQU07RUFDckIsV0FBVyxFQUFFLENBQUUsR0FDaEI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCxNQUFNLEVBQUUsUUFBUyxHQUNsQjs7QUFPRCxBQUFBLENBQUMsQ0FBQztFQUNBLEtBQUssRXJDeEp1QixTQUFTO0VxQ3lKckMsZUFBZSxFbkMvRFksSUFBSSxHbUN5RWhDO0VBWkQsQUFBQSxDQUFDLEFoQzFJSSxNQUFNLEVnQzBJWCxBQUFBLENBQUMsQWhDeklJLE1BQU0sQ0FBQztJZ0M4SVIsS0FBSyxFbkNqRW9CLE9BQU07SW1Da0UvQixlQUFlLEVuQ2pFVSxTQUFTLEdHNUVqQztFZ0N1SUwsQUFBQSxDQUFDLEFBU0UsTUFBTSxDQUFDO0l6QmxLUixPQUFPLEVBQUUsV0FBWTtJQUVyQixPQUFPLEVBQUUsaUNBQWtDO0lBQzNDLGNBQWMsRUFBRSxJQUFLLEd5QmlLcEI7O0FBUUgsQUFBQSxHQUFHLENBQUM7RUFFRixVQUFVLEVBQUUsQ0FBRTtFQUVkLGFBQWEsRUFBRSxJQUFLLEdBQ3JCOztBQU9ELEFBQUEsTUFBTSxDQUFDO0VBR0wsTUFBTSxFQUFFLFFBQVMsR0FDbEI7O0FBT0QsQUFBQSxHQUFHLENBQUM7RUFHRixjQUFjLEVBQUUsTUFBTyxHQUd4Qjs7Q0FTRCxBQUFBLEFBQWMsSUFBYixDQUFLLFFBQVEsQUFBYixFQUFlO0VBQ2QsTUFBTSxFQUFFLE9BQVEsR0FDakI7O0FBYUQsQUFBQSxDQUFDO0FBQ0QsQUFBQSxJQUFJO0FBQ0osQUFBQSxNQUFNO0NBQ04sQUFBQSxBQUFjLElBQWIsQ0FBSyxRQUFRLEFBQWI7QUFDRCxBQUFBLEtBQUs7QUFDTCxBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLE9BQU87QUFDUCxBQUFBLFFBQVEsQ0FBQztFQUNQLFlBQVksRUFBRSxZQUFhLEdBQzVCOztBQU9ELEFBQUEsS0FBSyxDQUFDO0VBRUosZ0JBQWdCLEVuQ3BCYyxXQUFXLEdtQ3FCMUM7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDTixXQUFXLEVuQzNCbUIsT0FBTTtFbUM0QnBDLGNBQWMsRW5DNUJnQixPQUFNO0VtQzZCcEMsS0FBSyxFbkNoT3FCLE9BQU87RW1DaU9qQyxVQUFVLEVBQUUsSUFBSztFQUNqQixZQUFZLEVBQUUsTUFBTyxHQUN0Qjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUVELFVBQVUsRUFBRSxJQUFLLEdBQ2xCOztBQU9ELEFBQUEsS0FBSyxDQUFDO0VBRUosT0FBTyxFQUFFLFlBQWE7RUFDdEIsYUFBYSxFQUFFLEtBQU0sR0FDdEI7O0FBTUQsQUFBTSxNQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ1gsT0FBTyxFQUFFLFVBQVc7RUFDcEIsT0FBTyxFQUFFLGlDQUFrQyxHQUM1Qzs7QUFFRCxBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLFFBQVEsQ0FBQztFQUVQLE1BQU0sRUFBRSxDQUFFO0VBSVYsV0FBVyxFQUFFLE9BQVE7RUFFckIsYUFBYSxFQUFFLENBQUUsR0FDbEI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFFUCxNQUFNLEVBQUUsUUFBUyxHQUNsQjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUlQLFNBQVMsRUFBRSxDQUFFO0VBRWIsT0FBTyxFQUFFLENBQUU7RUFDWCxNQUFNLEVBQUUsQ0FBRTtFQUNWLE1BQU0sRUFBRSxDQUFFLEdBQ1g7O0FBRUQsQUFBQSxNQUFNLENBQUM7RUFFTCxPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBRSxJQUFLO0VBQ1osT0FBTyxFQUFFLENBQUU7RUFDWCxhQUFhLEVBQUUsS0FBTTtFQUNyQixTQUFTLEVBQUUsTUFBTztFQUNsQixXQUFXLEVBQUUsT0FBUSxHQUV0Qjs7QUFFRCxBQUFtQixLQUFkLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQWU7RUFFbkIsVUFBVSxFQUFFLE9BQVE7RUFLcEIsa0JBQWtCLEVBQUUsSUFBSyxHQUMxQjs7QUFHRCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxZQUFhLEdBSXZCOztDQUdELEFBQUEsQUFBTyxNQUFOLEFBQUEsRUFBUTtFQUNQLE9BQU8sRUFBRSxlQUFnQixHQUMxQjs7QUN0VkQsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFO0FBQ3RCLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxFQUFFLEFBQUEsR0FBRyxDQUFDO0VBQzNCLGFBQWEsRXBDMEtlLE1BQU87RW9DektuQyxXQUFXLEVwQzBLZ0IsT0FBTztFb0N6S2xDLFdBQVcsRXBDMEtnQixHQUFHO0VvQ3pLOUIsV0FBVyxFcEMwS2dCLEdBQUc7RW9Deks5QixLQUFLLEVwQzBLc0IsT0FBTyxHb0N6S25DOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsTUFBTSxHb0NoSkY7O0FBQ2pDLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsSUFBSSxHb0NoSkE7O0FBQ2pDLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsT0FBTyxHb0NoSkg7O0FBQ2pDLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsTUFBTSxHb0NoSkY7O0FBQ2pDLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsT0FBTyxHb0NoSkg7O0FBQ2pDLEFBQUEsRUFBRSxDQUFDO0VBQUUsU0FBUyxFcENnSmUsSUFBSSxHb0NoSkE7O0FBS2pDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsTUFBTSxHb0N0SUQ7O0FBQ2xDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsSUFBSSxHb0N0SUM7O0FBQ2xDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsT0FBTyxHb0N0SUY7O0FBQ2xDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsTUFBTSxHb0N0SUQ7O0FBQ2xDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsT0FBTyxHb0N0SUY7O0FBQ2xDLEFBQUEsR0FBRyxDQUFDO0VBQUUsU0FBUyxFcENzSWMsSUFBSSxHb0N0SUM7O0FBRWxDLEFBQUEsS0FBSyxDQUFDO0VBQ0osU0FBUyxFcEN1SmtCLE9BQU87RW9DdEpsQyxXQUFXLEVwQ3VKZ0IsR0FBRyxHb0N0Si9COztBQUdELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFcEMrSG1CLElBQUk7RW9DOUhoQyxXQUFXLEVwQ21JaUIsR0FBRyxHb0NsSWhDOztBQUNELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFcEM0SG1CLE1BQU07RW9DM0hsQyxXQUFXLEVwQ2dJaUIsR0FBRyxHb0MvSGhDOztBQUNELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFcEN5SG1CLE1BQU07RW9DeEhsQyxXQUFXLEVwQzZIaUIsR0FBRyxHb0M1SGhDOztBQUNELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFcENzSG1CLE1BQU07RW9DckhsQyxXQUFXLEVwQzBIaUIsR0FBRyxHb0N6SGhDOztBQU9ELEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFcENBaUIsSUFBSTtFb0NDL0IsYUFBYSxFcENEYyxJQUFJO0VvQ0UvQixNQUFNLEVBQUUsQ0FBRTtFQUNWLFVBQVUsRXBDa0JpQixHQUFHLENvQ2xCRCxLQUFLLENwQ21JTixrQkFBSSxHb0NsSWpDOztBQU9ELEFBQUEsS0FBSztBQUNMLEFBQUEsTUFBTSxDQUFDO0VBQ0wsU0FBUyxFQUFFLEdBQUk7RUFDZixXQUFXLEVBQUUsTUFBTyxHQUNyQjs7QUFFRCxBQUFBLElBQUk7QUFDSixBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFLO0VBQ2QsZ0JBQWdCLEVwQ3FZZSxPQUFPLEdvQ3BZdkM7O0FBT0QsQUFBQSxjQUFjLENBQUM7RWpCbkZiLFlBQVksRUFBRSxDQUFFO0VBQ2hCLFVBQVUsRUFBRSxJQUFLLEdpQm9GbEI7O0FBR0QsQUFBQSxZQUFZLENBQUM7RWpCeEZYLFlBQVksRUFBRSxDQUFFO0VBQ2hCLFVBQVUsRUFBRSxJQUFLLEdpQnlGbEI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsWUFBYSxHQUt2QjtFQU5ELEFBQUEsaUJBQWlCLEFBR2QsSUFBSyxDQUFBLEFBQUEsV0FBVyxFQUFFO0lBQ2pCLFlBQVksRXBDcUdjLEdBQUcsR29DcEc5Qjs7QUFJSCxBQUFBLGNBQWMsQ0FBQztFQUNiLFlBQVksRXBDZ0NlLFNBQVE7RW9DL0JuQyxXQUFXLEVwQytCZ0IsU0FBUSxHb0M3QnBDO0VBSkQsQUFBQSxjQUFjLEFSdkdYLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVBQUUsSUFBSyxHQUNiOztBUStHSCxBQUFBLFdBQVcsQ0FBQztFQUNWLFNBQVMsRUFBRSxHQUFJO0VBQ2YsY0FBYyxFQUFFLFNBQVUsR0FDM0I7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDVixPQUFPLEVBQUcsTUFBTyxDcENoRVUsSUFBSTtFb0NpRS9CLGFBQWEsRXBDakVjLElBQUk7RW9Da0UvQixTQUFTLEVwQ2lFb0IsT0FBZTtFb0NoRTVDLFdBQVcsRUFBRSxPQUFNLENBQUMsS0FBSyxDcEMvRkMsT0FBTyxHb0NnR2xDOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLEtBQU07RUFDZixTQUFTLEVBQUUsR0FBSTtFQUNmLFdBQVcsRXBDMENnQixHQUFHO0VvQ3pDOUIsS0FBSyxFcEN2R3FCLE9BQU8sR29DNEdsQztFQVRELEFBQUEsa0JBQWtCLEFBTWYsUUFBUSxDQUFDO0lBQ1IsT0FBTyxFQUFFLGFBQWMsR0FDeEI7O0FBSUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixhQUFhLEVwQ25GYyxJQUFJO0VvQ29GL0IsWUFBWSxFQUFFLENBQUU7RUFDaEIsVUFBVSxFQUFFLEtBQU07RUFDbEIsWUFBWSxFQUFFLE9BQU0sQ0FBQyxLQUFLLENwQ2xIQSxPQUFPO0VvQ21IakMsV0FBVyxFQUFFLENBQUUsR0FDaEI7O0FBRUQsQUFBb0IsbUJBQUQsQ0FBQyxrQkFBa0IsQUFDbkMsUUFBUSxDQUFDO0VBQ1IsT0FBTyxFQUFFLEVBQUcsR0FDYjs7QUFISCxBQUFvQixtQkFBRCxDQUFDLGtCQUFrQixBQUluQyxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsYUFBYyxHQUN4Qjs7QUNwSkgsQUFBQSxVQUFVLEU0QkZWLEE1QkVBLGU0QkZlLEdBS1gsY0FBYyxHQU1aLEdBQUc7QUFYVCxBNUJFQSxlNEJGZSxHQUtYLGNBQWMsR0FPWixDQUFDLEdBQUcsR0FBRyxDNUJWRjtFakNHVCxPQUFPLEVBRGtCLEtBQUs7RUFFOUIsU0FBUyxFQUFFLElBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUssR2lDSGQ7O0FBR0QsQUFBQSxZQUFZLENBQUM7RVhSVCxhQUFhLEUxQitNUSxNQUFLLEdxQ3JNN0I7O0FBR0QsQUFBQSxjQUFjLENBQUM7RUFDYixPQUFPLEVyQ29sQnFCLE9BQU07RXFDbmxCbEMsV0FBVyxFckMySmdCLEdBQUc7RXFDMUo5QixnQkFBZ0IsRXJDbUVXLElBQUk7RXFDbEUvQixNQUFNLEVyQzJEcUIsR0FBRyxDcUMzREUsS0FBSyxDckNvbEJULElBQUk7RXFDbmxCaEMsYUFBYSxFckM0TFUsT0FBTTtFcUMzTDdCLFVBQVUsRUFBRSxtQkFBb0I7RWpDYmhDLE9BQU8sRWlDaUJZLFlBQVk7RWpDaEIvQixTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsSUFBSyxHaUNnQmQ7O0FBR0QsQUFBQSxXQUFXLENBQUM7RUFDVixhQUFhLEVBQUUsR0FBSSxHQUNwQjs7QUFNRCxBQUFBLE9BQU8sQ0FBQztFQUVOLE9BQU8sRUFBRSxZQUFhLEdBQ3ZCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsYUFBYSxFQUFHLE1BQVM7RUFDekIsV0FBVyxFQUFFLENBQUUsR0FDaEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxTQUFTLEVBQUUsR0FBSTtFQUNmLEtBQUssRXJDckJxQixPQUFPLEdxQ3NCbEM7O0FDbkRELEFBQUEsSUFBSTtBQUNKLEFBQUEsR0FBRztBQUNILEFBQUEsR0FBRztBQUNILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFdEM2SWdCLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxTQUFTLEdzQzVJN0U7O0FBR0QsQUFBQSxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsV0FBWTtFQUNyQixTQUFTLEVBQUUsR0FBSTtFQUNmLEtBQUssRXRDb29CdUIsT0FBTztFc0Nub0JuQyxnQkFBZ0IsRXRDb29CWSxPQUFPO0UwQjdvQmpDLGFBQWEsRTFCOE1RLE9BQU0sR3NDbk05Qjs7QUFHRCxBQUFBLEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxXQUFZO0VBQ3JCLFNBQVMsRUFBRSxHQUFJO0VBQ2YsS0FBSyxFdEM4bkJ1QixJQUFJO0VzQzduQmhDLGdCQUFnQixFdEM4bkJZLElBQUk7RTBCaHBCOUIsYUFBYSxFMUJnTlEsTUFBSyxHc0NwTDdCO0VBZEQsQUFRRSxHQVJDLENBUUQsR0FBRyxDQUFDO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSztJQUNoQixXQUFXLEV0Q3lLZSxJQUFJLEdzQ3ZLL0I7O0FBSUgsQUFBQSxHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBTTtFQUNmLFVBQVUsRUFBRSxDQUFFO0VBQ2QsYUFBYSxFQUFFLElBQUs7RUFDcEIsU0FBUyxFQUFFLEdBQUk7RUFDZixXQUFXLEV0Q3NJZ0IsR0FBRztFc0NySTlCLEtBQUssRXRDYnFCLE9BQU8sR3NDdUJsQztFQWhCRCxBQVNFLEdBVEMsQ0FTRCxJQUFJLENBQUM7SUFDSCxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxPQUFRO0lBQ25CLEtBQUssRUFBRSxPQUFRO0lBQ2YsZ0JBQWdCLEVBQUUsV0FBWTtJQUM5QixhQUFhLEVBQUUsQ0FBRSxHQUNsQjs7QUFJSCxBQUFBLGVBQWUsQ0FBQztFQUNkLFVBQVUsRXRDa21Ca0IsS0FBSztFc0NqbUJqQyxVQUFVLEVBQUUsTUFBTyxHQUNwQjs7QUNyREQsQUFBQSxVQUFVLENBQUM7RVJDVCxXQUFXLEVBQUUsSUFBSztFQUNsQixZQUFZLEVBQUUsSUFBSztFQUNuQixZQUFZLEVBQUksU0FBTztFQUN2QixhQUFhLEVBQUcsU0FBTyxHUUF4QjtFQUpELEFBQUEsVUFBVSxBWEhQLE9BQU8sQ0FBQztJQUNQLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVBQUUsSUFBSyxHQUNiO0UxQndDQyxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SXFDekNyQixBQUFBLFVBQVUsQ0FBQztNUmVMLFNBQVMsRS9CMEdULEtBQUssR3VDckhWO0VyQ3FDRyxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SXFDekNyQixBQUFBLFVBQVUsQ0FBQztNUmVMLFNBQVMsRS9CMkdULEtBQUssR3VDdEhWO0VyQ3FDRyxNQUFNLEVBQUwsU0FBUyxFQUFFLEtBQUs7SXFDekNyQixBQUFBLFVBQVUsQ0FBQztNUmVMLFNBQVMsRS9CNEdULEtBQUssR3VDdkhWO0VyQ3FDRyxNQUFNLEVBQUwsU0FBUyxFQUFFLE1BQU07SXFDekN0QixBQUFBLFVBQVUsQ0FBQztNUmVMLFNBQVMsRS9CNkdULE1BQU0sR3VDeEhYOztBQVFELEFBQUEsZ0JBQWdCLENBQUM7RVJYZixXQUFXLEVBQUUsSUFBSztFQUNsQixZQUFZLEVBQUUsSUFBSztFQUNuQixZQUFZLEVBQUksU0FBTztFQUN2QixhQUFhLEVBQUcsU0FBTyxHUVV4QjtFQUZELEFBQUEsZ0JBQWdCLEFYZmIsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLEtBQUssRUFBRSxJQUFLLEdBQ2I7O0FXcUJELEFBQUEsSUFBSSxDQUFDO0VSS0wsV0FBVyxFQUFJLFVBQU87RUFDdEIsWUFBWSxFQUFHLFVBQU8sR1FKckI7RUFGRCxBQUFBLElBQUksQVh6QkgsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTTtJQUNmLEtBQUssRUFBRSxJQUFLLEdBQ2I7O0FFWUcsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixTQVVhLEVBQVQsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLEVBQVYsQUFWSixVQVVjLENBVkQ7RUFDWCxRQUFRLEVBQUUsUUFBUztFQUVuQixVQUFVLEVBQUUsR0FBSTtFQUVoQixZQUFZLEVBQUcsU0FBTztFQUN0QixhQUFhLEVBQUcsU0FBTyxHQUN4Qjs7QUFhSyxBQUpGLFNBSVcsRUFBVCxBQUpGLFNBSVcsRUFBVCxBQUpGLFNBSVcs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bkIzUFYsYUFBYSxDQUFDO0VBQ1osWUFBWSxFdEJjWSxPQUFPLEdzQk5oQzs7QW1Ca1BILEFuQi9PRSxZbUIrT1UsQ25CL09WLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRXRCRW1CLE9BQU87RXNCRC9CLFlBQVksRXRCQ1ksT0FBTztFc0JBL0IsZ0JBQWdCLEVBQUUsT0FBTyxHQUMxQjs7QW1CMk9ILEFuQnpPRSxZbUJ5T1UsQ25Cek9WLHNCQUFzQixDQUFDO0VBQ3JCLEtBQUssRXRCSm1CLE9BQU8sR3NCS2hDOztBbUJ1T0gsQUFHRSxZQUhVLENBR1YscUJBQXFCLENBQUM7RUFDcEIsZ0JBQWdCLEVBQUUscWJBQUcsR0FDdEI7O0FBR0gsQW5CaFJFLFltQmdSVSxDbkJoUlYsVUFBVTtBbUJnUlosQW5CL1FFLFltQitRVSxDbkIvUVYsbUJBQW1CO0FtQitRckIsQW5COVFFLFltQjhRVSxDbkI5UVYsTUFBTTtBbUI4UVIsQW5CN1FFLFltQjZRVSxDbkI3UVYsU0FBUztBbUI2UVgsQW5CNVFFLFltQjRRVSxDbkI1UVYsYUFBYTtBbUI0UWYsQW5CM1FFLFltQjJRVSxDbkIzUVYsZ0JBQWdCO0FtQjJRbEIsQW5CMVFVLFltQjBRRSxBbkIxUVQsTUFBTSxDQUFDLEtBQUs7QW1CMFFmLEFuQnpRYSxZbUJ5UUQsQW5CelFULFNBQVMsQ0FBQyxLQUFLO0FtQnlRbEIsQW5CeFFpQixZbUJ3UUwsQW5CeFFULGFBQWEsQ0FBQyxLQUFLO0FtQndRdEIsQW5CdlFvQixZbUJ1UVIsQW5CdlFULGdCQUFnQixDQUFDLEtBQUssQ0FBRTtFQUN2QixLQUFLLEV0Qm9CbUIsT0FBTyxHc0JuQmhDOztBbUJxUUgsQW5CblFFLFltQm1RVSxDbkJuUVYsYUFBYSxDQUFDO0VBQ1osWUFBWSxFdEJnQlksT0FBTyxHc0JSaEM7O0FtQjBQSCxBbkJ2UEUsWW1CdVBVLENuQnZQVixrQkFBa0IsQ0FBQztFQUNqQixLQUFLLEV0QkltQixPQUFPO0VzQkgvQixZQUFZLEV0QkdZLE9BQU87RXNCRi9CLGdCQUFnQixFQUFFLEtBQU8sR0FDMUI7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Qjs7QUFHSCxBQUFBLFFBQVEsQ0FBQztFQUNQLFdBQVcsRUNwRmlCLE1BQU0sRUFBRSxVQUFVO0VEcUY5QyxTQUFTLEVBQUUsSUFBSyxHQWNqQjtFQWhCRCxBQUlFLFFBSk0sQ0FJTixDQUFDLENBQUM7SUFDQSxhQUFhLEVBQUUsQ0FBRSxHQUNsQjtFQU5ILEFBUUUsUUFSTSxDQVFOLEVBQUUsQ0FBQztJQUNELFFBQVEsRUFBRSxRQUFTO0lBQ25CLE1BQU0sRUFBRSxDQUFFLEdBS1g7SUFIQyxNQUFNLEVBQUwsU0FBUyxFQUFFLElBQUk7TUFacEIsQUFRRSxRQVJNLENBUU4sRUFBRSxDQUFDO1FBS0MsUUFBUSxFQUFFLFFBQVMsR0FFdEI7O0FBR0gsQUFBQSxRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsR0FBSSxHQUNqQjs7QUFFRCxBQUNFLGFBRFcsQ0FDWCxLQUFLLENBQUM7RUFDSixXQUFXLEVBQUUsSUFBSyxHQUNuQjs7QUFISCxBQUtFLGFBTFcsQ0FLWCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBSSxHQUloQjtFQVZILEFBS0UsYUFMVyxDQUtYLEtBQUssQUFFRixPQUFPLENBQUM7SUFDUCxPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUFUTCxBQVlFLGFBWlcsQ0FZWCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsR0FBSSxHQUNoQjs7QUFkSCxBQWdCRSxhQWhCVyxDQWdCWCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsR0FBSSxHQUNoQjs7QUFsQkgsQUFvQkUsYUFwQlcsQ0FvQlgsS0FBSyxBQUNGLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxlQUFnQixHQUMxQjs7QUFJTCxBQUFBLE9BQU8sQ0FBQztFQUNOLFVBQVUsRUN6SWtCLE9BQU87RUQwSW5DLEtBQUssRUM1SXVCLE9BQU87RUQ2SW5DLFVBQVUsRUFBRSxHQUFJO0VBQ2hCLE9BQU8sRUFBRSxPQUFRLEdBQ2xCOztBQUVELEFBQUEsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFQzVJaUIsTUFBTSxFQUFFLFVBQVU7RUQ2STlDLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLGFBQWEsRUFBRSxJQUFLLEdBU3JCO0VBWkQsQUFLRSxNQUxJLENBS0osQ0FBQyxDQUFDO0lBQ0EsYUFBYSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENDcEpELFNBQVMsR0R5SnBDO0lBWEgsQUFLRSxNQUxJLENBS0osQ0FBQyxBQUdFLE1BQU0sQ0FBQztNQUNOLGVBQWUsRUFBRSxJQUFLLEdBQ3ZCOztBQUlMLEFBQUEsVUFBVSxDQUFDO0VBQ1QsS0FBSyxFQzdKdUIsU0FBUyxHRGtLdEM7RUFORCxBQUdFLFVBSFEsQ0FHUixDQUFDLENBQUM7SUFDQSxLQUFLLEVDaEtxQixTQUFTLEdEaUtwQzs7QUFHSCxBQUFBLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxHQUFJLEdBQ2pCIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
