/*!
 * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
@import url("https://fonts.googleapis.com/css?family=Cabin:400,400i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i");
html { font-family: sans-serif; line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

body { margin: 0; }

article, aside, footer, header, nav, section { display: block; }

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

figcaption, figure, main { display: block; }

figure { margin: 1em 40px; }

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

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

a { background-color: transparent; -webkit-text-decoration-skip: objects; }

a:active, a:hover { outline-width: 0; }

abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }

b, strong { font-weight: inherit; }

b, strong { font-weight: bolder; }

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

dfn { font-style: italic; }

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

small { font-size: 80%; }

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

sub { bottom: -0.25em; }

sup { top: -0.5em; }

audio, video { display: inline-block; }

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

img { border-style: none; }

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

button, input, optgroup, select, textarea { font-family: sans-serif; font-size: 100%; line-height: 1.15; margin: 0; }

button, input { overflow: visible; }

button, select { text-transform: none; }

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

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

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

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

legend { -webkit-box-sizing: border-box; box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }

progress { display: inline-block; vertical-align: baseline; }

textarea { overflow: auto; }

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

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

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

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

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

details, menu { display: block; }

summary { display: list-item; }

canvas { display: inline-block; }

template { display: none; }

[hidden] { display: none; }

@media print { *, *::before, *::after, p::first-letter, div::first-letter, blockquote::first-letter, li::first-letter, p::first-line, div::first-line, blockquote::first-line, li::first-line { text-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; }
  a, a:visited { text-decoration: underline; }
  abbr[title]::after { content: " (" attr(title) ")"; }
  pre { white-space: pre-wrap !important; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .navbar { display: none; }
  .badge { 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 { -webkit-box-sizing: border-box; box-sizing: border-box; }

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

@-ms-viewport { width: device-width; }
html { -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

body { font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 1rem; font-weight: normal; line-height: 1.5; color: #292b2c; 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; }

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: #0275d8; text-decoration: none; }
a:focus, a:hover { color: #014c8c; text-decoration: underline; }

a:not([href]):not([tabindex]) { color: inherit; text-decoration: none; }
a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { color: inherit; text-decoration: none; }
a:not([href]):not([tabindex]):focus { outline: 0; }

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

figure { margin: 0 0 1rem; }

img { vertical-align: middle; }

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

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

table { border-collapse: collapse; background-color: transparent; }

caption { padding-top: 0.75rem; padding-bottom: 0.75rem; color: #636c72; 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 { line-height: inherit; }

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

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { -webkit-appearance: listbox; }

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"] { -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, .h1 { font-size: 2.5rem; }

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

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

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

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

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

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

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

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

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

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

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: 0.2em; background-color: #fcf8e3; }

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

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

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

.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%; color: #636c72; }
.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 { max-width: 100%; height: auto; }

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

.figure { display: inline-block; }

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

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

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

code { padding: 0.2rem 0.4rem; font-size: 90%; color: #bd4147; background-color: #f7f7f9; border-radius: 0.25rem; }
a > code { padding: 0; color: inherit; background-color: inherit; }

kbd { padding: 0.2rem 0.4rem; font-size: 90%; color: #fff; background-color: #292b2c; 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%; color: #292b2c; }
pre code { padding: 0; font-size: inherit; color: inherit; background-color: transparent; border-radius: 0; }

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

.container { position: relative; margin-left: auto; margin-right: auto; padding-right: 15px; padding-left: 15px; }
@media (min-width: 576px) { .container { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 768px) { .container { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 992px) { .container { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1200px) { .container { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 576px) { .container { width: 540px; max-width: 100%; } }
@media (min-width: 768px) { .container { width: 720px; max-width: 100%; } }
@media (min-width: 992px) { .container { width: 960px; max-width: 100%; } }
@media (min-width: 1200px) { .container { width: 1140px; max-width: 100%; } }

.container-fluid { position: relative; margin-left: auto; margin-right: auto; padding-right: 15px; padding-left: 15px; }
@media (min-width: 576px) { .container-fluid { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 768px) { .container-fluid { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 992px) { .container-fluid { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1200px) { .container-fluid { padding-right: 15px; padding-left: 15px; } }

.row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
@media (min-width: 576px) { .row { margin-right: -15px; margin-left: -15px; } }
@media (min-width: 768px) { .row { margin-right: -15px; margin-left: -15px; } }
@media (min-width: 992px) { .row { margin-right: -15px; margin-left: -15px; } }
@media (min-width: 1200px) { .row { margin-right: -15px; margin-left: -15px; } }

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

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { position: relative; width: 100%; min-height: 1px; padding-right: 15px; padding-left: 15px; }
@media (min-width: 576px) { .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 768px) { .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 992px) { .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { padding-right: 15px; padding-left: 15px; } }
@media (min-width: 1200px) { .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl { padding-right: 15px; padding-left: 15px; } }

.col { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }

.col-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; }

.col-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }

.col-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }

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

.col-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }

.col-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }

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

.col-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }

.col-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }

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

.col-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }

.col-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }

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

.pull-0 { right: auto; }

.pull-1 { right: 8.3333333333%; }

.pull-2 { right: 16.6666666667%; }

.pull-3 { right: 25%; }

.pull-4 { right: 33.3333333333%; }

.pull-5 { right: 41.6666666667%; }

.pull-6 { right: 50%; }

.pull-7 { right: 58.3333333333%; }

.pull-8 { right: 66.6666666667%; }

.pull-9 { right: 75%; }

.pull-10 { right: 83.3333333333%; }

.pull-11 { right: 91.6666666667%; }

.pull-12 { right: 100%; }

.push-0 { left: auto; }

.push-1 { left: 8.3333333333%; }

.push-2 { left: 16.6666666667%; }

.push-3 { left: 25%; }

.push-4 { left: 33.3333333333%; }

.push-5 { left: 41.6666666667%; }

.push-6 { left: 50%; }

.push-7 { left: 58.3333333333%; }

.push-8 { left: 66.6666666667%; }

.push-9 { left: 75%; }

.push-10 { left: 83.3333333333%; }

.push-11 { left: 91.6666666667%; }

.push-12 { left: 100%; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
  .col-sm-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; }
  .col-sm-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .col-sm-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .col-sm-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .col-sm-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .col-sm-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .col-sm-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .col-sm-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .col-sm-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .col-sm-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .col-sm-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .col-sm-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .col-sm-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .pull-sm-0 { right: auto; }
  .pull-sm-1 { right: 8.3333333333%; }
  .pull-sm-2 { right: 16.6666666667%; }
  .pull-sm-3 { right: 25%; }
  .pull-sm-4 { right: 33.3333333333%; }
  .pull-sm-5 { right: 41.6666666667%; }
  .pull-sm-6 { right: 50%; }
  .pull-sm-7 { right: 58.3333333333%; }
  .pull-sm-8 { right: 66.6666666667%; }
  .pull-sm-9 { right: 75%; }
  .pull-sm-10 { right: 83.3333333333%; }
  .pull-sm-11 { right: 91.6666666667%; }
  .pull-sm-12 { right: 100%; }
  .push-sm-0 { left: auto; }
  .push-sm-1 { left: 8.3333333333%; }
  .push-sm-2 { left: 16.6666666667%; }
  .push-sm-3 { left: 25%; }
  .push-sm-4 { left: 33.3333333333%; }
  .push-sm-5 { left: 41.6666666667%; }
  .push-sm-6 { left: 50%; }
  .push-sm-7 { left: 58.3333333333%; }
  .push-sm-8 { left: 66.6666666667%; }
  .push-sm-9 { left: 75%; }
  .push-sm-10 { left: 83.3333333333%; }
  .push-sm-11 { left: 91.6666666667%; }
  .push-sm-12 { left: 100%; }
  .offset-sm-0 { margin-left: 0%; }
  .offset-sm-1 { margin-left: 8.3333333333%; }
  .offset-sm-2 { margin-left: 16.6666666667%; }
  .offset-sm-3 { margin-left: 25%; }
  .offset-sm-4 { margin-left: 33.3333333333%; }
  .offset-sm-5 { margin-left: 41.6666666667%; }
  .offset-sm-6 { margin-left: 50%; }
  .offset-sm-7 { margin-left: 58.3333333333%; }
  .offset-sm-8 { margin-left: 66.6666666667%; }
  .offset-sm-9 { margin-left: 75%; }
  .offset-sm-10 { margin-left: 83.3333333333%; }
  .offset-sm-11 { margin-left: 91.6666666667%; } }
@media (min-width: 768px) { .col-md { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
  .col-md-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; }
  .col-md-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .col-md-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .col-md-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .col-md-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .col-md-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .col-md-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .col-md-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .col-md-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .col-md-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .col-md-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .col-md-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .col-md-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .pull-md-0 { right: auto; }
  .pull-md-1 { right: 8.3333333333%; }
  .pull-md-2 { right: 16.6666666667%; }
  .pull-md-3 { right: 25%; }
  .pull-md-4 { right: 33.3333333333%; }
  .pull-md-5 { right: 41.6666666667%; }
  .pull-md-6 { right: 50%; }
  .pull-md-7 { right: 58.3333333333%; }
  .pull-md-8 { right: 66.6666666667%; }
  .pull-md-9 { right: 75%; }
  .pull-md-10 { right: 83.3333333333%; }
  .pull-md-11 { right: 91.6666666667%; }
  .pull-md-12 { right: 100%; }
  .push-md-0 { left: auto; }
  .push-md-1 { left: 8.3333333333%; }
  .push-md-2 { left: 16.6666666667%; }
  .push-md-3 { left: 25%; }
  .push-md-4 { left: 33.3333333333%; }
  .push-md-5 { left: 41.6666666667%; }
  .push-md-6 { left: 50%; }
  .push-md-7 { left: 58.3333333333%; }
  .push-md-8 { left: 66.6666666667%; }
  .push-md-9 { left: 75%; }
  .push-md-10 { left: 83.3333333333%; }
  .push-md-11 { left: 91.6666666667%; }
  .push-md-12 { left: 100%; }
  .offset-md-0 { margin-left: 0%; }
  .offset-md-1 { margin-left: 8.3333333333%; }
  .offset-md-2 { margin-left: 16.6666666667%; }
  .offset-md-3 { margin-left: 25%; }
  .offset-md-4 { margin-left: 33.3333333333%; }
  .offset-md-5 { margin-left: 41.6666666667%; }
  .offset-md-6 { margin-left: 50%; }
  .offset-md-7 { margin-left: 58.3333333333%; }
  .offset-md-8 { margin-left: 66.6666666667%; }
  .offset-md-9 { margin-left: 75%; }
  .offset-md-10 { margin-left: 83.3333333333%; }
  .offset-md-11 { margin-left: 91.6666666667%; } }
@media (min-width: 992px) { .col-lg { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
  .col-lg-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; }
  .col-lg-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .col-lg-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .col-lg-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .col-lg-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .col-lg-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .col-lg-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .col-lg-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .col-lg-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .col-lg-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .col-lg-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .pull-lg-0 { right: auto; }
  .pull-lg-1 { right: 8.3333333333%; }
  .pull-lg-2 { right: 16.6666666667%; }
  .pull-lg-3 { right: 25%; }
  .pull-lg-4 { right: 33.3333333333%; }
  .pull-lg-5 { right: 41.6666666667%; }
  .pull-lg-6 { right: 50%; }
  .pull-lg-7 { right: 58.3333333333%; }
  .pull-lg-8 { right: 66.6666666667%; }
  .pull-lg-9 { right: 75%; }
  .pull-lg-10 { right: 83.3333333333%; }
  .pull-lg-11 { right: 91.6666666667%; }
  .pull-lg-12 { right: 100%; }
  .push-lg-0 { left: auto; }
  .push-lg-1 { left: 8.3333333333%; }
  .push-lg-2 { left: 16.6666666667%; }
  .push-lg-3 { left: 25%; }
  .push-lg-4 { left: 33.3333333333%; }
  .push-lg-5 { left: 41.6666666667%; }
  .push-lg-6 { left: 50%; }
  .push-lg-7 { left: 58.3333333333%; }
  .push-lg-8 { left: 66.6666666667%; }
  .push-lg-9 { left: 75%; }
  .push-lg-10 { left: 83.3333333333%; }
  .push-lg-11 { left: 91.6666666667%; }
  .push-lg-12 { left: 100%; }
  .offset-lg-0 { margin-left: 0%; }
  .offset-lg-1 { margin-left: 8.3333333333%; }
  .offset-lg-2 { margin-left: 16.6666666667%; }
  .offset-lg-3 { margin-left: 25%; }
  .offset-lg-4 { margin-left: 33.3333333333%; }
  .offset-lg-5 { margin-left: 41.6666666667%; }
  .offset-lg-6 { margin-left: 50%; }
  .offset-lg-7 { margin-left: 58.3333333333%; }
  .offset-lg-8 { margin-left: 66.6666666667%; }
  .offset-lg-9 { margin-left: 75%; }
  .offset-lg-10 { margin-left: 83.3333333333%; }
  .offset-lg-11 { margin-left: 91.6666666667%; } }
@media (min-width: 1200px) { .col-xl { -ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; }
  .col-xl-auto { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; }
  .col-xl-1 { -webkit-box-flex: 0; -ms-flex: 0 0 8.3333333333%; flex: 0 0 8.3333333333%; max-width: 8.3333333333%; }
  .col-xl-2 { -webkit-box-flex: 0; -ms-flex: 0 0 16.6666666667%; flex: 0 0 16.6666666667%; max-width: 16.6666666667%; }
  .col-xl-3 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
  .col-xl-4 { -webkit-box-flex: 0; -ms-flex: 0 0 33.3333333333%; flex: 0 0 33.3333333333%; max-width: 33.3333333333%; }
  .col-xl-5 { -webkit-box-flex: 0; -ms-flex: 0 0 41.6666666667%; flex: 0 0 41.6666666667%; max-width: 41.6666666667%; }
  .col-xl-6 { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; }
  .col-xl-7 { -webkit-box-flex: 0; -ms-flex: 0 0 58.3333333333%; flex: 0 0 58.3333333333%; max-width: 58.3333333333%; }
  .col-xl-8 { -webkit-box-flex: 0; -ms-flex: 0 0 66.6666666667%; flex: 0 0 66.6666666667%; max-width: 66.6666666667%; }
  .col-xl-9 { -webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
  .col-xl-10 { -webkit-box-flex: 0; -ms-flex: 0 0 83.3333333333%; flex: 0 0 83.3333333333%; max-width: 83.3333333333%; }
  .col-xl-11 { -webkit-box-flex: 0; -ms-flex: 0 0 91.6666666667%; flex: 0 0 91.6666666667%; max-width: 91.6666666667%; }
  .col-xl-12 { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
  .pull-xl-0 { right: auto; }
  .pull-xl-1 { right: 8.3333333333%; }
  .pull-xl-2 { right: 16.6666666667%; }
  .pull-xl-3 { right: 25%; }
  .pull-xl-4 { right: 33.3333333333%; }
  .pull-xl-5 { right: 41.6666666667%; }
  .pull-xl-6 { right: 50%; }
  .pull-xl-7 { right: 58.3333333333%; }
  .pull-xl-8 { right: 66.6666666667%; }
  .pull-xl-9 { right: 75%; }
  .pull-xl-10 { right: 83.3333333333%; }
  .pull-xl-11 { right: 91.6666666667%; }
  .pull-xl-12 { right: 100%; }
  .push-xl-0 { left: auto; }
  .push-xl-1 { left: 8.3333333333%; }
  .push-xl-2 { left: 16.6666666667%; }
  .push-xl-3 { left: 25%; }
  .push-xl-4 { left: 33.3333333333%; }
  .push-xl-5 { left: 41.6666666667%; }
  .push-xl-6 { left: 50%; }
  .push-xl-7 { left: 58.3333333333%; }
  .push-xl-8 { left: 66.6666666667%; }
  .push-xl-9 { left: 75%; }
  .push-xl-10 { left: 83.3333333333%; }
  .push-xl-11 { left: 91.6666666667%; }
  .push-xl-12 { left: 100%; }
  .offset-xl-0 { margin-left: 0%; }
  .offset-xl-1 { margin-left: 8.3333333333%; }
  .offset-xl-2 { margin-left: 16.6666666667%; }
  .offset-xl-3 { margin-left: 25%; }
  .offset-xl-4 { margin-left: 33.3333333333%; }
  .offset-xl-5 { margin-left: 41.6666666667%; }
  .offset-xl-6 { margin-left: 50%; }
  .offset-xl-7 { margin-left: 58.3333333333%; }
  .offset-xl-8 { margin-left: 66.6666666667%; }
  .offset-xl-9 { margin-left: 75%; }
  .offset-xl-10 { margin-left: 83.3333333333%; }
  .offset-xl-11 { margin-left: 91.6666666667%; } }
.table { width: 100%; max-width: 100%; margin-bottom: 1rem; }
.table th, .table td { padding: 0.75rem; 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: rgba(0, 0, 0, 0.05); }

.table-hover tbody tr:hover { background-color: rgba(0, 0, 0, 0.075); }

.table-active, .table-active > th, .table-active > td { background-color: rgba(0, 0, 0, 0.075); }

.table-hover .table-active:hover { background-color: rgba(0, 0, 0, 0.075); }
.table-hover .table-active:hover > td, .table-hover .table-active:hover > th { background-color: rgba(0, 0, 0, 0.075); }

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

.thead-inverse th { color: #fff; background-color: #292b2c; }

.thead-default th { color: #464a4c; background-color: #eceeef; }

.table-inverse { color: #fff; background-color: #292b2c; }
.table-inverse th, .table-inverse td, .table-inverse thead th { border-color: #fff; }
.table-inverse.table-bordered { border: 0; }

.table-responsive { display: block; width: 100%; overflow-x: auto; -ms-overflow-style: -ms-autohiding-scrollbar; }
.table-responsive.table-bordered { border: 0; }

.form-control { display: block; width: 100%; padding: 0.5rem 0.75rem; font-size: 1rem; line-height: 1.25; color: #464a4c; background-color: #fff; background-image: none; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem; -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; }
.form-control::-ms-expand { background-color: transparent; border: 0; }
.form-control:focus { color: #464a4c; background-color: #fff; border-color: #5cb3fd; outline: none; }
.form-control::-webkit-input-placeholder { color: #636c72; opacity: 1; }
.form-control:-ms-input-placeholder { color: #636c72; opacity: 1; }
.form-control::placeholder { color: #636c72; opacity: 1; }
.form-control:disabled, .form-control[readonly] { background-color: #eceeef; opacity: 1; }
.form-control:disabled { cursor: not-allowed; }

select.form-control:not([size]):not([multiple]) { height: calc(2.25rem + 2px); }
select.form-control:focus::-ms-value { color: #464a4c; background-color: #fff; }

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

.col-form-label { padding-top: calc(0.5rem - 1px * 2); padding-bottom: calc(0.5rem - 1px * 2); margin-bottom: 0; }

.col-form-label-lg { padding-top: calc(0.75rem - 1px * 2); padding-bottom: calc(0.75rem - 1px * 2); font-size: 1.25rem; }

.col-form-label-sm { padding-top: calc(0.25rem - 1px * 2); padding-bottom: calc(0.25rem - 1px * 2); font-size: 0.875rem; }

.col-form-legend { padding-top: 0.5rem; padding-bottom: 0.5rem; margin-bottom: 0; font-size: 1rem; }

.form-control-static { padding-top: 0.5rem; padding-bottom: 0.5rem; margin-bottom: 0; line-height: 1.25; border: solid transparent; border-width: 1px 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.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.2rem; }

select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), .input-group-sm > select.input-group-addon:not([size]):not([multiple]), .input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { height: 1.8125rem; }

.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.5rem; font-size: 1.25rem; border-radius: 0.3rem; }

select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > select.input-group-addon:not([size]):not([multiple]), .input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { height: 3.1666666667rem; }

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

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

.form-check { position: relative; display: block; margin-bottom: 0.5rem; }
.form-check.disabled .form-check-label { color: #636c72; cursor: not-allowed; }

.form-check-label { padding-left: 1.25rem; margin-bottom: 0; cursor: pointer; }

.form-check-input { position: absolute; margin-top: 0.25rem; margin-left: -1.25rem; }
.form-check-input:only-child { position: static; }

.form-check-inline { display: inline-block; }
.form-check-inline .form-check-label { vertical-align: middle; }
.form-check-inline + .form-check-inline { margin-left: 0.75rem; }

.form-control-feedback { margin-top: 0.25rem; }

.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.125rem 1.125rem; }

.has-success .form-control-feedback, .has-success .form-control-label, .has-success .col-form-label, .has-success .form-check-label, .has-success .custom-control { 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-success { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"); }

.has-warning .form-control-feedback, .has-warning .form-control-label, .has-warning .col-form-label, .has-warning .form-check-label, .has-warning .custom-control { 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-warning { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); }

.has-danger .form-control-feedback, .has-danger .form-control-label, .has-danger .col-form-label, .has-danger .form-check-label, .has-danger .custom-control { 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-danger { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); }

.form-inline { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.form-inline .form-check { width: 100%; }
@media (min-width: 576px) { .form-inline label { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 0; }
  .form-inline .form-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 0; }
  .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; }
  .form-inline .form-control-static { display: inline-block; }
  .form-inline .input-group { width: auto; }
  .form-inline .form-control-label { margin-bottom: 0; vertical-align: middle; }
  .form-inline .form-check { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: auto; margin-top: 0; margin-bottom: 0; }
  .form-inline .form-check-label { padding-left: 0; }
  .form-inline .form-check-input { position: relative; margin-top: 0; margin-right: 0.25rem; margin-left: 0; }
  .form-inline .custom-control { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-left: 0; }
  .form-inline .custom-control-indicator { position: static; display: inline-block; margin-right: 0.25rem; vertical-align: text-bottom; }
  .form-inline .has-feedback .form-control-feedback { top: 0; } }

.btn { display: inline-block; font-weight: normal; line-height: 1.25; text-align: center; white-space: nowrap; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border: 1px solid transparent; padding: 0.5rem 1rem; font-size: 1rem; border-radius: 0.25rem; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
.btn:focus, .btn:hover { text-decoration: none; }
.btn:focus, .btn.focus { outline: 0; -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); }
.btn.disabled, .btn:disabled { cursor: not-allowed; opacity: .65; }
.btn:active, .btn.active { background-image: none; }

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

.btn-primary { color: #fff; background-color: #0275d8; border-color: #0275d8; }
.btn-primary:hover { color: #fff; background-color: #025aa5; border-color: #01549b; }
.btn-primary:focus, .btn-primary.focus { -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); }
.btn-primary.disabled, .btn-primary:disabled { background-color: #0275d8; border-color: #0275d8; }
.btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { color: #fff; background-color: #025aa5; background-image: none; border-color: #01549b; }

.btn-secondary { color: #292b2c; background-color: #fff; border-color: #ccc; }
.btn-secondary:hover { color: #292b2c; background-color: #e6e6e6; border-color: #adadad; }
.btn-secondary:focus, .btn-secondary.focus { -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); }
.btn-secondary.disabled, .btn-secondary:disabled { background-color: #fff; border-color: #ccc; }
.btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { color: #292b2c; background-color: #e6e6e6; background-image: none; border-color: #adadad; }

.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 { -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); }
.btn-info.disabled, .btn-info:disabled { background-color: #5bc0de; border-color: #5bc0de; }
.btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; background-image: none; border-color: #2aabd2; }

.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 { -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); }
.btn-success.disabled, .btn-success:disabled { background-color: #5cb85c; border-color: #5cb85c; }
.btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; background-image: none; border-color: #419641; }

.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 { -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); }
.btn-warning.disabled, .btn-warning:disabled { background-color: #f0ad4e; border-color: #f0ad4e; }
.btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; background-image: none; border-color: #eb9316; }

.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 { -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); }
.btn-danger.disabled, .btn-danger:disabled { background-color: #d9534f; border-color: #d9534f; }
.btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; background-image: none; border-color: #c12e2a; }

.btn-outline-primary { color: #0275d8; background-image: none; background-color: transparent; border-color: #0275d8; }
.btn-outline-primary:hover { color: #fff; background-color: #0275d8; border-color: #0275d8; }
.btn-outline-primary:focus, .btn-outline-primary.focus { -webkit-box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); }
.btn-outline-primary.disabled, .btn-outline-primary:disabled { color: #0275d8; background-color: transparent; }
.btn-outline-primary:active, .btn-outline-primary.active, .show > .btn-outline-primary.dropdown-toggle { color: #fff; background-color: #0275d8; border-color: #0275d8; }

.btn-outline-secondary { color: #ccc; background-image: none; background-color: transparent; border-color: #ccc; }
.btn-outline-secondary:hover { color: #fff; background-color: #ccc; border-color: #ccc; }
.btn-outline-secondary:focus, .btn-outline-secondary.focus { -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); }
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { color: #ccc; background-color: transparent; }
.btn-outline-secondary:active, .btn-outline-secondary.active, .show > .btn-outline-secondary.dropdown-toggle { color: #fff; background-color: #ccc; border-color: #ccc; }

.btn-outline-info { color: #5bc0de; background-image: none; background-color: transparent; border-color: #5bc0de; }
.btn-outline-info:hover { color: #fff; background-color: #5bc0de; border-color: #5bc0de; }
.btn-outline-info:focus, .btn-outline-info.focus { -webkit-box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); }
.btn-outline-info.disabled, .btn-outline-info:disabled { color: #5bc0de; background-color: transparent; }
.btn-outline-info:active, .btn-outline-info.active, .show > .btn-outline-info.dropdown-toggle { color: #fff; background-color: #5bc0de; border-color: #5bc0de; }

.btn-outline-success { color: #5cb85c; background-image: none; background-color: transparent; border-color: #5cb85c; }
.btn-outline-success:hover { color: #fff; background-color: #5cb85c; border-color: #5cb85c; }
.btn-outline-success:focus, .btn-outline-success.focus { -webkit-box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); }
.btn-outline-success.disabled, .btn-outline-success:disabled { color: #5cb85c; background-color: transparent; }
.btn-outline-success:active, .btn-outline-success.active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #5cb85c; border-color: #5cb85c; }

.btn-outline-warning { color: #f0ad4e; background-image: none; background-color: transparent; border-color: #f0ad4e; }
.btn-outline-warning:hover { color: #fff; background-color: #f0ad4e; border-color: #f0ad4e; }
.btn-outline-warning:focus, .btn-outline-warning.focus { -webkit-box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); }
.btn-outline-warning.disabled, .btn-outline-warning:disabled { color: #f0ad4e; background-color: transparent; }
.btn-outline-warning:active, .btn-outline-warning.active, .show > .btn-outline-warning.dropdown-toggle { color: #fff; background-color: #f0ad4e; border-color: #f0ad4e; }

.btn-outline-danger { color: #d9534f; background-image: none; background-color: transparent; border-color: #d9534f; }
.btn-outline-danger:hover { color: #fff; background-color: #d9534f; border-color: #d9534f; }
.btn-outline-danger:focus, .btn-outline-danger.focus { -webkit-box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); }
.btn-outline-danger.disabled, .btn-outline-danger:disabled { color: #d9534f; background-color: transparent; }
.btn-outline-danger:active, .btn-outline-danger.active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #d9534f; border-color: #d9534f; }

.btn-link { font-weight: normal; color: #0275d8; 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: #014c8c; text-decoration: underline; background-color: transparent; }
.btn-link:disabled { color: #636c72; }
.btn-link:disabled:focus, .btn-link:disabled:hover { text-decoration: none; }

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

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

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

.btn-block + .btn-block { margin-top: 0.5rem; }

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

.fade { opacity: 0; -webkit-transition: opacity 0.15s linear; transition: opacity 0.15s linear; }
.fade.show { opacity: 1; }

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

tr.collapse.show { display: table-row; }

tbody.collapse.show { display: table-row-group; }

.collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; transition: height 0.35s ease; }

.dropup, .dropdown { position: relative; }

.dropdown-toggle::after { display: inline-block; width: 0; height: 0; margin-left: 0.3em; 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: 10rem; padding: 0.5rem 0; margin: 0.125rem 0 0; font-size: 1rem; color: #292b2c; 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: #eceeef; }

.dropdown-item { display: block; width: 100%; padding: 3px 1.5rem; clear: both; font-weight: normal; color: #292b2c; text-align: inherit; white-space: nowrap; background: none; border: 0; }
.dropdown-item:focus, .dropdown-item:hover { color: #1d1e1f; text-decoration: none; background-color: #f7f7f9; }
.dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #0275d8; }
.dropdown-item.disabled, .dropdown-item:disabled { color: #636c72; cursor: not-allowed; background-color: transparent; }

.show > .dropdown-menu { display: block; }
.show > a { outline: 0; }

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

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

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

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

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

.btn-group, .btn-group-vertical { position: relative; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; }
.btn-group > .btn, .btn-group-vertical > .btn { position: relative; -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto; }
.btn-group > .btn:hover, .btn-group-vertical > .btn:hover { z-index: 2; }
.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 + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group, .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-left: -1px; }

.btn-toolbar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.btn-toolbar .input-group { width: auto; }

.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 + .dropdown-toggle-split { padding-right: 0.75rem; padding-left: 0.75rem; }
.btn + .dropdown-toggle-split::after { margin-left: 0; }

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

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

.btn-group-vertical { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.btn-group-vertical .btn, .btn-group-vertical .btn-group { width: 100%; }
.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-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.btn-group-vertical > .btn:last-child:not(:first-child) { 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: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; }
.input-group .form-control { position: relative; z-index: 2; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; width: 1%; 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: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.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 { white-space: nowrap; vertical-align: middle; }

.input-group-addon { padding: 0.5rem 0.75rem; margin-bottom: 0; font-size: 1rem; font-weight: normal; line-height: 1.25; color: #464a4c; text-align: center; background-color: #eceeef; border: 1px solid rgba(0, 0, 0, 0.15); 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.25rem 0.5rem; 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.5rem; 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:not(:last-child), .input-group-addon:not(:last-child), .input-group-btn:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group > .btn, .input-group-btn:not(:last-child) > .dropdown-toggle, .input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-top-right-radius: 0; }

.input-group-addon:not(:last-child) { border-right: 0; }

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

.form-control + .input-group-addon:not(:first-child) { border-left: 0; }

.input-group-btn { position: relative; font-size: 0; white-space: nowrap; }
.input-group-btn > .btn { position: relative; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
.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:not(:last-child) > .btn, .input-group-btn:not(:last-child) > .btn-group { margin-right: -1px; }
.input-group-btn:not(:first-child) > .btn, .input-group-btn:not(:first-child) > .btn-group { z-index: 2; margin-left: -1px; }
.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, .input-group-btn:not(:first-child) > .btn-group:focus, .input-group-btn:not(:first-child) > .btn-group:active, .input-group-btn:not(:first-child) > .btn-group:hover { z-index: 3; }

.custom-control { position: relative; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; min-height: 1.5rem; padding-left: 1.5rem; margin-right: 1rem; cursor: pointer; }

.custom-control-input { position: absolute; z-index: -1; opacity: 0; }
.custom-control-input:checked ~ .custom-control-indicator { color: #fff; background-color: #0275d8; }
.custom-control-input:focus ~ .custom-control-indicator { -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8; }
.custom-control-input:active ~ .custom-control-indicator { color: #fff; background-color: #8fcafe; }
.custom-control-input:disabled ~ .custom-control-indicator { cursor: not-allowed; background-color: #eceeef; }
.custom-control-input:disabled ~ .custom-control-description { color: #636c72; cursor: not-allowed; }

.custom-control-indicator { position: absolute; top: 0.25rem; left: 0; display: block; width: 1rem; height: 1rem; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #ddd; background-repeat: no-repeat; background-position: center center; background-size: 50% 50%; }

.custom-checkbox .custom-control-indicator { border-radius: 0.25rem; }
.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); }
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { background-color: #0275d8; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }

.custom-radio .custom-control-indicator { border-radius: 50%; }
.custom-radio .custom-control-input:checked ~ .custom-control-indicator { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }

.custom-controls-stacked { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.custom-controls-stacked .custom-control { margin-bottom: 0.25rem; }
.custom-controls-stacked .custom-control + .custom-control { margin-left: 0; }

.custom-select { display: inline-block; max-width: 100%; height: calc(2.25rem + 2px); padding: 0.375rem 1.75rem 0.375rem 0.75rem; line-height: 1.25; color: #464a4c; vertical-align: middle; background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; background-size: 8px 10px; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem; -moz-appearance: none; -webkit-appearance: none; }
.custom-select:focus { border-color: #5cb3fd; outline: none; }
.custom-select:focus::-ms-value { color: #464a4c; background-color: #fff; }
.custom-select:disabled { color: #636c72; cursor: not-allowed; background-color: #eceeef; }
.custom-select::-ms-expand { opacity: 0; }

.custom-select-sm { padding-top: 0.375rem; padding-bottom: 0.375rem; font-size: 75%; }

.custom-file { position: relative; display: inline-block; max-width: 100%; height: 2.5rem; margin-bottom: 0; cursor: pointer; }

.custom-file-input { min-width: 14rem; max-width: 100%; height: 2.5rem; margin: 0; filter: alpha(opacity=0); opacity: 0; }

.custom-file-control { position: absolute; top: 0; right: 0; left: 0; z-index: 5; height: 2.5rem; padding: 0.5rem 1rem; line-height: 1.5; color: #464a4c; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem; }
.custom-file-control:lang(en)::after { content: "Choose file..."; }
.custom-file-control::before { position: absolute; top: -1px; right: -1px; bottom: -1px; z-index: 6; display: block; height: 2.5rem; padding: 0.5rem 1rem; line-height: 1.5; color: #464a4c; background-color: #eceeef; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0 0.25rem 0.25rem 0; }
.custom-file-control:lang(en)::before { content: "Browse"; }

.nav { display: -webkit-box; display: -ms-flexbox; display: flex; padding-left: 0; margin-bottom: 0; list-style: none; }

.nav-link { display: block; padding: 0.5em 1em; }
.nav-link:focus, .nav-link:hover { text-decoration: none; }
.nav-link.disabled { color: #636c72; cursor: not-allowed; }

.nav-tabs { border-bottom: 1px solid #ddd; }
.nav-tabs .nav-item { margin-bottom: -1px; }
.nav-tabs .nav-link { border: 1px solid transparent; border-top-right-radius: 0.25rem; border-top-left-radius: 0.25rem; }
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { border-color: #eceeef #eceeef #ddd; }
.nav-tabs .nav-link.disabled { color: #636c72; background-color: transparent; border-color: transparent; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #464a4c; background-color: #fff; border-color: #ddd #ddd #fff; }
.nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; border-top-left-radius: 0; }

.nav-pills .nav-link { border-radius: 0.25rem; }
.nav-pills .nav-link.active, .nav-pills .nav-item.show .nav-link { color: #fff; cursor: default; background-color: #0275d8; }

.nav-fill .nav-item { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; text-align: center; }

.nav-justified .nav-item { -webkit-box-flex: 1; -ms-flex: 1 1 100%; flex: 1 1 100%; text-align: center; }

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

.navbar { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 0.5rem 1rem; }

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

.navbar-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
.navbar-nav .nav-link { padding-right: 0; padding-left: 0; }

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

.navbar-toggler { -ms-flex-item-align: start; align-self: flex-start; padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background: transparent; border: 1px solid transparent; border-radius: 0.25rem; }
.navbar-toggler:focus, .navbar-toggler:hover { text-decoration: none; }

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

.navbar-toggler-left { position: absolute; left: 1rem; }

.navbar-toggler-right { position: absolute; right: 1rem; }

@media (max-width: 575px) { .navbar-toggleable .navbar-nav .dropdown-menu { position: static; float: none; }
  .navbar-toggleable > .container { padding-right: 0; padding-left: 0; } }
@media (min-width: 576px) { .navbar-toggleable { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .navbar-toggleable .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
  .navbar-toggleable > .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; width: 100%; }
  .navbar-toggleable .navbar-toggler { display: none; } }
@media (max-width: 767px) { .navbar-toggleable-sm .navbar-nav .dropdown-menu { position: static; float: none; }
  .navbar-toggleable-sm > .container { padding-right: 0; padding-left: 0; } }
@media (min-width: 768px) { .navbar-toggleable-sm { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-sm .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .navbar-toggleable-sm .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
  .navbar-toggleable-sm > .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-sm .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; width: 100%; }
  .navbar-toggleable-sm .navbar-toggler { display: none; } }
@media (max-width: 991px) { .navbar-toggleable-md .navbar-nav .dropdown-menu { position: static; float: none; }
  .navbar-toggleable-md > .container { padding-right: 0; padding-left: 0; } }
@media (min-width: 992px) { .navbar-toggleable-md { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-md .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .navbar-toggleable-md .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
  .navbar-toggleable-md > .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-md .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; width: 100%; }
  .navbar-toggleable-md .navbar-toggler { display: none; } }
@media (max-width: 1199px) { .navbar-toggleable-lg .navbar-nav .dropdown-menu { position: static; float: none; }
  .navbar-toggleable-lg > .container { padding-right: 0; padding-left: 0; } }
@media (min-width: 1200px) { .navbar-toggleable-lg { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-lg .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .navbar-toggleable-lg .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
  .navbar-toggleable-lg > .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .navbar-toggleable-lg .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; width: 100%; }
  .navbar-toggleable-lg .navbar-toggler { display: none; } }
.navbar-toggleable-xl { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.navbar-toggleable-xl .navbar-nav .dropdown-menu { position: static; float: none; }
.navbar-toggleable-xl > .container { padding-right: 0; padding-left: 0; }
.navbar-toggleable-xl .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
.navbar-toggleable-xl .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
.navbar-toggleable-xl > .container { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.navbar-toggleable-xl .navbar-collapse { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; width: 100%; }
.navbar-toggleable-xl .navbar-toggler { display: none; }

.navbar-light .navbar-brand, .navbar-light .navbar-toggler { color: rgba(0, 0, 0, 0.9); }
.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover, .navbar-light .navbar-toggler:focus, .navbar-light .navbar-toggler:hover { color: rgba(0, 0, 0, 0.9); }
.navbar-light .navbar-nav .nav-link { color: rgba(0, 0, 0, 0.5); }
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { color: rgba(0, 0, 0, 0.7); }
.navbar-light .navbar-nav .nav-link.disabled { color: rgba(0, 0, 0, 0.3); }
.navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.open, .navbar-light .navbar-nav .nav-link.active { color: rgba(0, 0, 0, 0.9); }
.navbar-light .navbar-toggler { border-color: rgba(0, 0, 0, 0.1); }
.navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-light .navbar-text { color: rgba(0, 0, 0, 0.5); }

.navbar-inverse .navbar-brand, .navbar-inverse .navbar-toggler { color: white; }
.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-toggler:focus, .navbar-inverse .navbar-toggler:hover { color: white; }
.navbar-inverse .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.5); }
.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover { color: rgba(255, 255, 255, 0.75); }
.navbar-inverse .navbar-nav .nav-link.disabled { color: rgba(255, 255, 255, 0.25); }
.navbar-inverse .navbar-nav .open > .nav-link, .navbar-inverse .navbar-nav .active > .nav-link, .navbar-inverse .navbar-nav .nav-link.open, .navbar-inverse .navbar-nav .nav-link.active { color: white; }
.navbar-inverse .navbar-toggler { border-color: rgba(255, 255, 255, 0.1); }
.navbar-inverse .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-inverse .navbar-text { color: rgba(255, 255, 255, 0.5); }

.card { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0.25rem; }

.card-block { -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; 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-top-right-radius: 0.25rem; border-top-left-radius: 0.25rem; }
.card > .list-group:last-child .list-group-item:last-child { border-bottom-right-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }

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

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

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

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

.card-primary { background-color: #0275d8; border-color: #0275d8; }
.card-primary .card-header, .card-primary .card-footer { background-color: transparent; }

.card-success { background-color: #5cb85c; border-color: #5cb85c; }
.card-success .card-header, .card-success .card-footer { background-color: transparent; }

.card-info { background-color: #5bc0de; border-color: #5bc0de; }
.card-info .card-header, .card-info .card-footer { background-color: transparent; }

.card-warning { background-color: #f0ad4e; border-color: #f0ad4e; }
.card-warning .card-header, .card-warning .card-footer { background-color: transparent; }

.card-danger { background-color: #d9534f; border-color: #d9534f; }
.card-danger .card-header, .card-danger .card-footer { background-color: transparent; }

.card-outline-primary { background-color: transparent; border-color: #0275d8; }

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

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

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

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

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

.card-inverse { color: rgba(255, 255, 255, 0.65); }
.card-inverse .card-header, .card-inverse .card-footer { background-color: transparent; border-color: 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-subtitle, .card-inverse .card-blockquote .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: calc(0.25rem - 1px); }

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

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

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

@media (min-width: 576px) { .card-deck { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; }
  .card-deck .card { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: 1 0 0px; flex: 1 0 0; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .card-deck .card:not(:first-child) { margin-left: 15px; }
  .card-deck .card:not(:last-child) { margin-right: 15px; } }
@media (min-width: 576px) { .card-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; }
  .card-group .card { -webkit-box-flex: 1; -ms-flex: 1 0 0px; flex: 1 0 0; }
  .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: 576px) { .card-columns { -webkit-column-count: 3; column-count: 3; -webkit-column-gap: 1.25rem; column-gap: 1.25rem; }
  .card-columns .card { display: inline-block; width: 100%; margin-bottom: 0.75rem; } }
.breadcrumb { padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; background-color: #eceeef; border-radius: 0.25rem; }
.breadcrumb::after { display: block; content: ""; clear: both; }

.breadcrumb-item { float: left; }
.breadcrumb-item + .breadcrumb-item::before { display: inline-block; padding-right: 0.5rem; padding-left: 0.5rem; color: #636c72; content: "/"; }
.breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: underline; }
.breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: none; }
.breadcrumb-item.active { color: #636c72; }

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

.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 { z-index: 2; color: #fff; background-color: #0275d8; border-color: #0275d8; }
.page-item.disabled .page-link { color: #636c72; pointer-events: none; cursor: not-allowed; background-color: #fff; border-color: #ddd; }

.page-link { position: relative; display: block; padding: 0.5rem 0.75rem; margin-left: -1px; line-height: 1.25; color: #0275d8; background-color: #fff; border: 1px solid #ddd; }
.page-link:focus, .page-link:hover { color: #014c8c; text-decoration: none; background-color: #eceeef; border-color: #ddd; }

.pagination-lg .page-link { padding: 0.75rem 1.5rem; font-size: 1.25rem; }
.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.25rem 0.5rem; font-size: 0.875rem; }
.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; }

.badge { display: inline-block; padding: 0.25em 0.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; }
.badge:empty { display: none; }

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

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

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

.badge-default { background-color: #636c72; }
.badge-default[href]:focus, .badge-default[href]:hover { background-color: #4b5257; }

.badge-primary { background-color: #0275d8; }
.badge-primary[href]:focus, .badge-primary[href]:hover { background-color: #025aa5; }

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

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

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

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

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

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

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

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

.alert-heading { color: inherit; }

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

.alert-dismissible .close { position: relative; top: -0.75rem; right: -1.25rem; padding: 0.75rem 1.25rem; 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; }

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

@keyframes progress-bar-stripes { from { background-position: 1rem 0; }
  to { background-position: 0 0; } }
.progress { display: -webkit-box; display: -ms-flexbox; display: flex; overflow: hidden; font-size: 0.75rem; line-height: 1rem; text-align: center; background-color: #eceeef; border-radius: 0.25rem; }

.progress-bar { height: 1rem; color: #fff; background-color: #0275d8; }

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

.progress-bar-animated { -webkit-animation: progress-bar-stripes 1s linear infinite; animation: progress-bar-stripes 1s linear infinite; }

.media { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.media-body { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

.list-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; }

.list-group-item-action { width: 100%; color: #464a4c; text-align: inherit; }
.list-group-item-action .list-group-item-heading { color: #292b2c; }
.list-group-item-action:focus, .list-group-item-action:hover { color: #464a4c; text-decoration: none; background-color: #f7f7f9; }
.list-group-item-action:active { color: #292b2c; background-color: #eceeef; }

.list-group-item { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); }
.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-item:focus, .list-group-item:hover { text-decoration: none; }
.list-group-item.disabled, .list-group-item:disabled { color: #636c72; cursor: not-allowed; background-color: #fff; }
.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading { color: inherit; }
.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text { color: #636c72; }
.list-group-item.active { z-index: 2; color: #fff; background-color: #0275d8; border-color: #0275d8; }
.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 { color: inherit; }
.list-group-item.active .list-group-item-text { color: #daeeff; }

.list-group-flush .list-group-item { border-right: 0; border-left: 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; }

.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, button.list-group-item-success.active { 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, button.list-group-item-info.active { 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, button.list-group-item-warning.active { 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, button.list-group-item-danger.active { color: #fff; background-color: #a94442; border-color: #a94442; }

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

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

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

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

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

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

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; }
.modal.fade .modal-dialog { -webkit-transition: -webkit-transform 0.3s ease-out; transition: -webkit-transform 0.3s ease-out; transition: transform 0.3s ease-out; transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; -webkit-transform: translate(0, -25%); transform: translate(0, -25%); }
.modal.show .modal-dialog { -webkit-transform: translate(0, 0); 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; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; 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.show { opacity: 0.5; }

.modal-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 15px; border-bottom: 1px solid #eceeef; }

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

.modal-body { position: relative; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 15px; }

.modal-footer { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; padding: 15px; border-top: 1px solid #eceeef; }
.modal-footer > :not(:first-child) { margin-left: .25rem; }
.modal-footer > :not(:last-child) { margin-right: .25rem; }

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

@media (min-width: 576px) { .modal-dialog { max-width: 500px; margin: 30px auto; }
  .modal-sm { max-width: 300px; } }
@media (min-width: 992px) { .modal-lg { max-width: 800px; } }
.tooltip { position: absolute; z-index: 1070; display: block; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", 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; font-size: 0.875rem; word-wrap: break-word; opacity: 0; }
.tooltip.show { opacity: 0.9; }
.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { padding: 5px 0; margin-top: -3px; }
.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before { bottom: 0; left: 50%; margin-left: -5px; content: ""; 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-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before { top: 50%; left: 0; margin-top: -5px; content: ""; 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-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before { top: 0; left: 50%; margin-left: -5px; content: ""; 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-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before { top: 50%; right: 0; margin-top: -5px; content: ""; 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-inner::before { 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: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", 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; font-size: 0.875rem; word-wrap: break-word; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; }
.popover.popover-top, .popover.bs-tether-element-attached-bottom { margin-top: -10px; }
.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after { left: 50%; border-bottom-width: 0; }
.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before { bottom: -11px; margin-left: -11px; border-top-color: rgba(0, 0, 0, 0.25); }
.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after { bottom: -10px; margin-left: -10px; border-top-color: #fff; }
.popover.popover-right, .popover.bs-tether-element-attached-left { margin-left: 10px; }
.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after { top: 50%; border-left-width: 0; }
.popover.popover-right::before, .popover.bs-tether-element-attached-left::before { left: -11px; margin-top: -11px; border-right-color: rgba(0, 0, 0, 0.25); }
.popover.popover-right::after, .popover.bs-tether-element-attached-left::after { left: -10px; margin-top: -10px; border-right-color: #fff; }
.popover.popover-bottom, .popover.bs-tether-element-attached-top { margin-top: 10px; }
.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after { left: 50%; border-top-width: 0; }
.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before { top: -11px; margin-left: -11px; border-bottom-color: rgba(0, 0, 0, 0.25); }
.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after { top: -10px; margin-left: -10px; border-bottom-color: #f7f7f7; }
.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before { position: absolute; top: 0; left: 50%; display: block; width: 20px; margin-left: -10px; content: ""; border-bottom: 1px solid #f7f7f7; }
.popover.popover-left, .popover.bs-tether-element-attached-right { margin-left: -10px; }
.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after { top: 50%; border-right-width: 0; }
.popover.popover-left::before, .popover.bs-tether-element-attached-right::before { right: -11px; margin-top: -11px; border-left-color: rgba(0, 0, 0, 0.25); }
.popover.popover-left::after, .popover.bs-tether-element-attached-right::after { right: -10px; margin-top: -10px; border-left-color: #fff; }

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

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

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

.popover::before { content: ""; border-width: 11px; }

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

.carousel { position: relative; }

.carousel-inner { position: relative; width: 100%; overflow: hidden; }

.carousel-item { position: relative; display: none; width: 100%; }
@media (-webkit-transform-3d) { .carousel-item { -webkit-transition: -webkit-transform 0.6s ease-in-out; transition: -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } }
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { .carousel-item { -webkit-transition: -webkit-transform 0.6s ease-in-out; transition: -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } }

.carousel-item.active, .carousel-item-next, .carousel-item-prev { display: -webkit-box; display: -ms-flexbox; display: flex; }

.carousel-item-next, .carousel-item-prev { position: absolute; top: 0; }

@media (-webkit-transform-3d) { .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  .carousel-item-next, .active.carousel-item-right { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
  .carousel-item-prev, .active.carousel-item-left { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } }
@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) { .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  .carousel-item-next, .active.carousel-item-right { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
  .carousel-item-prev, .active.carousel-item-left { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } }
.carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 15%; color: #fff; text-align: center; opacity: 0.5; }
.carousel-control-prev:focus, .carousel-control-prev:hover, .carousel-control-next:focus, .carousel-control-next:hover { color: #fff; text-decoration: none; outline: 0; opacity: .9; }

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

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

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

.carousel-control-prev-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }

.carousel-control-next-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }

.carousel-indicators { position: absolute; right: 0; bottom: 10px; left: 0; z-index: 15; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-left: 0; margin-right: 15%; margin-left: 15%; list-style: none; }
.carousel-indicators li { position: relative; -webkit-box-flex: 1; -ms-flex: 1 0 auto; flex: 1 0 auto; max-width: 30px; height: 3px; margin-right: 3px; margin-left: 3px; text-indent: -999px; cursor: pointer; background-color: rgba(255, 255, 255, 0.5); }
.carousel-indicators li::before { position: absolute; top: -10px; left: 0; display: inline-block; width: 100%; height: 10px; content: ""; }
.carousel-indicators li::after { position: absolute; bottom: -10px; left: 0; display: inline-block; width: 100%; height: 10px; content: ""; }
.carousel-indicators .active { 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; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-inverse { background-color: #292b2c !important; }

a.bg-inverse:focus, a.bg-inverse:hover { background-color: #101112 !important; }

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

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

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

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

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

.rounded { border-radius: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.d-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }

.d-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; }

@media (min-width: 576px) { .d-sm-none { display: none !important; }
  .d-sm-inline { display: inline !important; }
  .d-sm-inline-block { display: inline-block !important; }
  .d-sm-block { display: block !important; }
  .d-sm-table { display: table !important; }
  .d-sm-table-cell { display: table-cell !important; }
  .d-sm-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
  .d-sm-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } }
@media (min-width: 768px) { .d-md-none { display: none !important; }
  .d-md-inline { display: inline !important; }
  .d-md-inline-block { display: inline-block !important; }
  .d-md-block { display: block !important; }
  .d-md-table { display: table !important; }
  .d-md-table-cell { display: table-cell !important; }
  .d-md-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
  .d-md-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } }
@media (min-width: 992px) { .d-lg-none { display: none !important; }
  .d-lg-inline { display: inline !important; }
  .d-lg-inline-block { display: inline-block !important; }
  .d-lg-block { display: block !important; }
  .d-lg-table { display: table !important; }
  .d-lg-table-cell { display: table-cell !important; }
  .d-lg-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
  .d-lg-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } }
@media (min-width: 1200px) { .d-xl-none { display: none !important; }
  .d-xl-inline { display: inline !important; }
  .d-xl-inline-block { display: inline-block !important; }
  .d-xl-block { display: block !important; }
  .d-xl-table { display: table !important; }
  .d-xl-table-cell { display: table-cell !important; }
  .d-xl-flex { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }
  .d-xl-inline-flex { display: -webkit-inline-box !important; display: -ms-inline-flexbox !important; display: inline-flex !important; } }
.flex-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }

.flex-last { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

.flex-unordered { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }

.flex-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }

.flex-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }

.flex-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; }

.flex-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; }

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

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

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

.justify-content-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }

.justify-content-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }

.justify-content-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }

.justify-content-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }

.justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }

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

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

.align-items-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }

.align-items-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; }

.align-items-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; }

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

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

.align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; }

.align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }

.align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }

.align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }

.align-self-auto { -ms-flex-item-align: auto !important; align-self: auto !important; }

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

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

.align-self-center { -ms-flex-item-align: center !important; align-self: center !important; }

.align-self-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; }

.align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; }

@media (min-width: 576px) { .flex-sm-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }
  .flex-sm-last { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .flex-sm-unordered { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .flex-sm-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }
  .flex-sm-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }
  .flex-sm-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; }
  .flex-sm-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; }
  .flex-sm-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  .flex-sm-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }
  .justify-content-sm-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }
  .justify-content-sm-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }
  .justify-content-sm-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
  .justify-content-sm-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }
  .justify-content-sm-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }
  .align-items-sm-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
  .align-items-sm-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; }
  .align-items-sm-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }
  .align-items-sm-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; }
  .align-items-sm-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; }
  .align-content-sm-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
  .align-content-sm-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
  .align-content-sm-center { -ms-flex-line-pack: center !important; align-content: center !important; }
  .align-content-sm-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
  .align-content-sm-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
  .align-content-sm-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }
  .align-self-sm-auto { -ms-flex-item-align: auto !important; align-self: auto !important; }
  .align-self-sm-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
  .align-self-sm-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
  .align-self-sm-center { -ms-flex-item-align: center !important; align-self: center !important; }
  .align-self-sm-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; }
  .align-self-sm-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } }
@media (min-width: 768px) { .flex-md-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }
  .flex-md-last { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .flex-md-unordered { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .flex-md-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }
  .flex-md-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }
  .flex-md-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; }
  .flex-md-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; }
  .flex-md-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  .flex-md-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }
  .justify-content-md-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }
  .justify-content-md-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }
  .justify-content-md-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
  .justify-content-md-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }
  .justify-content-md-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }
  .align-items-md-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
  .align-items-md-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; }
  .align-items-md-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }
  .align-items-md-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; }
  .align-items-md-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; }
  .align-content-md-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
  .align-content-md-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
  .align-content-md-center { -ms-flex-line-pack: center !important; align-content: center !important; }
  .align-content-md-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
  .align-content-md-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
  .align-content-md-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }
  .align-self-md-auto { -ms-flex-item-align: auto !important; align-self: auto !important; }
  .align-self-md-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
  .align-self-md-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
  .align-self-md-center { -ms-flex-item-align: center !important; align-self: center !important; }
  .align-self-md-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; }
  .align-self-md-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } }
@media (min-width: 992px) { .flex-lg-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }
  .flex-lg-last { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .flex-lg-unordered { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .flex-lg-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }
  .flex-lg-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }
  .flex-lg-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; }
  .flex-lg-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; }
  .flex-lg-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  .flex-lg-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }
  .justify-content-lg-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }
  .justify-content-lg-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }
  .justify-content-lg-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
  .justify-content-lg-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }
  .justify-content-lg-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }
  .align-items-lg-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
  .align-items-lg-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; }
  .align-items-lg-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }
  .align-items-lg-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; }
  .align-items-lg-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; }
  .align-content-lg-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
  .align-content-lg-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
  .align-content-lg-center { -ms-flex-line-pack: center !important; align-content: center !important; }
  .align-content-lg-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
  .align-content-lg-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
  .align-content-lg-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }
  .align-self-lg-auto { -ms-flex-item-align: auto !important; align-self: auto !important; }
  .align-self-lg-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
  .align-self-lg-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
  .align-self-lg-center { -ms-flex-item-align: center !important; align-self: center !important; }
  .align-self-lg-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; }
  .align-self-lg-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } }
@media (min-width: 1200px) { .flex-xl-first { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }
  .flex-xl-last { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .flex-xl-unordered { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; }
  .flex-xl-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; }
  .flex-xl-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; }
  .flex-xl-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; }
  .flex-xl-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; }
  .flex-xl-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; }
  .flex-xl-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; }
  .justify-content-xl-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; }
  .justify-content-xl-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; }
  .justify-content-xl-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; }
  .justify-content-xl-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; }
  .justify-content-xl-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; }
  .align-items-xl-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; }
  .align-items-xl-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; }
  .align-items-xl-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }
  .align-items-xl-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; }
  .align-items-xl-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; }
  .align-content-xl-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; }
  .align-content-xl-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; }
  .align-content-xl-center { -ms-flex-line-pack: center !important; align-content: center !important; }
  .align-content-xl-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; }
  .align-content-xl-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; }
  .align-content-xl-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; }
  .align-self-xl-auto { -ms-flex-item-align: auto !important; align-self: auto !important; }
  .align-self-xl-start { -ms-flex-item-align: start !important; align-self: flex-start !important; }
  .align-self-xl-end { -ms-flex-item-align: end !important; align-self: flex-end !important; }
  .align-self-xl-center { -ms-flex-item-align: center !important; align-self: center !important; }
  .align-self-xl-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; }
  .align-self-xl-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } }
.float-left { float: left !important; }

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

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

@media (min-width: 576px) { .float-sm-left { float: left !important; }
  .float-sm-right { float: right !important; }
  .float-sm-none { float: none !important; } }
@media (min-width: 768px) { .float-md-left { float: left !important; }
  .float-md-right { float: right !important; }
  .float-md-none { float: none !important; } }
@media (min-width: 992px) { .float-lg-left { float: left !important; }
  .float-lg-right { float: right !important; }
  .float-lg-none { float: none !important; } }
@media (min-width: 1200px) { .float-xl-left { float: left !important; }
  .float-xl-right { float: right !important; }
  .float-xl-none { float: none !important; } }
.fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }

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

.sticky-top { position: -webkit-sticky; position: sticky; top: 0; z-index: 1030; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt-1 { margin-top: 0.25rem !important; }

.mr-1 { margin-right: 0.25rem !important; }

.mb-1 { margin-bottom: 0.25rem !important; }

.ml-1 { margin-left: 0.25rem !important; }

.mx-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }

.my-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }

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

.mt-2 { margin-top: 0.5rem !important; }

.mr-2 { margin-right: 0.5rem !important; }

.mb-2 { margin-bottom: 0.5rem !important; }

.ml-2 { margin-left: 0.5rem !important; }

.mx-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }

.my-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }

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

.mt-3 { margin-top: 1rem !important; }

.mr-3 { margin-right: 1rem !important; }

.mb-3 { margin-bottom: 1rem !important; }

.ml-3 { margin-left: 1rem !important; }

.mx-3 { margin-right: 1rem !important; margin-left: 1rem !important; }

.my-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }

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

.mt-4 { margin-top: 1.5rem !important; }

.mr-4 { margin-right: 1.5rem !important; }

.mb-4 { margin-bottom: 1.5rem !important; }

.ml-4 { margin-left: 1.5rem !important; }

.mx-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }

.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }

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

.mt-5 { margin-top: 3rem !important; }

.mr-5 { margin-right: 3rem !important; }

.mb-5 { margin-bottom: 3rem !important; }

.ml-5 { margin-left: 3rem !important; }

.mx-5 { margin-right: 3rem !important; margin-left: 3rem !important; }

.my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }

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

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

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

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

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

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

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

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

.pt-1 { padding-top: 0.25rem !important; }

.pr-1 { padding-right: 0.25rem !important; }

.pb-1 { padding-bottom: 0.25rem !important; }

.pl-1 { padding-left: 0.25rem !important; }

.px-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }

.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }

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

.pt-2 { padding-top: 0.5rem !important; }

.pr-2 { padding-right: 0.5rem !important; }

.pb-2 { padding-bottom: 0.5rem !important; }

.pl-2 { padding-left: 0.5rem !important; }

.px-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }

.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }

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

.pt-3 { padding-top: 1rem !important; }

.pr-3 { padding-right: 1rem !important; }

.pb-3 { padding-bottom: 1rem !important; }

.pl-3 { padding-left: 1rem !important; }

.px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }

.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }

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

.pt-4 { padding-top: 1.5rem !important; }

.pr-4 { padding-right: 1.5rem !important; }

.pb-4 { padding-bottom: 1.5rem !important; }

.pl-4 { padding-left: 1.5rem !important; }

.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }

.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }

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

.pt-5 { padding-top: 3rem !important; }

.pr-5 { padding-right: 3rem !important; }

.pb-5 { padding-bottom: 3rem !important; }

.pl-5 { padding-left: 3rem !important; }

.px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }

.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

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

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

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

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

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

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

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

@media (min-width: 576px) { .m-sm-0 { margin: 0 0 !important; }
  .mt-sm-0 { margin-top: 0 !important; }
  .mr-sm-0 { margin-right: 0 !important; }
  .mb-sm-0 { margin-bottom: 0 !important; }
  .ml-sm-0 { margin-left: 0 !important; }
  .mx-sm-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .m-sm-1 { margin: 0.25rem 0.25rem !important; }
  .mt-sm-1 { margin-top: 0.25rem !important; }
  .mr-sm-1 { margin-right: 0.25rem !important; }
  .mb-sm-1 { margin-bottom: 0.25rem !important; }
  .ml-sm-1 { margin-left: 0.25rem !important; }
  .mx-sm-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .my-sm-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .m-sm-2 { margin: 0.5rem 0.5rem !important; }
  .mt-sm-2 { margin-top: 0.5rem !important; }
  .mr-sm-2 { margin-right: 0.5rem !important; }
  .mb-sm-2 { margin-bottom: 0.5rem !important; }
  .ml-sm-2 { margin-left: 0.5rem !important; }
  .mx-sm-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .my-sm-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .m-sm-3 { margin: 1rem 1rem !important; }
  .mt-sm-3 { margin-top: 1rem !important; }
  .mr-sm-3 { margin-right: 1rem !important; }
  .mb-sm-3 { margin-bottom: 1rem !important; }
  .ml-sm-3 { margin-left: 1rem !important; }
  .mx-sm-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .my-sm-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .m-sm-4 { margin: 1.5rem 1.5rem !important; }
  .mt-sm-4 { margin-top: 1.5rem !important; }
  .mr-sm-4 { margin-right: 1.5rem !important; }
  .mb-sm-4 { margin-bottom: 1.5rem !important; }
  .ml-sm-4 { margin-left: 1.5rem !important; }
  .mx-sm-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .my-sm-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .m-sm-5 { margin: 3rem 3rem !important; }
  .mt-sm-5 { margin-top: 3rem !important; }
  .mr-sm-5 { margin-right: 3rem !important; }
  .mb-sm-5 { margin-bottom: 3rem !important; }
  .ml-sm-5 { margin-left: 3rem !important; }
  .mx-sm-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .my-sm-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .p-sm-0 { padding: 0 0 !important; }
  .pt-sm-0 { padding-top: 0 !important; }
  .pr-sm-0 { padding-right: 0 !important; }
  .pb-sm-0 { padding-bottom: 0 !important; }
  .pl-sm-0 { padding-left: 0 !important; }
  .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .p-sm-1 { padding: 0.25rem 0.25rem !important; }
  .pt-sm-1 { padding-top: 0.25rem !important; }
  .pr-sm-1 { padding-right: 0.25rem !important; }
  .pb-sm-1 { padding-bottom: 0.25rem !important; }
  .pl-sm-1 { padding-left: 0.25rem !important; }
  .px-sm-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .py-sm-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .p-sm-2 { padding: 0.5rem 0.5rem !important; }
  .pt-sm-2 { padding-top: 0.5rem !important; }
  .pr-sm-2 { padding-right: 0.5rem !important; }
  .pb-sm-2 { padding-bottom: 0.5rem !important; }
  .pl-sm-2 { padding-left: 0.5rem !important; }
  .px-sm-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .py-sm-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .p-sm-3 { padding: 1rem 1rem !important; }
  .pt-sm-3 { padding-top: 1rem !important; }
  .pr-sm-3 { padding-right: 1rem !important; }
  .pb-sm-3 { padding-bottom: 1rem !important; }
  .pl-sm-3 { padding-left: 1rem !important; }
  .px-sm-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .py-sm-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .p-sm-4 { padding: 1.5rem 1.5rem !important; }
  .pt-sm-4 { padding-top: 1.5rem !important; }
  .pr-sm-4 { padding-right: 1.5rem !important; }
  .pb-sm-4 { padding-bottom: 1.5rem !important; }
  .pl-sm-4 { padding-left: 1.5rem !important; }
  .px-sm-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .py-sm-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .p-sm-5 { padding: 3rem 3rem !important; }
  .pt-sm-5 { padding-top: 3rem !important; }
  .pr-sm-5 { padding-right: 3rem !important; }
  .pb-sm-5 { padding-bottom: 3rem !important; }
  .pl-sm-5 { padding-left: 3rem !important; }
  .px-sm-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-sm-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .m-sm-auto { margin: auto !important; }
  .mt-sm-auto { margin-top: auto !important; }
  .mr-sm-auto { margin-right: auto !important; }
  .mb-sm-auto { margin-bottom: auto !important; }
  .ml-sm-auto { margin-left: auto !important; }
  .mx-sm-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-sm-auto { margin-top: auto !important; margin-bottom: auto !important; } }
@media (min-width: 768px) { .m-md-0 { margin: 0 0 !important; }
  .mt-md-0 { margin-top: 0 !important; }
  .mr-md-0 { margin-right: 0 !important; }
  .mb-md-0 { margin-bottom: 0 !important; }
  .ml-md-0 { margin-left: 0 !important; }
  .mx-md-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .m-md-1 { margin: 0.25rem 0.25rem !important; }
  .mt-md-1 { margin-top: 0.25rem !important; }
  .mr-md-1 { margin-right: 0.25rem !important; }
  .mb-md-1 { margin-bottom: 0.25rem !important; }
  .ml-md-1 { margin-left: 0.25rem !important; }
  .mx-md-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .my-md-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .m-md-2 { margin: 0.5rem 0.5rem !important; }
  .mt-md-2 { margin-top: 0.5rem !important; }
  .mr-md-2 { margin-right: 0.5rem !important; }
  .mb-md-2 { margin-bottom: 0.5rem !important; }
  .ml-md-2 { margin-left: 0.5rem !important; }
  .mx-md-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .my-md-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .m-md-3 { margin: 1rem 1rem !important; }
  .mt-md-3 { margin-top: 1rem !important; }
  .mr-md-3 { margin-right: 1rem !important; }
  .mb-md-3 { margin-bottom: 1rem !important; }
  .ml-md-3 { margin-left: 1rem !important; }
  .mx-md-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .my-md-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .m-md-4 { margin: 1.5rem 1.5rem !important; }
  .mt-md-4 { margin-top: 1.5rem !important; }
  .mr-md-4 { margin-right: 1.5rem !important; }
  .mb-md-4 { margin-bottom: 1.5rem !important; }
  .ml-md-4 { margin-left: 1.5rem !important; }
  .mx-md-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .my-md-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .m-md-5 { margin: 3rem 3rem !important; }
  .mt-md-5 { margin-top: 3rem !important; }
  .mr-md-5 { margin-right: 3rem !important; }
  .mb-md-5 { margin-bottom: 3rem !important; }
  .ml-md-5 { margin-left: 3rem !important; }
  .mx-md-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .my-md-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .p-md-0 { padding: 0 0 !important; }
  .pt-md-0 { padding-top: 0 !important; }
  .pr-md-0 { padding-right: 0 !important; }
  .pb-md-0 { padding-bottom: 0 !important; }
  .pl-md-0 { padding-left: 0 !important; }
  .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .p-md-1 { padding: 0.25rem 0.25rem !important; }
  .pt-md-1 { padding-top: 0.25rem !important; }
  .pr-md-1 { padding-right: 0.25rem !important; }
  .pb-md-1 { padding-bottom: 0.25rem !important; }
  .pl-md-1 { padding-left: 0.25rem !important; }
  .px-md-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .py-md-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .p-md-2 { padding: 0.5rem 0.5rem !important; }
  .pt-md-2 { padding-top: 0.5rem !important; }
  .pr-md-2 { padding-right: 0.5rem !important; }
  .pb-md-2 { padding-bottom: 0.5rem !important; }
  .pl-md-2 { padding-left: 0.5rem !important; }
  .px-md-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .py-md-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .p-md-3 { padding: 1rem 1rem !important; }
  .pt-md-3 { padding-top: 1rem !important; }
  .pr-md-3 { padding-right: 1rem !important; }
  .pb-md-3 { padding-bottom: 1rem !important; }
  .pl-md-3 { padding-left: 1rem !important; }
  .px-md-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .py-md-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .p-md-4 { padding: 1.5rem 1.5rem !important; }
  .pt-md-4 { padding-top: 1.5rem !important; }
  .pr-md-4 { padding-right: 1.5rem !important; }
  .pb-md-4 { padding-bottom: 1.5rem !important; }
  .pl-md-4 { padding-left: 1.5rem !important; }
  .px-md-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .py-md-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .p-md-5 { padding: 3rem 3rem !important; }
  .pt-md-5 { padding-top: 3rem !important; }
  .pr-md-5 { padding-right: 3rem !important; }
  .pb-md-5 { padding-bottom: 3rem !important; }
  .pl-md-5 { padding-left: 3rem !important; }
  .px-md-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-md-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .m-md-auto { margin: auto !important; }
  .mt-md-auto { margin-top: auto !important; }
  .mr-md-auto { margin-right: auto !important; }
  .mb-md-auto { margin-bottom: auto !important; }
  .ml-md-auto { margin-left: auto !important; }
  .mx-md-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-md-auto { margin-top: auto !important; margin-bottom: auto !important; } }
@media (min-width: 992px) { .m-lg-0 { margin: 0 0 !important; }
  .mt-lg-0 { margin-top: 0 !important; }
  .mr-lg-0 { margin-right: 0 !important; }
  .mb-lg-0 { margin-bottom: 0 !important; }
  .ml-lg-0 { margin-left: 0 !important; }
  .mx-lg-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .m-lg-1 { margin: 0.25rem 0.25rem !important; }
  .mt-lg-1 { margin-top: 0.25rem !important; }
  .mr-lg-1 { margin-right: 0.25rem !important; }
  .mb-lg-1 { margin-bottom: 0.25rem !important; }
  .ml-lg-1 { margin-left: 0.25rem !important; }
  .mx-lg-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .my-lg-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .m-lg-2 { margin: 0.5rem 0.5rem !important; }
  .mt-lg-2 { margin-top: 0.5rem !important; }
  .mr-lg-2 { margin-right: 0.5rem !important; }
  .mb-lg-2 { margin-bottom: 0.5rem !important; }
  .ml-lg-2 { margin-left: 0.5rem !important; }
  .mx-lg-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .my-lg-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .m-lg-3 { margin: 1rem 1rem !important; }
  .mt-lg-3 { margin-top: 1rem !important; }
  .mr-lg-3 { margin-right: 1rem !important; }
  .mb-lg-3 { margin-bottom: 1rem !important; }
  .ml-lg-3 { margin-left: 1rem !important; }
  .mx-lg-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .my-lg-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .m-lg-4 { margin: 1.5rem 1.5rem !important; }
  .mt-lg-4 { margin-top: 1.5rem !important; }
  .mr-lg-4 { margin-right: 1.5rem !important; }
  .mb-lg-4 { margin-bottom: 1.5rem !important; }
  .ml-lg-4 { margin-left: 1.5rem !important; }
  .mx-lg-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .my-lg-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .m-lg-5 { margin: 3rem 3rem !important; }
  .mt-lg-5 { margin-top: 3rem !important; }
  .mr-lg-5 { margin-right: 3rem !important; }
  .mb-lg-5 { margin-bottom: 3rem !important; }
  .ml-lg-5 { margin-left: 3rem !important; }
  .mx-lg-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .p-lg-0 { padding: 0 0 !important; }
  .pt-lg-0 { padding-top: 0 !important; }
  .pr-lg-0 { padding-right: 0 !important; }
  .pb-lg-0 { padding-bottom: 0 !important; }
  .pl-lg-0 { padding-left: 0 !important; }
  .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .p-lg-1 { padding: 0.25rem 0.25rem !important; }
  .pt-lg-1 { padding-top: 0.25rem !important; }
  .pr-lg-1 { padding-right: 0.25rem !important; }
  .pb-lg-1 { padding-bottom: 0.25rem !important; }
  .pl-lg-1 { padding-left: 0.25rem !important; }
  .px-lg-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .py-lg-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .p-lg-2 { padding: 0.5rem 0.5rem !important; }
  .pt-lg-2 { padding-top: 0.5rem !important; }
  .pr-lg-2 { padding-right: 0.5rem !important; }
  .pb-lg-2 { padding-bottom: 0.5rem !important; }
  .pl-lg-2 { padding-left: 0.5rem !important; }
  .px-lg-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .py-lg-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .p-lg-3 { padding: 1rem 1rem !important; }
  .pt-lg-3 { padding-top: 1rem !important; }
  .pr-lg-3 { padding-right: 1rem !important; }
  .pb-lg-3 { padding-bottom: 1rem !important; }
  .pl-lg-3 { padding-left: 1rem !important; }
  .px-lg-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .py-lg-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .p-lg-4 { padding: 1.5rem 1.5rem !important; }
  .pt-lg-4 { padding-top: 1.5rem !important; }
  .pr-lg-4 { padding-right: 1.5rem !important; }
  .pb-lg-4 { padding-bottom: 1.5rem !important; }
  .pl-lg-4 { padding-left: 1.5rem !important; }
  .px-lg-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .py-lg-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .p-lg-5 { padding: 3rem 3rem !important; }
  .pt-lg-5 { padding-top: 3rem !important; }
  .pr-lg-5 { padding-right: 3rem !important; }
  .pb-lg-5 { padding-bottom: 3rem !important; }
  .pl-lg-5 { padding-left: 3rem !important; }
  .px-lg-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-lg-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .m-lg-auto { margin: auto !important; }
  .mt-lg-auto { margin-top: auto !important; }
  .mr-lg-auto { margin-right: auto !important; }
  .mb-lg-auto { margin-bottom: auto !important; }
  .ml-lg-auto { margin-left: auto !important; }
  .mx-lg-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-lg-auto { margin-top: auto !important; margin-bottom: auto !important; } }
@media (min-width: 1200px) { .m-xl-0 { margin: 0 0 !important; }
  .mt-xl-0 { margin-top: 0 !important; }
  .mr-xl-0 { margin-right: 0 !important; }
  .mb-xl-0 { margin-bottom: 0 !important; }
  .ml-xl-0 { margin-left: 0 !important; }
  .mx-xl-0 { margin-right: 0 !important; margin-left: 0 !important; }
  .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
  .m-xl-1 { margin: 0.25rem 0.25rem !important; }
  .mt-xl-1 { margin-top: 0.25rem !important; }
  .mr-xl-1 { margin-right: 0.25rem !important; }
  .mb-xl-1 { margin-bottom: 0.25rem !important; }
  .ml-xl-1 { margin-left: 0.25rem !important; }
  .mx-xl-1 { margin-right: 0.25rem !important; margin-left: 0.25rem !important; }
  .my-xl-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; }
  .m-xl-2 { margin: 0.5rem 0.5rem !important; }
  .mt-xl-2 { margin-top: 0.5rem !important; }
  .mr-xl-2 { margin-right: 0.5rem !important; }
  .mb-xl-2 { margin-bottom: 0.5rem !important; }
  .ml-xl-2 { margin-left: 0.5rem !important; }
  .mx-xl-2 { margin-right: 0.5rem !important; margin-left: 0.5rem !important; }
  .my-xl-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; }
  .m-xl-3 { margin: 1rem 1rem !important; }
  .mt-xl-3 { margin-top: 1rem !important; }
  .mr-xl-3 { margin-right: 1rem !important; }
  .mb-xl-3 { margin-bottom: 1rem !important; }
  .ml-xl-3 { margin-left: 1rem !important; }
  .mx-xl-3 { margin-right: 1rem !important; margin-left: 1rem !important; }
  .my-xl-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
  .m-xl-4 { margin: 1.5rem 1.5rem !important; }
  .mt-xl-4 { margin-top: 1.5rem !important; }
  .mr-xl-4 { margin-right: 1.5rem !important; }
  .mb-xl-4 { margin-bottom: 1.5rem !important; }
  .ml-xl-4 { margin-left: 1.5rem !important; }
  .mx-xl-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; }
  .my-xl-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
  .m-xl-5 { margin: 3rem 3rem !important; }
  .mt-xl-5 { margin-top: 3rem !important; }
  .mr-xl-5 { margin-right: 3rem !important; }
  .mb-xl-5 { margin-bottom: 3rem !important; }
  .ml-xl-5 { margin-left: 3rem !important; }
  .mx-xl-5 { margin-right: 3rem !important; margin-left: 3rem !important; }
  .my-xl-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
  .p-xl-0 { padding: 0 0 !important; }
  .pt-xl-0 { padding-top: 0 !important; }
  .pr-xl-0 { padding-right: 0 !important; }
  .pb-xl-0 { padding-bottom: 0 !important; }
  .pl-xl-0 { padding-left: 0 !important; }
  .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; }
  .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .p-xl-1 { padding: 0.25rem 0.25rem !important; }
  .pt-xl-1 { padding-top: 0.25rem !important; }
  .pr-xl-1 { padding-right: 0.25rem !important; }
  .pb-xl-1 { padding-bottom: 0.25rem !important; }
  .pl-xl-1 { padding-left: 0.25rem !important; }
  .px-xl-1 { padding-right: 0.25rem !important; padding-left: 0.25rem !important; }
  .py-xl-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
  .p-xl-2 { padding: 0.5rem 0.5rem !important; }
  .pt-xl-2 { padding-top: 0.5rem !important; }
  .pr-xl-2 { padding-right: 0.5rem !important; }
  .pb-xl-2 { padding-bottom: 0.5rem !important; }
  .pl-xl-2 { padding-left: 0.5rem !important; }
  .px-xl-2 { padding-right: 0.5rem !important; padding-left: 0.5rem !important; }
  .py-xl-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
  .p-xl-3 { padding: 1rem 1rem !important; }
  .pt-xl-3 { padding-top: 1rem !important; }
  .pr-xl-3 { padding-right: 1rem !important; }
  .pb-xl-3 { padding-bottom: 1rem !important; }
  .pl-xl-3 { padding-left: 1rem !important; }
  .px-xl-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
  .py-xl-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .p-xl-4 { padding: 1.5rem 1.5rem !important; }
  .pt-xl-4 { padding-top: 1.5rem !important; }
  .pr-xl-4 { padding-right: 1.5rem !important; }
  .pb-xl-4 { padding-bottom: 1.5rem !important; }
  .pl-xl-4 { padding-left: 1.5rem !important; }
  .px-xl-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
  .py-xl-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .p-xl-5 { padding: 3rem 3rem !important; }
  .pt-xl-5 { padding-top: 3rem !important; }
  .pr-xl-5 { padding-right: 3rem !important; }
  .pb-xl-5 { padding-bottom: 3rem !important; }
  .pl-xl-5 { padding-left: 3rem !important; }
  .px-xl-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
  .py-xl-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .m-xl-auto { margin: auto !important; }
  .mt-xl-auto { margin-top: auto !important; }
  .mr-xl-auto { margin-right: auto !important; }
  .mb-xl-auto { margin-bottom: auto !important; }
  .ml-xl-auto { margin-left: auto !important; }
  .mx-xl-auto { margin-right: auto !important; margin-left: auto !important; }
  .my-xl-auto { margin-top: auto !important; margin-bottom: auto !important; } }
.text-justify { text-align: justify !important; }

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

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

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

.text-right, .footer .footer-discussion { text-align: right !important; }

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

@media (min-width: 576px) { .text-sm-left { text-align: left !important; }
  .text-sm-right { text-align: right !important; }
  .text-sm-center { text-align: center !important; } }
@media (min-width: 768px) { .text-md-left { text-align: left !important; }
  .text-md-right { text-align: right !important; }
  .text-md-center { text-align: center !important; } }
@media (min-width: 992px) { .text-lg-left { text-align: left !important; }
  .text-lg-right { text-align: right !important; }
  .text-lg-center { text-align: center !important; } }
@media (min-width: 1200px) { .text-xl-left { text-align: left !important; }
  .text-xl-right { text-align: right !important; }
  .text-xl-center { text-align: center !important; } }
.text-lowercase { text-transform: lowercase !important; }

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

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

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

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

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

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

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

a.text-muted:focus, a.text-muted:hover { color: #4b5257 !important; }

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

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

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

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

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

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

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

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

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

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

.text-gray-dark { color: #292b2c !important; }

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

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

.invisible { visibility: hidden !important; }

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

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

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

html { position: relative; min-height: 100%; }

body { min-height: 100%; /* Margin bottom by footer height */ margin-bottom: 130px; background-color: #efefef; font-family: 'Open Sans', sans-serif; font-weight: 400; color: rgba 0, 0, 0, 0.5; }

p { color: rgba 0, 0, 0, 0.5; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-weight: 700; }

a { color: #4A65D3; }
a:hover { color: #4370FF; text-decoration: none; }

.divider { min-height: 100px; background-color: #F54EA2; }

img.alignright { float: right; margin: 0 0 1em 1em; }

img.alignleft { float: left; margin: 0 1em 1em 0; }

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

a img.alignright { float: right; margin: 0 0 1em 1em; }

a img.alignleft { float: left; margin: 0 1em 1em 0; }

a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.content { background-color: #fff; }

.header-bg { min-height: 175px; background-image: url("imgs/pwnbot-tile.png"); }

.main-image { min-height: 600px; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; }

.pwnd-key { min-height: 1024px; max-height: 1075px; background-image: url("imgs/pwnstack.png"); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; }
.pwnd-key .container { margin-top: 150px; }
.pwnd-key h1 { color: #efefef; text-transform: uppercase; }

.pwnd-info { min-height: 350px; background-image: url("imgs/splice-bg.png"); background-size: cover; background-position: top 50%; background-repeat: no-repeat; border-bottom: 1px solid #fff; }
.pwnd-info h3 { color: #efefef; }

.pwnd-buy { min-height: 250px; background-image: url("imgs/hank-bg.png"); background-size: cover; background-position: top; background-repeat: no-repeat; border-right: 1px solid #fff; }
.pwnd-buy p { color: #efefef; }
.pwnd-buy h4 { color: #efefef; }

.pwnd-signup { min-height: 250px; background-image: url("imgs/ito-bg.png"); background-size: cover; background-position: 50% 10%; background-repeat: no-repeat; }
.pwnd-signup p { color: #efefef; }
.pwnd-signup h4 { color: #efefef; }

.card { border: none; }

.news { background-color: #ffffff; }

.navbar { text-transform: uppercase; }
.navbar-toggler { background-color: #efefef; }

.navbar-inverse { background-color: rgba(0, 0, 0, 0.85); }
.navbar-inverse .navbar-nav .nav-link { color: #efefef; padding: 0 20px; }
.navbar-inverse .navbar-nav .nav-link:hover { color: #F54EA2; }
.navbar-inverse .navbar-nav .active .nav-link { color: #F54EA2; }

.nav-link { color: #F54EA2; }

.btn { border-radius: 0; border: none; font-weight: 700; color: #efefef; }
.btn-primary { background-color: #4A65D3; }
.btn-primary:hover { background-color: #4370FF; }
.btn-primary:active { background-color: #4370FF; }
.btn-secondary { background-color: #F54EA2; }
.btn-secondary:hover { background-color: #FF279E; color: #efefef; }

.overlay { background-color: rgba(0, 0, 0, 0.65); padding: 20px; color: #efefef; }

.footer { position: absolute; bottom: 0; width: 100%; /* Set the fixed height of the footer here */ height: 130px; background-color: #000; color: #efefef; }

.entry-date { color: rgba(0, 0, 0, 0.35); font-size: 1.2; }

.header-white { color: #efefef; }

@media (max-width: 767px) { body { margin-bottom: 200px; }
  .main-image, .main-image-archive { min-height: 300px; }
  .pwnd-key { min-height: 400px; max-height: 600px; }
  .pwnd-key .container { margin-top: 50px; }
  .pwnd-buy { background-position: left; border-right: none; border-bottom: 1px solid #fff; }
  .footer { height: 200px; }
  .footer .footer-discussion { padding-top: 25px; text-align: center !important; }
  .footer .footer-legal { text-align: center; } }



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19ub3JtYWxpemUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL190eXBlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fYnV0dG9ucy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fbmF2YmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFkZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19hbGVydC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL190b29sdGlwLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2Zvcm1zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIl9wd25kLXRoZW1lLnNjc3MiLCJfcHduZC12YXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUNMSCw0RUFBNEU7QUQwRHBFLCtFQUFzRTtBQUN0RSxtRkFBMEU7QUMvQ2xGLE9BQ0Usd0JBQXVCLENBQ3ZCLGtCQUFpQixDQUNqQiwyQkFBMEIsQ0FDMUIsK0JBQThCLEVBQUE7O0FBVWhDLE9BQ0UsVUFBUyxFQUFBOztBQU9YLCtDQU1FLGVBQWMsRUFBQTs7QUFRaEIsS0FDRSxlQUFjLENBQ2QsaUJBQWdCLEVBQUE7O0FBV2xCLDJCQUdFLGVBQWMsRUFBQTs7QUFPaEIsU0FDRSxpQkFBZ0IsRUFBQTs7QUFRbEIsS0FDRSxnQ0FBdUIsQ0FBdkIsd0JBQXVCLENBQ3ZCLFVBQVMsQ0FDVCxrQkFBaUIsRUFBQTs7QUFR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LEVBQUE7RUUzQi9CLGFGdUNSLFlBQXVELEVBQUE7RUV2Qy9DLGFGdUNSLHFCQUF3RCxFQUFBO0VFdkNoRCxhRnVDUixzQkFBd0QsRUFBQTtFRXZDaEQsYUZ1Q1IsV0FBd0QsRUFBQTtFRXZDaEQsYUZ1Q1Isc0JBQXdELEVBQUE7RUV2Q2hELGFGdUNSLHNCQUF3RCxFQUFBO0VFdkNoRCxhRnVDUixXQUF3RCxFQUFBO0VFdkNoRCxhRnVDUixzQkFBd0QsRUFBQTtFRXZDaEQsYUZ1Q1Isc0JBQXdELEVBQUE7RUV2Q2hELGFGdUNSLFdBQXdELEVBQUE7RUV2Q2hELGNGdUNSLHNCQUF3RCxFQUFBO0VFdkNoRCxjRnVDUixzQkFBd0QsRUFBQTtFRXZDaEQsY0Z1Q1IsWUFBd0QsRUFBQTtFRXZDaEQsYUZtQ1IsV0FBc0QsRUFBQTtFRW5DOUMsYUZtQ1Isb0JBQXVELEVBQUE7RUVuQy9DLGFGbUNSLHFCQUF1RCxFQUFBO0VFbkMvQyxhRm1DUixVQUF1RCxFQUFBO0VFbkMvQyxhRm1DUixxQkFBdUQsRUFBQTtFRW5DL0MsYUZtQ1IscUJBQXVELEVBQUE7RUVuQy9DLGFGbUNSLFVBQXVELEVBQUE7RUVuQy9DLGFGbUNSLHFCQUF1RCxFQUFBO0VFbkMvQyxhRm1DUixxQkFBdUQsRUFBQTtFRW5DL0MsYUZtQ1IsVUFBdUQsRUFBQTtFRW5DL0MsY0ZtQ1IscUJBQXVELEVBQUE7RUVuQy9DLGNGbUNSLHFCQUF1RCxFQUFBO0VFbkMvQyxjRm1DUixXQUF1RCxFQUFBO0VFMUIvQyxlRnNCUixnQkFBeUMsRUFBQTtFRXRCakMsZUZzQlIsMkJBQXlDLEVBQUE7RUV0QmpDLGVGc0JSLDRCQUF5QyxFQUFBO0VFdEJqQyxlRnNCUixpQkFBeUMsRUFBQTtFRXRCakMsZUZzQlIsNEJBQXlDLEVBQUE7RUV0QmpDLGVGc0JSLDRCQUF5QyxFQUFBO0VFdEJqQyxlRnNCUixpQkFBeUMsRUFBQTtFRXRCakMsZUZzQlIsNEJBQXlDLEVBQUE7RUV0QmpDLGVGc0JSLDRCQUF5QyxFQUFBO0VFdEJqQyxlRnNCUixpQkFBeUMsRUFBQTtFRXRC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cUI3QjQzQmlDLEM2QjMzQmpDLGU3QiszQnVDLEM2QjkzQnZDLGFBQWlDLEVBQUE7QUFTbkMsb0RBQ0UsMkJBQTBCLEVBQUE7QUFFNUIsb0RBQ0Usc0JBQXFCLEVBQUE7QUFHdkIsMEJBQ0UsZTdCNjJCdUMsRUFBQTs7QStCaDVCM0MsY0FDRSxxQkFBYSxDQUFiLHFCQUFhLENBQWIsY0FBYSxDQUViLGdCQUFlLENBQ2YsaUJBQWdCLEN6QkFkLHVCTjRUMkIsRUFBQTs7QStCdFQzQixvQ0FDRSxlQUFjLEN6Qm9CaEIsbUNOaVMyQixDTWhTM0IsZ0NOZ1MyQixFQUFBO0ErQmhUM0IsbUN6QkNBLG9DTitTMkIsQ005UzNCLGlDTjhTMkIsRUFBQTtBK0IzUzdCLCtCQUNFLFdBQVUsQ0FDVixZL0JtNkJnQyxDK0JsNkJoQywwQi9CZzFCa0QsQytCLzBCbEQsc0IvQiswQmtELEVBQUE7QStCNTBCcEQsaUNBQ0UsZS9CbTNCdUMsQytCbDNCdkMscUJBQW9CLENBQ3BCLG9CL0I2YnlELEMrQjViekQsdUIvQjA1QmdDLEMrQno1QmhDLG1CL0Jtb0J1QyxFQUFBOztBK0IvbkIzQyxhQUNFLG1CQUFrQixDQUNsQixlQUFjLENBQ2Qsd0JBQW9ELENBQ3BELGtCQUFpQixDQUNqQixrQi9CeW1Cd0MsQytCeG1CeEMsZS9CNnpCb0QsQytCNXpCcEQsdUIvQjg0QmtDLEMrQjc0QmxDLHVCQUErRCxFQUFBO0E5QnpCN0QscUM4QjRCQSxlL0IwbUJvRCxDK0J6bUJwRCxzQkFBcUIsQ0FDckIsMEIvQjQxQnlDLEMrQjMxQnpDLG1CL0J5bUJ1QyxFQUFBOztBZ0N6cEJ6Qyw0QkFDRSx3QkFBOEIsQ0FDOUIsbUJoQ3VQb0IsRUFBQTtBZ0NsUGxCLG1EMUJxQkYsa0NOa1MwQixDTWpTMUIsK0JOaVMwQixFQUFBO0FnQ2xUeEIsa0QxQkVGLG1DTmdUMEIsQ00vUzFCLGdDTitTMEIsRUFBQTs7QWdDOVQ1Qiw0QkFDRSx3QkFBOEIsQ0FDOUIsb0JoQ3dQb0IsRUFBQTtBZ0NuUGxCLG1EMUJxQkYsa0NObVMwQixDTWxTMUIsK0JOa1Mw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QywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyx3QkFBK0MsRUFBQTtFQUNoRixXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDRCQUFvQyxDQUNwQywyQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDBCQUFxQyxDQUNyQyw2QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxvQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxtQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGtDQUFvQyxDQUNwQyxpQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLGdDQUFxQyxDQUNyQyxtQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQU0zQyxhQUFvQix3QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw0QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw4QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiwrQkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw2QkFBOEIsRUFBQTtFQUNsRCxjQUNFLDhCQUE2QixDQUM3Qiw2QkFBNkIsRUFBQTtFQUUvQixjQUNFLDRCQUE4QixDQUM5QiwrQkFBOEIsRUFBQSxFQUFBO0FwRGlCaEMsNEJvRDdDSSxVQUFpQyx1QkFBK0MsRUFBQTtFQUNoRixXQUFpQyx5QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDJCQUFvQyxDQUNwQywwQkFBb0MsRUFBQTtFQUV0QyxXQUNFLHlCQUFxQyxDQUNyQyw0QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxtQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyx3QkFBK0MsRUFBQTtFQUNoRixXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDRCQUFvQyxDQUNwQywyQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDBCQUFxQyxDQUNyQyw2QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxvQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxtQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGtDQUFvQyxDQUNwQyxpQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLGdDQUFxQyxDQUNyQyxtQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQU0zQyxhQUFvQix3QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw0QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw4QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiwrQkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw2QkFBOEIsRUFBQTtFQUNsRCxjQUNFLDhCQUE2QixDQUM3Qiw2QkFBNkIsRUFBQTtFQUUvQixjQUNFLDRCQUE4QixDQUM5QiwrQkFBOEIsRUFBQSxFQUFBO0FwRGlCaEMsNEJvRDdDSSxVQUFpQyx1QkFBK0MsRUFBQTtFQUNoRixXQUFpQyx5QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDJCQUFvQyxDQUNwQywwQkFBb0MsRUFBQTtFQUV0QyxXQUNFLHlCQUFxQyxDQUNyQyw0QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxtQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyx3QkFBK0MsRUFBQTtFQUNoRixXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDRCQUFvQyxDQUNwQywyQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDBCQUFxQyxDQUNyQyw2QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxvQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxtQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGtDQUFvQyxDQUNwQyxpQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLGdDQUFxQyxDQUNyQyxtQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxrQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw4QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUNFLCtCQUFvQyxDQUNwQyw4QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDZCQUFxQyxDQUNyQyxnQ0FBcUMsRUFBQTtFQU0zQyxhQUFvQix3QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw0QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw4QkFBOEIsRUFBQTtFQUNsRCxjQUFvQiwrQkFBOEIsRUFBQTtFQUNsRCxjQUFvQiw2QkFBOEIsRUFBQTtFQUNsRCxjQUNFLDhCQUE2QixDQUM3Qiw2QkFBNkIsRUFBQTtFQUUvQixjQUNFLDRCQUE4QixDQUM5QiwrQkFBOEIsRUFBQSxFQUFBO0FwRGlCaEMsNkJvRDdDSSxVQUFpQyx1QkFBK0MsRUFBQTtFQUNoRixXQUFpQyx5QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDJCQUFvQyxDQUNwQywwQkFBb0MsRUFBQTtFQUV0QyxXQUNFLHlCQUFxQyxDQUNyQyw0QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxtQ0FBK0MsRUFBQTtFQUNoRixXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUNFLGlDQUFvQyxDQUNwQyxnQ0FBb0MsRUFBQTtFQUV0QyxXQUNFLCtCQUFxQyxDQUNyQyxrQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxpQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxpQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUNFLGdDQUFvQyxDQUNwQywrQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDhCQUFxQyxDQUNyQyxpQ0FBcUMsRUFBQTtFQVh2QyxVQUFpQyw2QkFBK0MsRUFBQTtFQUNoRixXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw4QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywrQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUNFLDhCQUFvQyxDQUNwQyw2QkFBb0MsRUFBQTtFQUV0QyxXQUNFLDRCQUFxQyxDQUNyQywrQkFBcUMsRUFBQTtFQVh2QyxVQUFpQyx3QkFBK0MsRUFBQTtFQUNoRixXQUFpQywwQkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw0QkFBcUMsRUFBQTtFQUN0RSxXQUFpQyw2QkFBcUMsRUFBQTtFQUN0RSxXQUFpQywyQkFBcUMsRUFBQTtFQUN0RSxXQUNFLDRCQUFvQyxDQUNwQywyQkFBb0MsRUFBQTtFQUV0QyxXQUNFLDBCQUFxQyxDQUNyQyw2QkFBcUMsRUFBQTtFQVh2QyxVQUFpQyxvQ0FBK0MsRUFBQTtFQUNoRixXQUFpQyxnQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxrQ0FBcUMsRUFBQTtFQUN0RSxXQUFpQyxtQ0FBcUMsRUFBQTtF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QUNULFlBQVcsQ0FDWCw2Q0FBNkMsQ0FDN0MsY0FBYSxDQUNiLHVCQUFzQixDQUN0QixlQUFjLEVBQUE7O0FBTWhCLGNBQ0UsMkJBQXlCLENBQ3pCLGVBQWMsRUFBQTs7QUFHaEIsZ0JBQ0UsZUN4TW9CLEVBQUE7O0E1RHFFbEIsNEIyRHdJRixPQUNFLHFCQUFvQixFQUFBO0VBR3hCLG1DQUNFLGtCQUFpQixFQUFBO0VBR2pCLFlBQ0Usa0JBQWlCLENBQ2pCLGtCQUFpQixFQUFBO0VBQ2pCLHVCQUNFLGlCQUFnQixFQUFBO0VBR3BCLFlBQ0EsMEJBQXlCLENBQ3pCLG1CQUFrQixDQUNsQiw4QkFBNkIsRUFBQTtFQU03QixVQUNFLGNBQWEsRUFBQTtFQUNiLDZCQUNFLGtCQUFpQixDQUNqQiw4QkFBNEIsRUFBQTtFQUU5Qix3QkFDRSxtQkFBa0IsRUFBQSxFQUFBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBCb290c3RyYXAgdjQuMC4wLWFscGhhLjYgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcclxuICogQ29weXJpZ2h0IDIwMTEtMjAxNyBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcclxuICogQ29weXJpZ2h0IDIwMTEtMjAxNyBUd2l0dGVyLCBJbmMuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXHJcbiAqL1xyXG5cclxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xyXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnNcIjtcclxuQGltcG9ydCBcImN1c3RvbVwiO1xyXG5cclxuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xyXG5AaW1wb3J0IFwibm9ybWFsaXplXCI7XHJcbkBpbXBvcnQgXCJwcmludFwiO1xyXG5cclxuLy8gQ29yZSBDU1NcclxuQGltcG9ydCBcInJlYm9vdFwiO1xyXG5AaW1wb3J0IFwidHlwZVwiO1xyXG5AaW1wb3J0IFwiaW1hZ2VzXCI7XHJcbkBpbXBvcnQgXCJjb2RlXCI7XHJcbkBpbXBvcnQgXCJncmlkXCI7XHJcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcclxuQGltcG9ydCBcImZvcm1zXCI7XHJcbkBpbXBvcnQgXCJidXR0b25zXCI7XHJcblxyXG4vLyBDb21wb25lbnRzXHJcbkBpbXBvcnQgXCJ0cmFuc2l0aW9uc1wiO1xyXG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcclxuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xyXG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcclxuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xyXG5AaW1wb3J0IFwibmF2XCI7XHJcbkBpbXBvcnQgXCJuYXZiYXJcIjtcclxuQGltcG9ydCBcImNhcmRcIjtcclxuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcclxuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcclxuQGltcG9ydCBcImJhZGdlXCI7XHJcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcclxuQGltcG9ydCBcImFsZXJ0XCI7XHJcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xyXG5AaW1wb3J0IFwibWVkaWFcIjtcclxuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcclxuQGltcG9ydCBcInJlc3BvbnNpdmUtZW1iZWRcIjtcclxuQGltcG9ydCBcImNsb3NlXCI7XHJcblxyXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcclxuQGltcG9ydCBcIm1vZGFsXCI7XHJcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XHJcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XHJcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xyXG5cclxuLy8gVXRpbGl0eSBjbGFzc2VzXHJcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcclxuXHJcbi8vIEN1c3RvbSBUaGVtZVxyXG5AaW1wb3J0IFwicHduZC12YXJzXCI7XHJcbkBpbXBvcnQgXCJwd25kLXRoZW1lXCI7XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Q2FiaW46NDAwLDQwMGksNzAwLDcwMGknKTtcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDQwMGksNzAwLDcwMGknKTsiLCIvKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vLyAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4vLyAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vL1xuXG4vLyBEb2N1bWVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xufVxuXG4vLyBTZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vIEdyb3VwaW5nIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuLy9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvLyAxXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy8gMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuLy8gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4vL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vXG4vLyBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gIG1hcmdpbjogMDsgLy8gMlxufVxuXG4vL1xuLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4vLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQgeyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4vLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvLyAxXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbi8vXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vL1xuLy8gQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4vLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4vLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7IC8vIDNcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbi8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4vL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuLy9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxufVxuXG4vLyBJbnRlcmFjdGl2ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuLy9cblxuZGV0YWlscywgLy8gMVxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLy8gU2NyaXB0aW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4vL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbi8vXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gSGlkZGVuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuLy9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlcixcbiAgICBwOjpmaXJzdC1sZXR0ZXIsXG4gICAgZGl2OjpmaXJzdC1sZXR0ZXIsXG4gICAgYmxvY2txdW90ZTo6Zmlyc3QtbGV0dGVyLFxuICAgIGxpOjpmaXJzdC1sZXR0ZXIsXG4gICAgcDo6Zmlyc3QtbGluZSxcbiAgICBkaXY6OmZpcnN0LWxpbmUsXG4gICAgYmxvY2txdW90ZTo6Zmlyc3QtbGluZSxcbiAgICBsaTo6Zmlyc3QtbGluZSB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudCwgRHVwbGljYXRlUHJvcGVydHlcblxuLy8gUmVib290XG4vL1xuLy8gR2xvYmFsIHJlc2V0cyB0byBjb21tb24gSFRNTCBlbGVtZW50cyBhbmQgbW9yZSBmb3IgZWFzaWVyIHVzYWdlIGJ5IEJvb3RzdHJhcC5cbi8vIEFkZHMgYWRkaXRpb25hbCBydWxlcyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcywgaW5jbHVkaW5nIHNldmVyYWwgb3ZlcnJpZGVzLlxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCB0byBgYm9yZGVyLWJveGAgc28gdGhhdCB3aGVuIHlvdSBhZGRcbi8vIGBwYWRkaW5nYCBvciBgYm9yZGVyYHMgdG8gYW4gZWxlbWVudCwgdGhlIG92ZXJhbGwgZGVjbGFyZWQgYHdpZHRoYCBkb2VzIG5vdFxuLy8gY2hhbmdlLiBGb3IgZXhhbXBsZSwgYHdpZHRoOiAxMDBweDtgIHdpbGwgYWx3YXlzIGJlIGAxMDBweGAgZGVzcGl0ZSB0aGVcbi8vIGBib3JkZXI6IDEwcHggc29saWQgcmVkO2AgYW5kIGBwYWRkaW5nOiAyMHB4O2AuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy4gRm9yXG4vLyByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmcuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cblxuLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4vL1xuLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuLy8gc29tZSBjYXNlcy4gU2VlIGh0dHBzOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi8uXG4vLyBFdmVudHVhbGx5IEB2aWV3cG9ydCB3aWxsIHJlcGxhY2UgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+LlxuLy9cbi8vIEhvd2V2ZXIsIGBkZXZpY2Utd2lkdGhgIGlzIGJyb2tlbiBvbiBJRSAxMCBvbiBXaW5kb3dzIChQaG9uZSkgOCxcbi8vIChzZWUgaHR0cHM6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwNDk3KVxuLy8gYW5kIHRoZSBmaXggZm9yIHRoYXQgaW52b2x2ZXMgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnRcbi8vIGFuZCBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUy5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBXZSBhc3N1bWUgbm8gaW5pdGlhbCBwaXhlbCBgZm9udC1zaXplYCBmb3IgYWNjZXNzaWJpbGl0eSByZWFzb25zLiBUaGlzXG4gIC8vIGFsbG93cyB3ZWIgdmlzaXRvcnMgdG8gY3VzdG9taXplIHRoZWlyIGJyb3dzZXIgZGVmYXVsdCBmb250LXNpemUsIG1ha2luZ1xuICAvLyB5b3VyIHByb2plY3QgbW9yZSBpbmNsdXNpdmUgYW5kIGFjY2Vzc2libGUgdG8gZXZlcnlvbmUuXG5cbiAgLy8gQXMgYSBzaWRlLWVmZmVjdCBvZiBzZXR0aW5nIHRoZSBAdmlld3BvcnQgYWJvdmUsXG4gIC8vIElFMTEgJiBFZGdlIG1ha2UgdGhlIHNjcm9sbGJhciBvdmVybGFwIHRoZSBjb250ZW50IGFuZCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIHdoZW4gbm90IGluIHVzZS5cbiAgLy8gVW5mb3J0dW5hdGVseSwgdGhlIGF1dG8tc2hvd2luZyBvZiB0aGUgc2Nyb2xsYmFyIGlzIHNvbWV0aW1lcyB0b28gc2Vuc2l0aXZlLFxuICAvLyB0aHVzIG1ha2luZyBpdCBoYXJkIHRvIGNsaWNrIG9uIHN0dWZmIG5lYXIgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIHBhZ2UuXG4gIC8vIFNvIHdlIGFkZCB0aGlzIHN0eWxlIHRvIGZvcmNlIElFMTEgJiBFZGdlIHRvIHVzZSBhIFwibm9ybWFsXCIsIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg1NDNcbiAgLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzcxNjUzODMvXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xuXG4gIC8vIENoYW5nZXMgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbmFiYnJbdGl0bGVdLFxuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZilcbi8vIHdoaWNoIGhhdmUgbm90IGJlZW4gbWFkZSBleHBsaWNpdGx5IGtleWJvYXJkLWZvY3VzYWJsZSAod2l0aG91dCB0YWJpbmRleCkuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIE5vcm1hbGl6ZSB2NCByZW1vdmVkIHRoaXMgcHJvcGVydHksIGNhdXNpbmcgYDxwcmU+YCBjb250ZW50IHRvIGJyZWFrIG91dCBvZiB3cmFwcGluZyBjb2RlIHNuaXBwZXRzXG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBOb3JtYWxpemUgYWRkcyBgbWFyZ2luYCB0byBgZmlndXJlYHMgYXMgYnJvd3NlcnMgYXBwbHkgaXQgaW5jb25zaXN0ZW50bHkuXG4gIC8vIFdlIHJlc2V0IHRoYXQgdG8gY3JlYXRlIGEgYmV0dGVyIGZsb3cgaW4tcGFnZS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzXG4vL1xuXG5pbWcge1xuICAvLyBCeSBkZWZhdWx0LCBgPGltZz5gcyBhcmUgYGlubGluZS1ibG9ja2AuIFRoaXMgYXNzdW1lcyB0aGF0LCBhbmQgdmVydGljYWxseVxuICAvLyBjZW50ZXJzIHRoZW0uIFRoaXMgd29uJ3QgYXBwbHkgc2hvdWxkIHlvdSByZXNldCB0aGVtIHRvIGBibG9ja2AgbGV2ZWwuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8vIE5vdGU6IGA8aW1nPmBzIGFyZSBkZWxpYmVyYXRlbHkgbm90IG1hZGUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LlxuICAvLyBGb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcywgc2VlIHRoZSBjb21tZW50cyBvbiB0aGUgYC5pbWctZmx1aWRgIGNsYXNzLlxufVxuXG5cbi8vIGlPUyBcImNsaWNrYWJsZSBlbGVtZW50c1wiIGZpeCBmb3Igcm9sZT1cImJ1dHRvblwiXG4vL1xuLy8gRml4ZXMgXCJjbGlja2FiaWxpdHlcIiBpc3N1ZSAoYW5kIG1vcmUgZ2VuZXJhbGx5LCB0aGUgZmlyaW5nIG9mIGV2ZW50cyBzdWNoIGFzIGZvY3VzIGFzIHdlbGwpXG4vLyBmb3IgdHJhZGl0aW9uYWxseSBub24tZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggcm9sZT1cImJ1dHRvblwiXG4vLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuLy8gU2VlOlxuLy8gKiBodHRwczovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cHM6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbltyb2xlPVwiYnV0dG9uXCJdLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSB7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgLy8gTm8gbG9uZ2VyIHBhcnQgb2YgTm9ybWFsaXplIHNpbmNlIHY0XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gQ2VudGVyZWQgYnkgZGVmYXVsdCwgYnV0IGxlZnQtYWxpZ24tZWQgdG8gbWF0Y2ggdGhlIGB0ZGBzIGJlbG93LlxuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBpbmhlcml0ZWQgdGhlcmUuXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAvLyBBcHBseSBhIGRpc2FibGVkIGN1cnNvciBmb3IgcmFkaW9zIGFuZCBjaGVja2JveGVzLlxuICAvL1xuICAvLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgLy8gUmVzZXQgdGhlIGVudGlyZSBsZWdlbmQgZWxlbWVudCB0byBtYXRjaCB0aGUgYGZpZWxkc2V0YFxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gdG9kbzogbmVlZGVkP1xub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuLy8gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4vLyAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gQ29weSBzZXR0aW5ncyBmcm9tIHRoaXMgZmlsZSBpbnRvIHRoZSBwcm92aWRlZCBgX2N1c3RvbS5zY3NzYCB0byBvdmVycmlkZVxuLy8gdGhlIEJvb3RzdHJhcCBkZWZhdWx0cyB3aXRob3V0IG1vZGlmeWluZyBrZXksIHZlcnNpb25lZCBmaWxlcy5cblxuXG4vLyBUYWJsZSBvZiBDb250ZW50c1xuLy9cbi8vIENvbG9yc1xuLy8gT3B0aW9uc1xuLy8gU3BhY2luZ1xuLy8gQm9keVxuLy8gTGlua3Ncbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vIEdyaWQgY29udGFpbmVyc1xuLy8gR3JpZCBjb2x1bW5zXG4vLyBGb250c1xuLy8gQ29tcG9uZW50c1xuLy8gVGFibGVzXG4vLyBCdXR0b25zXG4vLyBGb3Jtc1xuLy8gRHJvcGRvd25zXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vLyBOYXZiYXJcbi8vIE5hdnNcbi8vIFBhZ2luYXRpb25cbi8vIEp1bWJvdHJvblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy8gQ2FyZHNcbi8vIFRvb2x0aXBzXG4vLyBQb3BvdmVyc1xuLy8gQmFkZ2VzXG4vLyBNb2RhbHNcbi8vIEFsZXJ0c1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gTGlzdCBncm91cFxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy8gRmlndXJlc1xuLy8gQnJlYWRjcnVtYnNcbi8vIENhcm91c2VsXG4vLyBDbG9zZVxuLy8gQ29kZVxuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG5cbi8vIEdlbmVyYWwgdmFyaWFibGUgc3RydWN0dXJlXG4vL1xuLy8gVmFyaWFibGUgZm9ybWF0IHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LW1vZGlmaWVyLXN0YXRlLXByb3BlcnR5YCBvcmRlci5cblxuXG4vLyBDb2xvcnNcbi8vXG4vLyBHcmF5c2NhbGUgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbi8vIFN0YXJ0IHdpdGggYXNzaWduaW5nIGNvbG9yIG5hbWVzIHRvIHNwZWNpZmljIGhleCB2YWx1ZXMuXG4kd2hpdGU6ICAjZmZmICFkZWZhdWx0O1xuJGJsYWNrOiAgIzAwMCAhZGVmYXVsdDtcbiRyZWQ6ICAgICNkOTUzNGYgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZjBhZDRlICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmZDUwMCAhZGVmYXVsdDtcbiRncmVlbjogICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYmx1ZTogICAjMDI3NWQ4ICFkZWZhdWx0O1xuJHRlYWw6ICAgIzViYzBkZSAhZGVmYXVsdDtcbiRwaW5rOiAgICNmZjViNzcgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNjEzZDdjICFkZWZhdWx0O1xuXG4vLyBDcmVhdGUgZ3JheXNjYWxlXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgICAgIzI5MmIyYyAhZGVmYXVsdDtcbiRncmF5OiAgICAgICAgICAgICAgICAgICAgICAjNDY0YTRjICFkZWZhdWx0O1xuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgICAgICM2MzZjNzIgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgI2VjZWVlZiAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0ZXN0OiAgICAgICAgICAgICAjZjdmN2Y5ICFkZWZhdWx0O1xuXG4vLyBSZWFzc2lnbiBjb2xvciB2YXJzIHRvIHNlbWFudGljIGNvbG9yIHNjaGVtZVxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICRibHVlICFkZWZhdWx0O1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICAgICAkdGVhbCAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICAgICAkb3JhbmdlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kYnJhbmQtaW52ZXJzZTogICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIC4yNSksXG4gICAgeTogKCRzcGFjZXIteSAqIC4yNSlcbiAgKSxcbiAgMjogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIC41KVxuICApLFxuICAzOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICA0OiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgNTogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGludmVyc2UtYmc6ICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aC1iYXNlOiAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aHM6IChcbiAgeHM6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICBzbTogJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2UsXG4gIG1kOiAkZ3JpZC1ndXR0ZXItd2lkdGgtYmFzZSxcbiAgbGc6ICRncmlkLWd1dHRlci13aWR0aC1iYXNlLFxuICB4bDogJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2VcbikgIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgLjg3NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHM6ICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS41ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWgxOiAyLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgyOiAycmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMzogMS43NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAxcmVtICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYWJici1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItd2lkdGg6IC4yNXJlbSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1zbS1jZWxsLXBhZGRpbmc6ICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiR0YWJsZS1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgMCAwIDAgMnB4IHJnYmEoJGJyYW5kLXByaW1hcnksIC4yNSkgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1wcmltYXJ5LWJnICFkZWZhdWx0O1xuXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgICRidG4td2FybmluZy1iZyAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICRidG4tZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXRvb2xiYXItbWFyZ2luOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywuMTUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3ctZm9jdXM6ICAgICAgICAgJGlucHV0LWJveC1zaGFkb3csIHJnYmEoJGlucHV0LWJvcmRlci1mb2N1cywgLjYpICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yLWZvY3VzOiAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtbGcgKiAkbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAoKCRmb250LXNpemUtc20gKiAkbGluZS1oZWlnaHQtc20pICsgKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6IC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICRzcGFjZXIteSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteTogLjI1cmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLW1hcmdpbi15OiAgICgoJGxpbmUtaGVpZ2h0LWJhc2UgKiAxcmVtKSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAtMiAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWN1cnNvcjogICAgICAgICAgICAgJGN1cnNvci1kaXNhYmxlZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1pbmRpY2F0b3ItYmc6ICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtZGVzY3JpcHRpb24tY29sb3I6ICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1iZzogICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZm9jdXMtaW5kaWNhdG9yLWJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgM3B4ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1iZzogICAgICAgICBsaWdodGVuKCRicmFuZC1wcmltYXJ5LCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb246IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbmRpY2F0b3ItY29sb3I6ICRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pY29uOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWluZGljYXRvci1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8tcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWNoZWNrZWQtaWNvbjogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWNvbG9yfScvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJyYW5kLXByaW1hcnksIDI1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSksIDAgMCA1cHggcmdiYSgkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3Qtc20tcGFkZGluZy15OiAgLjJyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1zbS1mb250LXNpemU6ICA3NSUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAyLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtd2lkdGg6ICAgICAgICAgICAgMTRyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgLjA3NXJlbSAkd2hpdGUsIDAgMCAwIC4ycmVtICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAxLjUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICBpbnNldCAwIC4ycmVtIC40cmVtIHJnYmEoJGJsYWNrLC4wNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2Vzcy1jb2xvcjogJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXN1Y2Nlc3M6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGZvcm0taWNvbi1zdWNjZXNzLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1pY29uLXdhcm5pbmctY29sb3I6ICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGZvcm0taWNvbi13YXJuaW5nOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPScjeyRmb3JtLWljb24td2FybmluZy1jb2xvcn0nIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24tZGFuZ2VyLWNvbG9yOiAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGZvcm0taWNvbi1kYW5nZXI6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skZm9ybS1pY29uLWRhbmdlci1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZDk1MzRmJyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM0UlM0NjaXJjbGUgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbi10b3A6ICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAkZ3JheS1saWdodGVzdCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duLWJhY2tkcm9wOiAgOTkwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsLjUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1hY3RpdmUtY29sb3I6ICAgICAgICAgIHJnYmEoJHdoaXRlLDEpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGVyLWJnOiBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzIgMzInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWludmVyc2UtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA4aDI0TTQgMTZoMjRNNCAyNGgyNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZXItYm9yZGVyOiAgICAgICAgcmdiYSgkd2hpdGUsLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYmc6IHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMiAzMicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA4aDI0TTQgMTZoMjRNNCAyNGgyNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlcjogICAgICAgcmdiYSgkYmxhY2ssLjEpICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtaXRlbS1tYXJnaW46ICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kbmF2LWl0ZW0taW5saW5lLXNwYWNlcjogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgIC41ZW0gMWVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8gRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1pbmZvLWJnLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oJHN0YXRlLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJHN0YXRlLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAxcHggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcjogY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXN0ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoLWJhc2UgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIDVweCAxMHB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDogICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteTogICAgICAgICAgIDlweCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmFkZ2UtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRiYWRnZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJhZGdlLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYmFkZ2Utd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRiYWRnZS1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctc20tdXAtbWFyZ2luLXk6IDMwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICByZ2JhKCRibGFjaywuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQteHMtYm94LXNoYWRvdzogICAgMCAzcHggOXB4IHJnYmEoJGJsYWNrLC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LXNtLXVwLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6IDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS1saWdodGVzdCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWFjdGl2ZS1jb2xvcjogICAkbGlzdC1ncm91cC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstYWN0aXZlLWJnOiAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAjZGRkICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssLjA3NSkgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246ICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J000IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy15OiAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYmQ0MTQ3ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlc3QgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXN0ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcbiIsIkBtaXhpbiBob3ZlciB7XG4gIC8vIFRPRE86IHJlLWVuYWJsZSBhbG9uZyB3aXRoIG1xNC1ob3Zlci1zaGltXG4vLyAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuLy8gICAgLy8gU2VlIE1lZGlhIFF1ZXJpZXMgTGV2ZWwgNDogaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL21lZGlhcXVlcmllcy8jaG92ZXJcbi8vICAgIC8vIEN1cnJlbnRseSBzaGltbWVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL21xNC1ob3Zlci1zaGltXG4vLyAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuLy8gICAgICAmOmhvdmVyIHsgQGNvbnRlbnQgfVxuLy8gICAgfVxuLy8gIH1cbi8vICBAZWxzZSB7XG4gICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmZvY3VzIHsgQGNvbnRlbnQgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgQGlmICRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICYsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHsgQGNvbnRlbnQgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyLXk7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDIpICRzcGFjZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi5ibG9ja3F1b3RlLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6ICRibG9ja3F1b3RlLWJvcmRlci13aWR0aCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IC8vIG5ic3AsIGVtIGRhc2hcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0aHVtYm5haWwtdHJhbnNpdGlvbik7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNmb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZy15ICRjb2RlLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nLXkgJGNvZGUtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRjb2RlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cbn1cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cbn1cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcnM6ICRncmlkLWd1dHRlci13aWR0aHMpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1ndXR0ZXItd2lkdGhzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRndXR0ZXJzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJGd1dHRlcjogbWFwLWdldCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyczogJGdyaWQtZ3V0dGVyLXdpZHRocykge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICgkZ3V0dGVyIC8gLTIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAoJGd1dHRlciAvIC0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXJzOiAkZ3JpZC1ndXR0ZXItd2lkdGhzKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHB1bGwge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbmFtZSwgJG5hbWUsICRicmVha3BvaW50cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXJzOiAkZ3JpZC1ndXR0ZXItd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcblxuICAgIEBpbmNsdWRlIG1ha2UtZ3V0dGVycygkZ3V0dGVycyk7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9IHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJG1vZGlmaWVyIGluIChwdWxsLCBwdXNoKSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC4jeyRtb2RpZmllcn0jeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtbW9kaWZpZXIoJG1vZGlmaWVyLCAkaSwgJGNvbHVtbnMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC14cy0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcihvZmZzZXQsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbS1jZWxsLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWJnLWFjdGl2ZSk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChzdWNjZXNzLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChpbmZvLCAkc3RhdGUtaW5mby1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCh3YXJuaW5nLCAkc3RhdGUtd2FybmluZy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChkYW5nZXIsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIEludmVyc2Ugc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLnRoZWFkLWludmVyc2Uge1xuICB0aCB7XG4gICAgY29sb3I6ICR0YWJsZS1pbnZlcnNlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1pbnZlcnNlLWJnO1xuICB9XG59XG5cbi50aGVhZC1kZWZhdWx0IHtcbiAgdGgge1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgfVxufVxuXG4udGFibGUtaW52ZXJzZSB7XG4gIGNvbG9yOiAkdGFibGUtaW52ZXJzZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWludmVyc2UtYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9keS1iZztcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBBZGQgYC50YWJsZS1yZXNwb25zaXZlYCB0byBgLnRhYmxlYHMgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHkgYnlcbi8vIGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTAwNTdcblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICAvLyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNC5cbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgLy8gTWFudWFsbHkgdXNlIHRoZSBpZi9lbHNlIGluc3RlYWQgb2YgdGhlIG1peGluIHRvIGFjY291bnQgZm9yIGlPUyBvdmVycmlkZVxuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdW5kbyB0aGUgaU9TIGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgJHNlbGVjdC1ib3JkZXItd2lkdGg6ICgkYm9yZGVyLXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiBjYWxjKCN7JGlucHV0LWhlaWdodH0gKyAjeyRzZWxlY3QtYm9yZGVyLXdpZHRofSk7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgdGV4dCB0b1xuLy8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+YCBkZWZhdWx0XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gLSAjeyRpbnB1dC1idG4tYm9yZGVyLXdpZHRofSAqIDIpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219IC0gI3skaW5wdXQtYnRuLWJvcmRlci13aWR0aH0gKiAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSAtICN7JGlucHV0LWJ0bi1ib3JkZXItd2lkdGh9ICogMik7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuXG4vL1xuLy8gTGVnZW5kc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGVnZW5kIHRleHQgdG9cbi8vIGJlIHRoZSBzYW1lIHNpemUgYXMgcmVndWxhciBsYWJlbHMsIGFuZCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxlZ2VuZCB7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYW4gZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpbiBhXG4vLyBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAmLmRpc2FibGVkIHtcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuXG4gICY6b25seS1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbn1cblxuLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmZvcm0tY29udHJvbC1kYW5nZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LXBhZGRpbmcteCAqIDMpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgKCRpbnB1dC1oZWlnaHQgLyA0KTtcbiAgYmFja2dyb3VuZC1zaXplOiAoJGlucHV0LWhlaWdodCAvIDIpICgkaW5wdXQtaGVpZ2h0IC8gMik7XG59XG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC1zdWNjZXNzKTtcblxuICAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWljb24tc3VjY2VzcztcbiAgfVxufVxuXG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtd2FybmluZyk7XG5cbiAgLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZm9ybS1pY29uLXdhcm5pbmc7XG4gIH1cbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkYnJhbmQtZGFuZ2VyKTtcblxuICAuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZvcm0taWNvbi1kYW5nZXI7XG4gIH1cbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIGZvcm0gY29udHJvbHNcbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDsgLy8gRmxleGJveCBhbGlnbm1lbnQgbWVhbnMgd2UgbG9zZSBvdXIgSFRNTCBzcGFjZSBoZXJlLCBzbyB3ZSBjb21wZW5zYXRlLlxuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBfZm9ybXMuc2NzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbiAgLmZvcm0tY29udHJvbC1sYWJlbCxcbiAgLmNvbC1mb3JtLWxhYmVsLFxuICAuZm9ybS1jaGVjay1sYWJlbCxcbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAwIDAgNnB4IGxpZ2h0ZW4oJGNvbG9yLCAyMCUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgNDAlKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZm9jdXM7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdy1mb2N1cyk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRidG4tbGluZS1oZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgLy8gU2hhcmUgaG92ZXIgYW5kIGZvY3VzIHN0eWxlc1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAuNjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4uYnRuLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1iZywgJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbn1cbi5idG4taW5mbyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbn1cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5idG4td2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJhY2tncm91bmRzXG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1wcmltYXJ5LWJnKTtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1pbmZvLWJnKTtcbn1cbi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXN1Y2Nlc3MtYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4td2FybmluZy1iZyk7XG59XG4uYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLWRhbmdlci1iZyk7XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIC8vIEhvdmVyIGFuZCBmb2N1cyBzdHlsZXMgYXJlIHNoYXJlZFxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwIDJweCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6ICNmZmYpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuIiwiLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICYuc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnRyIHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cbn1cblxudGJvZHkge1xuICAmLmNvbGxhcHNlLnNob3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtd2lkdGg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIG1hcmdpbjogJGRyb3Bkb3duLW1hcmdpbi10b3AgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBSZWRlY2xhcmUgYmVjYXVzZSBuZXN0aW5nIGNhbiBjYXVzZSBpbmhlcml0YW5jZSBpc3N1ZXNcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogM3B4ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZDogbm9uZTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLnNob3cge1xuICAvLyBTaG93IHRoZSBtZW51XG4gID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gOmZvY3VzIGlzIHRyaWdnZXJlZFxuICA+IGEge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8gTWVudSBwb3NpdGlvbmluZ1xuLy9cbi8vIEFkZCBleHRyYSBjbGFzcyB0byBgLmRyb3Bkb3duLW1lbnVgIHRvIGZsaXAgdGhlIGFsaWdubWVudCBvZiB0aGUgZHJvcGRvd25cbi8vIG1lbnUgd2l0aCB0aGUgcGFyZW50LlxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG59XG5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd24tYmFja2Ryb3A7XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cblxuLmRyb3B1cCB7XG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLW1hcmdpbi10b3A7XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoJHNwYWNlci15IC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb24gdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaW5wdXQgaXMgYWx3YXlzIGFib3ZlIHRoZSAqYXBwZW5kZWQqIGFkZG9uIGJ1dHRvbiBmb3JcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAvLyBBZGQgd2lkdGggMSUgYW5kIGZsZXgtYmFzaXMgYXV0byB0byBlbnN1cmUgdGhhdCBidXR0b24gd2lsbCBub3Qgd3JhcCBvdXRcbiAgICAvLyB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFIEVkZ2UrIGFuZCBGaXJlZm94LiBDaHJvbWUgZG9lcyBub3QgcmVxdWlyZSB0aGlzLlxuICAgIHdpZHRoOiAxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSBmcm9udFxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAvLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGNvbnRlbnQgb2YgdGhlIGFkZG9ucyB3aXRoaW4gdGhlIGlucHV0IGdyb3VwXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG5cbi8vIFNpemluZyBvcHRpb25zXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtbGc7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtc207XG59XG5cblxuLy9cbi8vIFRleHQgaW5wdXQgZ3JvdXBzXG4vL1xuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBTaXppbmdcbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG4gIH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cblxuXG4vL1xuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4vL1xuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5mb3JtLWNvbnRyb2wgKyAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy9cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vXG5cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gVmVydGljYWxseSBzdHJldGNoIHRoZSBidXR0b24gYW5kIGNlbnRlciBpdHMgY29udGVudFxuICAgIGZsZXg6IDE7XG5cbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgc2luZ2xlLCBzaGFyZWQgYm9yZGVyIGJldHdlZW4gdGhlIHR3b1xuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbiAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgICAgLy8gQmVjYXVzZSBzcGVjaWZpY2l0eVxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFByb3BlcnR5Q291bnRcblxuLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWluLWhlaWdodDogKDFyZW0gKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93O1xuICB9XG5cbiAgJjphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1jdXJzb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtaW5kaWNhdG9yLWJnO1xuICAgIH1cblxuICAgIH4gLmN1c3RvbS1jb250cm9sLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtZGVzY3JpcHRpb24tY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1jdXJzb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBpbmRpY2F0b3Jcbi8vXG4vLyBHZW5lcmF0ZXMgYSBzaGFkb3cgZWxlbWVudCB0byBjcmVhdGUgb3VyIG1ha2VzaGlmdCBjaGVja2JveC9yYWRpbyBiYWNrZ3JvdW5kLlxuXG4uY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMik7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xufVxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb247XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8tY2hlY2tlZC1pY29uO1xuICB9XG59XG5cblxuLy8gTGF5b3V0IG9wdGlvbnNcbi8vXG4vLyBCeSBkZWZhdWx0IHJhZGlvcyBhbmQgY2hlY2tib3hlcyBhcmUgYGlubGluZS1ibG9ja2Agd2l0aCBubyBhZGRpdGlvbmFsIHNwYWNpbmdcbi8vIHNldC4gVXNlIHRoZXNlIG9wdGlvbmFsIGNsYXNzZXMgdG8gdHdlYWsgdGhlIGxheW91dC5cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAuY3VzdG9tLWNvbnRyb2wge1xuICAgIG1hcmdpbi1ib3R0b206ICRjdXN0b20tY29udHJvbC1zcGFjZXIteTtcblxuICAgICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHA6Ly9wcmltZXJjc3MuaW8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAkc2VsZWN0LWJvcmRlci13aWR0aDogKCRib3JkZXItd2lkdGggKiAyKTtcbiAgaGVpZ2h0OiBjYWxjKCN7JGlucHV0LWhlaWdodH0gKyAjeyRzZWxlY3QtYm9yZGVyLXdpZHRofSk7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMpO1xuICAvLyBVc2UgdmVuZG9yIHByZWZpeGVzIGFzIGBhcHBlYXJhbmNlYCBpc24ndCBwYXJ0IG9mIHRoZSBDU1Mgc3BlYy5cbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1zbS1mb250LXNpemU7XG5cbiAgLy8gJjpub3QoW211bHRpcGxlXSkge1xuICAvLyAgIGhlaWdodDogMjZweDtcbiAgLy8gICBtaW4taGVpZ2h0OiAyNnB4O1xuICAvLyB9XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgbWluLXdpZHRoOiAkY3VzdG9tLWZpbGUtd2lkdGg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDApO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdyk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteCAkY3VzdG9tLWZpbGUtcGFkZGluZy15O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1maWxlLWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICBAZWFjaCAkbGFuZywgJHRleHQgaW4gbWFwLWdldCgkY3VzdG9tLWZpbGUtdGV4dCwgcGxhY2Vob2xkZXIpIHtcbiAgICAmOmxhbmcoI3skbGFuZ30pOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdGV4dDtcbiAgICB9XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoO1xuICAgIHJpZ2h0OiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICBib3R0b206IC0kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXggJGN1c3RvbS1maWxlLXBhZGRpbmcteTtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tYmc7XG4gICAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR0ZXh0IGluIG1hcC1nZXQoJGN1c3RvbS1maWxlLXRleHQsIGJ1dHRvbi1sYWJlbCkge1xuICAgICY6bGFuZygjeyRsYW5nfSk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkdGV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1jb2xvcjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICAgIC40MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtO1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IC8vIFByZXZlbnQgdG9nZ2xlciBmcm9tIGdyb3dpbmcgdG8gZnVsbCB3aWR0aCB3aGVuIGl0J3MgdGhlIG9ubHkgdmlzaWJsZSBuYXZiYXIgY2hpbGRcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItdG9nZ2xlci1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIFVzZSBgcG9zaXRpb25gIG9uIHRoZSB0b2dnbGVyIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvIHBsYWNlZCBhcyBhIGZsZXhcbi8vIGl0ZW0gYW5kIGFsbG93IGVhc3kgcGxhY2VtZW50LlxuLm5hdmJhci10b2dnbGVyLWxlZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRuYXZiYXItcGFkZGluZy14O1xufVxuLm5hdmJhci10b2dnbGVyLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci10b2dnbGVhYmxlLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIEltcG9ydGFudFJ1bGVcblxuICAgICAgICAubmF2YmFyLXRvZ2dsZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCxcbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcGVuID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLm9wZW4sXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXI7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1saWdodC10b2dnbGVyLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgfVxufVxuXG4vLyBXaGl0ZSBsaW5rcyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kXG4ubmF2YmFyLWludmVyc2Uge1xuICAubmF2YmFyLWJyYW5kLFxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcGVuID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLm9wZW4sXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZXItYm9yZGVyO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItaW52ZXJzZS10b2dnbGVyLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1ibG9jayB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi5jYXJkIHtcbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLXRvcDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG4gIG1hcmdpbi1sZWZ0OiAtKCRjYXJkLXNwYWNlci14IC8gMik7XG59XG5cblxuLy9cbi8vIEJhY2tncm91bmQgdmFyaWF0aW9uc1xuLy9cblxuLmNhcmQtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtcHJpbWFyeSwgJGJyYW5kLXByaW1hcnkpO1xufVxuLmNhcmQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtc3VjY2VzcywgJGJyYW5kLXN1Y2Nlc3MpO1xufVxuLmNhcmQtaW5mbyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuLmNhcmQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtdmFyaWFudCgkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcpO1xufVxuLmNhcmQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1kYW5nZXIsICRicmFuZC1kYW5nZXIpO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJhY2tncm91bmRzXG4uY2FyZC1vdXRsaW5lLXByaW1hcnkge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmNhcmQtb3V0bGluZS1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmNhcmQtb3V0bGluZS1pbmZvIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1pbmZvLWJnKTtcbn1cbi5jYXJkLW91dGxpbmUtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLXdhcm5pbmcge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xufVxuLmNhcmQtb3V0bGluZS1kYW5nZXIge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWRhbmdlci1iZyk7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuLmNhcmQtaW52ZXJzZSB7XG4gIEBpbmNsdWRlIGNhcmQtaW52ZXJzZTtcbn1cblxuLy9cbi8vIEJsb2NrcXVvdGVcbi8vXG5cbi5jYXJkLWJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nIHtcbiAgLy8gbWFyZ2luOiAtMS4zMjVyZW07XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG5cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lcik7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtZGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgLy8gU2VsZWN0aXZlbHkgYXBwbHkgaG9yaXpvbnRhbCBtYXJnaW5zIHRvIGNhcmRzIHRvIGF2b2lkIGRvaW5nIHRoZVxuICAgICAgLy8gbmVnYXRpdmUgbWFyZ2luIGRhbmNlIGxpa2Ugb3VyIGdyaWQuIFRoaXMgZGlmZmVycyBmcm9tIHRoZSBncmlkXG4gICAgICAvLyBkdWUgdG8gdGhlIHVzZSBvZiBtYXJnaW5zIGFzIGd1dHRlcnMgaW5zdGVhZCBvZiBwYWRkaW5nLlxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjsgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBDYXJkIHZhcmlhbnRzXG5cbkBtaXhpbiBjYXJkLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNhcmQtb3V0bGluZS12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG5cbi8vXG4vLyBJbnZlcnNlIHRleHQgd2l0aGluIGEgY2FyZCBmb3IgdXNlIHdpdGggZGFyayBiYWNrZ3JvdW5kc1xuLy9cblxuQG1peGluIGNhcmQtaW52ZXJzZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XG5cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gIH1cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLXRpdGxlLFxuICAuY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FyZC1saW5rLFxuICAuY2FyZC10ZXh0LFxuICAuY2FyZC1zdWJ0aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XG4gIH1cbiAgLmNhcmQtbGluayB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjYXJkLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLy8gMS0yOiBEaXNhYmxlIGJyb3dzZXIgZGVmYXVsdCBsaXN0IHN0eWxlc1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIDFcbiAgbGlzdC1zdHlsZTogbm9uZTsgLy8gMlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkOyAvLyBXaGlsZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIHJlbW92ZXMgdGhlIGN1cnNvciBpbiBtb2Rlcm4gYnJvd3NlcnMsIHdlIHByb3ZpZGUgYSBkaXNhYmxlZCBjdXJzb3IgYXMgYSBmYWxsYmFjay5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgfVxufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbi8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbmEuYmFkZ2Uge1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG4uYmFkZ2UtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJhZGdlLWRlZmF1bHQtYmcpO1xufVxuXG4uYmFkZ2UtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJhZGdlLXByaW1hcnktYmcpO1xufVxuXG4uYmFkZ2Utc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJhZGdlLXN1Y2Nlc3MtYmcpO1xufVxuXG4uYmFkZ2UtaW5mbyB7XG4gIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJhZGdlLWluZm8tYmcpO1xufVxuXG4uYmFkZ2Utd2FybmluZyB7XG4gIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJGJhZGdlLXdhcm5pbmctYmcpO1xufVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkYmFkZ2UtZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIEJhZGdlc1xuXG5AbWl4aW4gYmFkZ2UtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkanVtYm90cm9uLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgcGFkZGluZzogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDIpICRqdW1ib3Ryb24tcGFkZGluZztcbiAgfVxufVxuXG4uanVtYm90cm9uLWhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRqdW1ib3Ryb24tYmcsIDEwJSk7XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtJGFsZXJ0LXBhZGRpbmcteTtcbiAgICByaWdodDogLSRhbGVydC1wYWRkaW5nLXg7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtc3VjY2Vzcy1iZywgJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLCAkYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cbi5hbGVydC1pbmZvIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtaW5mby1iZywgJGFsZXJ0LWluZm8tYm9yZGVyLCAkYWxlcnQtaW5mby10ZXh0KTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtd2FybmluZy1iZywgJGFsZXJ0LXdhcm5pbmctYm9yZGVyLCAkYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cbi5hbGVydC1kYW5nZXIge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1kYW5nZXItYmcsICRhbGVydC1kYW5nZXItYm9yZGVyLCAkYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkYm9keS1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGJvZHktY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzIGFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIEJhc2ljIHByb2dyZXNzIGJhclxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGZvbnQtc2l6ZTogJHByb2dyZXNzLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cbi5wcm9ncmVzcy1iYXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xufVxuXG4vLyBTdHJpcGVkXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG4vLyBBbmltYXRlZFxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChzdWNjZXNzLCAkc3RhdGUtc3VjY2Vzcy1iZywgJHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvLCAkc3RhdGUtaW5mby1iZywgJHN0YXRlLWluZm8tdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCh3YXJuaW5nLCAkc3RhdGUtd2FybmluZy1iZywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5AaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudChkYW5nZXIsICRzdGF0ZS1kYW5nZXItYmcsICRzdGF0ZS1kYW5nZXItdGV4dCk7XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDIxKTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDE2KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgzIC8gNCk7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMWJ5MSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMSAvIDEpO1xuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogJGNsb3NlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjc1O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAmLnNob3cgLm1vZGFsLWRpYWxvZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LXhzLWJveC1zaGFkb3cpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlciBpdFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHNob3VsZCB0aGVyZSBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuXG4gIC8vIEVhc2lseSBwbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogLjI1cmVtOyB9XG4gID4gOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctc20tdXAtbWFyZ2luLXkgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LXNtLXVwLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgJi50b29sdGlwLXRvcCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ge1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLW1hcmdpbjtcblxuICAgIC50b29sdGlwLWlubmVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi50b29sdGlwLXJpZ2h0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQge1xuICAgIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICR0b29sdGlwLW1hcmdpbjtcblxuICAgIC50b29sdGlwLWlubmVyOjpiZWZvcmUge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1ib3R0b20sXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIHtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIG1hcmdpbi10b3A6ICR0b29sdGlwLW1hcmdpbjtcblxuICAgIC50b29sdGlwLWlubmVyOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi50b29sdGlwLWxlZnQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHBvcG92ZXItaW5uZXItcGFkZGluZztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuXG4gIC8vIFBvcG92ZXIgZGlyZWN0aW9uc1xuXG4gICYucG9wb3Zlci10b3AsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLXJpZ2h0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSAxKTtcbiAgICAgIG1hcmdpbi10b3A6IC0oJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGggLSAxKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogLSgkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aCAtIDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xuICAgIH1cblxuICAgIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItdGl0bGUncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgICAucG9wb3Zlci10aXRsZTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwb3BvdmVyLXRpdGxlLWJnO1xuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1sZWZ0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBtYXJnaW4tdG9wOiAtKCRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoIC0gMSk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci10aXRsZSB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteSAkcG9wb3Zlci10aXRsZS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci10aXRsZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci10aXRsZS1iZywgNSUpO1xuICAkb2Zmc2V0LWJvcmRlci13aWR0aDogY2FsYygjeyRib3JkZXItcmFkaXVzLWxnfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRvZmZzZXQtYm9yZGVyLXdpZHRoKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteSAkcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDtcbn1cblxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAucG9wb3Zlci1hcnJvdyBpcyBvdXRlciwgLnBvcG92ZXItYXJyb3c6OmFmdGVyIGlzIGlubmVyXG5cbi5wb3BvdmVyOjpiZWZvcmUsXG4ucG9wb3Zlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4ucG9wb3Zlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cbi5wb3BvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBpZi1zdXBwb3J0cy0zZC10cmFuc2Zvcm1zKCkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLy8gQ1NTMyB0cmFuc2Zvcm1zIHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyXG5AaW5jbHVkZSBpZi1zdXBwb3J0cy0zZC10cmFuc2Zvcm1zKCkge1xuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tbmV4dCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0tcHJldixcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIC8vIFdlIGNhbid0IGhhdmUgYSB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6IC45O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZywgLjUpO1xuXG4gICAgLy8gVXNlIHBzZXVkbyBjbGFzc2VzIHRvIGluY3JlYXNlIHRoZSBoaXQgYXJlYSBieSAxMHB4IG9uIHRvcCBhbmQgYm90dG9tLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMik7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gQXBwbGllcyB0aGUgZ2l2ZW4gc3R5bGVzIG9ubHkgd2hlbiB0aGUgYnJvd3NlciBzdXBwb3J0IENTUzMgM0QgdHJhbnNmb3Jtcy5cbkBtaXhpbiBpZi1zdXBwb3J0cy0zZC10cmFuc2Zvcm1zKCkge1xuICBAbWVkaWEgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgLy8gT2xkIFNhZmFyaSwgT2xkIEFuZHJvaWRcbiAgICAvLyBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWZlYXR1cmVxdWVyaWVzXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0BtZWRpYS8td2Via2l0LXRyYW5zZm9ybS0zZFxuICAgIEBjb250ZW50O1xuICB9XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSkge1xuICAgIC8vIFRoZSBQcm9wZXIgV2F5OiBVc2luZyBhIENTUyBmZWF0dXJlIHF1ZXJ5XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvL1xuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy9cblxuLmJnLWZhZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRib2R5LWJnLCAzJSk7XG59XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRicmFuZC1zdWNjZXNzKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJGJyYW5kLXdhcm5pbmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJGJyYW5kLWRhbmdlcik7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbnZlcnNlJywgJGJyYW5kLWludmVyc2UpO1xuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbi5yb3VuZGVkLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4ucm91bmRlZC1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG59XG4ucm91bmRlZC1sZWZ0IHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi8vXG4vLyBEaXNwbGF5IHV0aWxpdGllc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmQjeyRpbmZpeH0tbm9uZSAgICAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lICAgICAgIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWJsb2NrICAgICAgICB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS10YWJsZSAgICAgICAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tdGFibGUtY2VsbCAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0taW5saW5lLWZsZXggIHsgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tZmlyc3QgICAgIHsgb3JkZXI6IC0xOyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbGFzdCAgICAgIHsgb3JkZXI6IDE7IH1cbiAgICAuZmxleCN7JGluZml4fS11bm9yZGVyZWQgeyBvcmRlcjogMDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgQGluY2x1ZGUgZmxvYXQtbGVmdDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgQGluY2x1ZGUgZmxvYXQtbm9uZTsgfVxuICB9XG59XG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFBvc2l0aW9uaW5nXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4iLCIvLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGhzIGluICRzcGFjZXJzIHtcbiAgICAgICAgJGxlbmd0aC14OiBtYXAtZ2V0KCRsZW5ndGhzLCB4KTtcbiAgICAgICAgJGxlbmd0aC15OiBtYXAtZ2V0KCRsZW5ndGhzLCB5KTtcblxuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSAgeyAjeyRwcm9wfTogICAgICAgICRsZW5ndGgteSAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfS10b3A6ICAgICRsZW5ndGgteSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9LXJpZ2h0OiAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfS1sZWZ0OiAgICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGgteCAhaW1wb3J0YW50O1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogICAgJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvICB7IG1hcmdpbjogICAgICAgIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvIHsgbWFyZ2luLXRvcDogICAgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8geyBtYXJnaW4tcmlnaHQ6ICBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvIHsgbWFyZ2luLWxlZnQ6ICAgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogIGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogICAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFRleHRcbi8vXG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsOyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkOyB9XG4uZm9udC1pdGFsaWMgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1tdXRlZCcsICR0ZXh0LW11dGVkKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXN1Y2Nlc3MnLCAkYnJhbmQtc3VjY2Vzcyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJGJyYW5kLXdhcm5pbmcpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWRhbmdlcicsICRicmFuZC1kYW5nZXIpO1xuXG4vLyBGb250IGNvbG9yXG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZ3JheS1kYXJrJywgJGdyYXktZGFyayk7XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59IiwiLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4uaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgaW52aXNpYmxlKCk7XG59XG5cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSB1dGlsaXRpZXNcblxuQGVhY2ggJGJwIGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC5oaWRkZW4tI3skYnB9LXVwIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuaGlkZGVuLSN7JGJwfS1kb3duIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCJodG1sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxufVxyXG5ib2R5IHtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIC8qIE1hcmdpbiBib3R0b20gYnkgZm9vdGVyIGhlaWdodCAqL1xyXG4gIG1hcmdpbi1ib3R0b206IDEzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgY29sb3I6IHJnYmEgKDAsIDAsIDAsIC41KTtcclxufVxyXG5cclxucCB7XHJcbiAgY29sb3I6IHJnYmEgKDAsIDAsIDAsIC41KTtcclxufVxyXG5cclxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNSwgaDYsIC5oNiB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6ICRwd25kLWJsdWU7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJHB3bmQtbHQtYmx1ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5kaXZpZGVyIHtcclxuICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHduZC1waW5rO1xyXG59XHJcblxyXG5pbWcuYWxpZ25yaWdodCB7ZmxvYXQ6cmlnaHQ7IG1hcmdpbjowIDAgMWVtIDFlbX1cclxuaW1nLmFsaWdubGVmdCB7ZmxvYXQ6bGVmdDsgbWFyZ2luOjAgMWVtIDFlbSAwfVxyXG5pbWcuYWxpZ25jZW50ZXIge2Rpc3BsYXk6IGJsb2NrOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvfVxyXG5hIGltZy5hbGlnbnJpZ2h0IHtmbG9hdDpyaWdodDsgbWFyZ2luOjAgMCAxZW0gMWVtfVxyXG5hIGltZy5hbGlnbmxlZnQge2Zsb2F0OmxlZnQ7IG1hcmdpbjowIDFlbSAxZW0gMH1cclxuYSBpbWcuYWxpZ25jZW50ZXIge2Rpc3BsYXk6IGJsb2NrOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvfVxyXG5cclxuLmNvbnRlbnQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5oZWFkZXItYmcge1xyXG4gIG1pbi1oZWlnaHQ6IDE3NXB4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1ncy9wd25ib3QtdGlsZS5wbmcnKTtcclxufVxyXG5cclxuLm1haW4taW1hZ2Uge1xyXG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG4ucHduZC1rZXkge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMjRweDtcclxuICBtYXgtaGVpZ2h0OiAxMDc1cHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1ncy9wd25zdGFjay5wbmdcIik7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNTBweDtcclxuICB9XHJcbiAgaDEge1xyXG4gICAgY29sb3I6ICNlZmVmZWY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufVxyXG5cclxuLnB3bmQtaW5mbyB7XHJcbiAgbWluLWhlaWdodDogMzUwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1ncy9zcGxpY2UtYmcucG5nXCIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDUwJTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG4gIGgzIHtcclxuICAgIGNvbG9yOiAjZWZlZmVmO1xyXG4gIH1cclxufVxyXG5cclxuLnB3bmQtYnV5IHtcclxuICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWdzL2hhbmstYmcucG5nXCIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcclxuICBwIHtcclxuICAgIGNvbG9yOiAjZWZlZmVmO1xyXG4gIH1cclxuICAgIGg0IHtcclxuICAgIGNvbG9yOiAjZWZlZmVmO1xyXG4gIH1cclxufVxyXG5cclxuLnB3bmQtc2lnbnVwIHtcclxuICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWdzL2l0by1iZy5wbmdcIik7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgcCB7XHJcbiAgICBjb2xvcjogI2VmZWZlZjtcclxuICB9XHJcbiAgICBoNCB7XHJcbiAgICBjb2xvcjogI2VmZWZlZjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uY2FyZCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ubmV3cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLm5hdmJhciB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAmLXRvZ2dsZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB3bmQtd2hpdGU7XHJcbiAgfVxyXG59XHJcbi5uYXZiYXItaW52ZXJzZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcclxuICAubmF2YmFyLW5hdiB7XHJcbiAgICAubmF2LWxpbmsge1xyXG4gICAgICBjb2xvcjogI2VmZWZlZjtcclxuICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHB3bmQtcGluaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjdGl2ZSB7XHJcbiAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRwd25kLXBpbms7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXYtbGluayB7XHJcbiAgY29sb3I6ICRwd25kLXBpbms7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgY29sb3I6ICRwd25kLXdoaXRlO1xyXG4gICYtcHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHduZC1ibHVlO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwd25kLWx0LWJsdWU7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwd25kLWx0LWJsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtc2Vjb25kYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwd25kLXBpbms7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB3bmQtbHQtcGluaztcclxuICAgICAgY29sb3I6ICRwd25kLXdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm92ZXJsYXkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjY1KTtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGNvbG9yOiAkcHduZC13aGl0ZTtcclxufVxyXG5cclxuLmZvb3RlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICAvKiBTZXQgdGhlIGZpeGVkIGhlaWdodCBvZiB0aGUgZm9vdGVyIGhlcmUgKi9cclxuICBoZWlnaHQ6IDEzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgY29sb3I6ICNlZmVmZWY7XHJcbiAgLmZvb3Rlci1kaXNjdXNzaW9uIHtcclxuICAgIEBleHRlbmQgLnRleHQtcmlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZW50cnktZGF0ZSB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjM1KTtcclxuICBmb250LXNpemU6IDEuMjtcclxufVxyXG5cclxuLmhlYWRlci13aGl0ZSB7XHJcbiAgY29sb3I6ICRwd25kLXdoaXRlO1xyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgYm9keSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweDtcclxuICB9XHJcblxyXG4ubWFpbi1pbWFnZSwgLm1haW4taW1hZ2UtYXJjaGl2ZSB7XHJcbiAgbWluLWhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbiAgLnB3bmQta2V5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogNjAwcHg7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnB3bmQtYnV5IHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICB9XHJcblxyXG4gIC5wd25kLXNpZ251cCB7XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyIHtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAuZm9vdGVyLWRpc2N1c3Npb24ge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5mb290ZXItbGVnYWwge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIiwiJHB3bmQtd2hpdGU6IFx0XHQjZWZlZmVmO1xyXG4kcHduZC1ibGFjazogXHRcdCMyMjIyMjI7XHJcbiRwd25kLWJsdWU6IFx0XHQjNEE2NUQzO1xyXG4kcHduZC1sdC1ibHVlOiBcdFx0IzQzNzBGRjtcclxuJHB3bmQtZGstYmx1ZTpcdFx0IzMwM0Y5RjtcclxuJHB3bmQtcGluazpcdFx0XHQjRjU0RUEyO1xyXG4kcHduZC1sdC1waW5rOlx0XHQjRkYyNzlFO1xyXG4kcHduZC1kay1waW5rOlx0XHQjRDMwMDdFOyJdfQ== */
